HTML è considerato un linguaggio di programmazione? [chiuso]


184

Immagino che la domanda sia autoesplicativa, ma mi chiedo se HTML si qualifichi come linguaggio di programmazione (ovviamente la "L" sta per linguaggio).

Il motivo per cui è stato chiesto è più pragmatico: sto mettendo insieme un curriculum e non voglio sembrare un pazzo per elencare cose come HTML e XML in linguaggi, ma non riesco a capire come classificarli.


28
Forse non dovresti chiamarlo linguaggi di programmazione ma semplicemente linguaggi , tecnologie , esperienza o abilità .
Gumbo,

5
Ciao. Sto usando Java EE e sto programmando in XML, sembra ...
Whirlwin

4
No, i linguaggi di programmazione dovrebbero essere completi. HTML non è completo.
Arunav Sanyal,

2
L'HTML è simile ai fogli musicali perforati inseriti in un piano automatico, per i browser. In un certo senso è il linguaggio di programmazione del browser, cioè indica al browser cosa mostrare. Molte lingue oggigiorno hanno costrutti lambda di alto livello come LINQ in C # che dicono al computer cosa non fare. L'evoluzione dei linguaggi di programmazione si sta muovendo verso una natura più dichiarativa, ne sono evidenti linguaggi come Kotlin.
aggaton

Come curiosità, la Regola 110 è stata implementata usando CSS 3 ed è stato dimostrato che Turing è completo.
aggaton

Risposte:


463

No, HTML non è un linguaggio di programmazione. La "M" sta per "Markup". In generale, un linguaggio di programmazione consente di descrivere una sorta di processo per fare qualcosa, mentre HTML è un modo per aggiungere contesto e struttura al testo.

Se stai cercando di aggiungere altra zuppa di alfabeto al tuo CV, non classificarli affatto. Inseriscili in una grande pila chiamata "Tecnologie" o come preferisci. Ricorda, tuttavia, che qualsiasi cosa tu elenchi sia un gioco equo per una domanda.

L'HTML è così comune che mi aspetto che quasi tutti gli esperti di tecnologia lo sappiano già (anche se non cose come i CSS e così via), quindi potresti considerare di non elencare tutti gli inizialismi che hai mai incontrato. Tendo a considerare i CV che elencano troppe cose come sospette, quindi faccio più domande per eliminare le cose che non dovrebbero essere elencate. :)

Tuttavia, se la tua esperienza HTML include seri elementi di web design tra cui Ajax, JavaScript e così via, potresti parlarne nella sezione "Esperienza".


38
+1 per averlo definito un'inizializzazione anziché un acronimo
Jason,

15
TeX è un linguaggio completo di Turing, quindi la sua classificazione come linguaggio di programmazione o linguaggio di markup è un po 'sfocata. :)
mipadi,

7
Apparentemente, anche HTML5 + CSS3 è in fase di completamento: lemire.me/blog/archives/2011/03/08/…
e-satis

3
Ho usato LaTeX come competenza, ma perché è importante in alcuni settori. :)
brian d foy,

7
@SarahofGaia è un acronimo quando dici le lettere come se fosse una parola (ad esempio, la NASA) in cui un'inizializzazione è dove dici ogni singola lettera (ad esempio, HTML). È una differenza sottile, ma comunque.
Jason,

64

SÌ, un linguaggio di programmazione dichiarativo.

Vuoi davvero elencare le cose più importanti che sai che sono relative al lavoro che stai candidando sul tuo curriculum. Se si elenca ASP.NET ma non si elenca HTML, anche se è in qualche modo ovvio, ci sono molti gestori e / o tipi di risorse umane che presumono che tu non conosca HTML poiché non è elencato. L'ho già successo a me prima.

Aggiornamento - Alcuni dicono di no che non è un linguaggio di programmazione e potresti non essere d'accordo con me su questo, ma a prescindere da un curriculum È un linguaggio di programmazione. Ottieni tipi di risorse umane che guardano il tuo curriculum prima ancora che il responsabile delle assunzioni lo veda. Se il gestore dice che devi conoscere l'HTML e non è elencato nella sezione "linguaggi di programmazione", la persona delle risorse umane potrebbe ignorare la tua ripresa pensando di non conoscerla perché non è elencata.

Aggiornamento 6-8-2012: qualsiasi istruzione che indichi al computer di fare qualcosa è un linguaggio di programmazione. Quindi, anche dopo tutti questi anni, rispondo ancora alla mia risposta. HTML è un linguaggio di programmazione. Qualcosa che non è un linguaggio di programmazione sarebbe XML.


16
Se hello world è un programma, le pagine html sono programmi, poiché sono semplicemente un mondo hello più complesso. Ergo, html è un linguaggio di programmazione, in quanto istruisce il computer su cosa fare. Sono con questo ragazzo.
spazio libero

17
Non vero. Anche ciao mondo ha la logica in esso. Solo perché il tuo IDE preferito prepara la struttura del programma necessaria sotto le copertine o sono necessarie solo poche parole chiave per stampare sull'output, c'è logica al lavoro. Sono d'accordo con Chris qui per quanto riguarda le risorse umane.
Ed S.

40
@freespace - per definizione, quasi tutto è un linguaggio di programmazione, il che lo rende una classificazione praticamente inutile.
Kaz Dragon

20
@freespace: tale argomento è una sciocchezza. È essenzialmente lo stesso di dire: i cani hanno la pelliccia. I gatti hanno la pelliccia. Pertanto, i gatti sono cani.
James Curran,

8
@ChrisPietschmann dichiarative, sì. Programmazione, n. Come scriverai un ciclo in HTML?
Thorbjørn Ravn Andersen,


22

Ad un certo livello Chris Pietschmann ha ragione. SQL non è Turing completo (almeno senza procedure memorizzate), tuttavia le persone lo elencheranno come linguaggio, TeX è Turing completo, ma la maggior parte delle persone lo considera un linguaggio di markup.

Detto questo: se stai solo facendo domanda per un lavoro, non discutendo di logica formale, li elencherei tutti come tecnologie. Cose come .NET non sono lingue ma probabilmente verrebbero anche elencate.


2
"tuttavia la gente lo elencherà come linguaggio", sicuramente, come linguaggio di query, non di programmazione.
Andrej Istomin,

@AndrejIstomin Non ho visto che non stai parlando di HTML, ma di SQL, scusa.
Karl Richter,

14

La "M" sta per "Markup". È un "linguaggio di markup" non un linguaggio di programmazione. Alcune persone non saranno d'accordo con questo, ma la mia opinione è che se manca costrutti logici (diramazione condizionale, iterazione, ecc.) Non è proprio un linguaggio di programmazione.

Per quanto riguarda il curriculum, suggerirei di inserire HTML e XML in una sezione come "Tecnologie". Di solito ho una sezione come questa in cui elenco cose come il software di controllo versione, i sistemi operativi per cui ho sviluppato, la creazione di sistemi, ecc.


1
Prolog non ha loop. Molte lingue funzionali devono ricorrere alla ricorsione.
aggaton

13

Penso non esattamente un linguaggio di programmazione, ma esattamente ciò che dice il suo nome: un linguaggio di markup. Non possiamo programmare usando solo HTML puro. Ma basta annotare come presentare il contenuto.

Ma se consideri la programmazione dell'atto di dire al computer come presentare i contenuti, è un linguaggio di programmazione.


2
"Ma se consideri la programmazione dell'atto di dire al computer come presentare i contenuti, è un linguaggio di programmazione." A quel punto, si potrebbe anche chiamare tutto ciò che è programmato perché questo è fondamentalmente la causalità. xD

13

Se hai intenzione di dire che l'HTML è un linguaggio di programmazione, potresti anche includere elementi come documenti Word, poiché anch'essi sono basati su ML o "Markup Language".

Quindi no, HTML non è un linguaggio di programmazione. Si chiama "markup" per questo motivo.

In poche parole, l'HTML definisce il contenuto!


2
In che modo <b> questo è in grassetto </b> comparabile a questo è in grassetto ? Se HTML non è un linguaggio di programmazione, va bene, ma funziona con HTML! = Funziona con documenti Word.
dpp

2
Word è un'applicazione. I file Rich Text o i vari altri file prodotti da word potrebbero essere (e sono) considerati lingue specifiche del dominio. E se conosci RTF o qualsiasi altro markup complesso (specialmente alcuni dei più vecchi formati basati su binari, dovresti essere felice di metterlo nel tuo curriculum. Quelle bestie diventano piuttosto complesse.)
Matthew Whited,

L'HTML è un linguaggio di programmazione - per quanto sia semplice, rientra ancora nel termine generale del linguaggio di programmazione. Come ho detto prima, molto spesso in Word si configura manualmente ciò che è un paragrafo o un'intestazione ecc. In HTML si "automatizza" il processo dicendo / istruendo il browser a fare qualcosa un'intestazione o un paragrafo (insieme a tutte le altre istruzioni che sono a disposizione). La programmazione può essere molto semplice o molto complessa. Non esiste un parametro impostato per la complessità di qualcosa che deve essere "programmazione". È semplice essere qualcosa che fa fare qualcosa a qualcosa ...
Cheesus Toast,

10

Penso che abbia sicuramente il suo posto su un curriculum. La conoscenza dell'HTML è preziosa e c'è davvero molto da sapere sui problemi di compatibilità tra browser e gli standard da seguire.

Non elencherei HTML sotto "linguaggi di programmazione" insieme a C # o qualcosa del genere, ma vale la pena notare la tua esperienza.


9

Nella classe di linguaggi di programmazione avanzata che ho seguito al college, abbiamo avuto quella che penso sia una definizione abbastanza buona di "linguaggio di programmazione": un linguaggio di programmazione è qualsiasi linguaggio (formale) in grado di esprimere tutte le funzioni calcolabili, che la tesi di Church-Turing implica è l'insieme di tutte le funzioni calcolabili di Turing.

In base a tale definizione, no, HTML non è un linguaggio di programmazione, neppure dichiarativo. È, come altri hanno spiegato, un linguaggio di markup.

Ma alle persone che stanno recensendo il tuo curriculum potrebbe benissimo non interessarsi di una tale distinzione formale. Seguirei i buoni consigli forniti da altri e li elencherei in una sezione "Tecnologie".


Definizione non così buona perché C non è Turing completo mentre HTML5 + CSS3 lo sono, quindi direi che HTML non è un linguaggio di programmazione "generale", ma solo altamente specializzato.
Serge

3
@Serge In che senso significativo C non è completo di Turing, ma HTML5 + CSS3 lo sono?
Michael Ekstrand,

la ram disponibile di C è limitata a 2 ** num_bits (size_t) a seconda dello standard e l'implementazione potrebbe variare, probabilmente esistono alcune lacune, ma supponiamo che la completezza di C di Turing sia dubbia. La prova della completezza di HMTL + CSS su stackoverflow prevede un certo livello di coinvolgimento umano, quindi probabilmente non convincente al 100%. In entrambi i casi si trovano lingue altamente improbabili dall'animazione di Powerpoint alla notazione musicale Turing Complete gwern.net/Turing-complete
Serge

5
Non penso che limitare la memoria finita sia un'utile obiezione a considerare C (o qualsiasi altro linguaggio di programmazione) come completo di Turing. Qualsiasi sistema effettivamente implementato sarà limitato alla memoria finita, incluso HTML5 + CSS3 o PowerPoint.
Michael Ekstrand,

parliamo del linguaggio non del reale sistema implementato (il numero di atomi / particelle nell'universo osservabile è probabilmente limitato)
Serge

7

Risolvo questo problema non avendo una sezione "linguaggi di programmazione" sul mio curriculum. Invece l'ho etichettato semplicemente come "lingue" e alla fine ho incollato HTML e CSS. Preferirei rendere la vita più facile per il revisore in modo che possano vedere se il mio controlla tutti i loro requisiti.

Solo gli sciocchi ignorerebbero un candidato perché lui o lei ha elencato l'HTML in "lingue" anziché in qualche altra etichetta, soprattutto perché non esiste uno standard industriale. E chi vuole lavorare per gli sciocchi?


7

No - c'è un grosso pregiudizio nell'IT contro il web design; ma in questo caso i "veri" programmatori sono su un terreno abbastanza solido.

Se hai svolto molto lavoro di web design, probabilmente hai fatto JavaScript, quindi puoi metterlo sotto "linguaggi di programmazione"; se vuoi elencare anche HTML, sono d'accordo con la risposta che suggerisce "Tecnologie".

Ma a meno che tu non stia prendendo di mira gli agenti che stanno cercando di spuntare le caselle piuttosto che trovarti un buon lavoro, un semplice elenco di cose che hai usato non sembra davvero così buono. Stai meglio elencando i progetti su cui hai lavorato e descrivendo in dettaglio le tecnologie che hai utilizzato su ciascuno; che dimostra che hai una vera esperienza nell'usarli piuttosto che solo conosci alcune parole d'ordine.


5

Bene, L sta per linguaggio, ma non implica un linguaggio di programmazione. Dopotutto, anche l'inglese o il francese sono (naturali) lingue! ;-)

Come detto sopra, metterli in una sezione sussidiaria, la tecnologia sembra essere un buon termine.

(Guardando il mio curriculum, non aggiornato da un po ') Ho creato una sezione chiamata "Lingue", quindi non posso sbagliarmi ... MrGreen
Ho messo "(X) HTML e CSS, XML / DTD / Schema e SVG "alla fine della sezione, chiaramente separati.

In francese, ho una sezione "Langages" (programmazione e markup) e un'altra "Langues" (francese / inglese). Nella versione inglese, ho intitolato entrambi "Lingue", il che è goffo ora che ci penso, anche se il contesto lo chiarisce. Dovrei trovare una formulazione migliore.


4

HTML non è in alcun modo un linguaggio di programmazione.

I linguaggi di programmazione si occupano di "funzioni di elaborazione", ecc. L'HTML si occupa solo dell'interfaccia visiva di una pagina Web, in cui la programmazione effettiva gestisce l'elaborazione. PHP per esempio.

Se qualcuno conosce davvero la programmazione, non riesco davvero a capire come le persone possano confondere l'HTML con un vero linguaggio di programmazione.


6
Questo non è vero. Un linguaggio di programmazione fornisce semplicemente istruzioni a un computer per fare qualcosa. HTML è un linguaggio specifico del dominio che indica a un computer il layout di base di un documento ipertestuale.
Matthew Whited,

3
Quindi un file txt indica al computer quale testo visualizzare
whackamadoodle3000

... A meno che, naturalmente, non siate istruiti e comprendiate la lingua inglese e l'informatica ... nel qual caso l'HTML è ovviamente un linguaggio di programmazione. Adoro quando le persone usano parole come "reale" o "reale" perché di solito siedono proprio accanto a un "Fallimento vero scozzese". Hai mai usato un dizionario? La prossima volta che lo fai, che ne dici di esaminare attentamente la definizione di "programmazione" e individuare dove ha una DIPENDENZA sulla parola "elaborazione". Perché so che HTML è un linguaggio di programmazione? Ho una laurea con lode in informatica e capisco l'inglese.
Cheesus Toast,

3

In termini di reclutamento, essendo stato su entrambi i lati del recinto, sicuramente mettere l'HTML in "linguaggi di programmazione", o forse più in sicurezza in "tecnologie"

Sì, sappiamo tutti che è un linguaggio di markup e non un linguaggio di programmazione. ma a) le agenzie di reclutamento non conoscono e non si preoccupano, e b) i datori di lavoro non lo sanno e non si preoccupano. Veramente.

E sottolineare la loro ignoranza ti servirà solo male. E i tecnici che alla fine vedranno il tuo CV saranno grati per un candidato che ha sentito parlare dell'HTML e non si preoccuperà della tassonomia.

Onestamente, non è un problema.


1
I tecnici che vedranno il tuo curriculum saranno grati per un candidato che abbia sentito parlare di HTML? Non mi sono ancora laureato, ma disprezzo già le persone che elencano HTML sotto i linguaggi di programmazione. Ma a ciascuno il suo credo.
MiseryIndex,

7
Se hai intenzione di lavorare per qualcun altro dopo la laurea, Misery, non dimenticare di esercitarti a nascondere il disprezzo in modo da non fallire ogni intervista a causa di "candidato agisce come un coglione" :)
Peter Recore

3
Un po 'duro, Peter, ma potresti avere ragione - su una nota seria, spesso dovrai affrontare intervistatori sbagliati; essere delicatamente in disaccordo potrebbe farti ottenere il lavoro, ma se sembri sprezzante e superiore ti perderai, indipendentemente da quanto "giusto" potresti essere.
CJM,

0

Elencalo sotto tecnologie o qualcosa del genere. Se non fossi in te, lo lascerei da parte, dato che ci si aspetta che tu conosca HTML e XML a questo punto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.