Le HTML est-il considéré comme un langage de programmation? [fermé]

184

Je suppose que la question est explicite, mais je me demande si HTML est qualifié de langage de programmation (évidemment, le «L» signifie langage).

La raison de demander est plus pragmatique: je prépare un CV et je ne veux pas passer pour un imbécile de lister des éléments comme HTML et XML sous les langues, mais je ne sais pas comment les classer.

nicael
la source
28
Vous ne devriez peut-être pas appeler cela des langages de programmation, mais simplement des langages , des technologies , de l' expérience ou des compétences .
Gumbo le
5
Salut. J'utilise Java EE, et je programme en XML, il semble ...
whirlwin
4
Non, les langages de programmation devraient être terminés. Le HTML n'est pas terminé.
Arunav Sanyal
2
Le HTML est semblable aux feuilles de musique perforées introduites dans un piano automatique, pour les navigateurs. En un sens, il s'agit d'un langage de programmation de navigateur, c'est-à-dire qu'il indique au navigateur ce qu'il doit afficher. De nos jours, de nombreux langages ont des constructions lambda de haut niveau comme LINQ en C # qui indiquent à l'ordinateur ce qu'il faut faire et non comment. L'évolution des langages de programmation s'oriente vers une nature plus déclarative, des langages comme Kotlin en sont évidents.
aggaton
En tant que curiosité, la règle 110 a été implémentée en utilisant CSS 3 et il a été démontré qu'elle est complète.
aggaton

Réponses:

463

Non, HTML n'est pas un langage de programmation. Le "M" signifie "Markup". En général, un langage de programmation vous permet de décrire une sorte de processus de faire quelque chose, tandis que HTML est un moyen d'ajouter du contexte et de la structure au texte.

Si vous cherchez à ajouter plus de soupe à l'alphabet à votre CV, ne les classez pas du tout. Mettez-les simplement dans une grosse pile appelée "Technologies" ou ce que vous voulez. N'oubliez pas, cependant, que tout ce que vous énumérez est un jeu juste pour une question.

Le HTML est si courant que je m'attendrais à ce que presque tous les spécialistes de la technologie le sachent déjà (bien que ce ne soit pas des choses comme CSS, etc.), vous pourriez donc envisager de ne pas énumérer tous les initialismes que vous avez rencontrés. J'ai tendance à considérer les CV contenant trop de choses comme suspects, alors je pose plus de questions pour éliminer les éléments qui ne devraient pas être répertoriés. :)

Cependant, si votre expérience HTML comprend des éléments de conception Web sérieux, notamment Ajax, JavaScript, etc., vous pouvez en parler dans votre section "Expérience".

brian d foy
la source
38
+1 pour l'appeler une initialisation au lieu d'un acronyme
Jason
15
TeX est un langage complet de Turing, donc sa classification en tant que langage de programmation ou langage de balisage est un peu floue. :)
mipadi
7
Apparemment, HTML5 + CSS3 est également complet: lemire.me/blog/archives/2011/03/08/…
e-satis
3
J'avais l'habitude de mettre LaTeX comme une compétence, mais parce que c'est important dans certains domaines. :)
brian d foy
7
@SarahofGaia un acronyme est lorsque vous dites les lettres comme s'il s'agissait d'un mot (par exemple, la NASA) où une initialisation est l'endroit où vous dites chaque lettre (par exemple, HTML). C'est une différence subtile, mais néanmoins une.
Jason
64

OUI, un langage de programmation déclaratif.

Vous voulez vraiment énumérer les choses les plus importantes que vous savez qui sont relatives à l'emploi pour lequel vous postulez sur votre CV. Si vous listez ASP.NET mais ne listez pas le HTML, même si c'est un peu évident, il existe de nombreux managers et / ou types de RH qui supposeront que vous ne connaissez pas le HTML car il n'est pas répertorié. Cela m'est déjà arrivé.

Mise à jour - Certains disent que non, ce n'est pas un langage de programmation, et vous n'êtes peut-être pas d'accord avec moi sur ce point, mais quel que soit le CV, c'est un langage de programmation. Vous obtenez des types de RH qui consultent votre CV avant même que le responsable du recrutement ne le voie. Si le responsable dit que vous avez besoin de connaître le HTML, et qu'il n'est pas répertorié dans la section `` Langages de programmation '', le responsable des ressources humaines peut ignorer votre reprise en pensant que vous ne le savez pas car il n'est pas répertorié.

Mise à jour 6-8-2012: Toute instruction qui dit à l'ordinateur de faire quelque chose est un langage de programmation. Donc, même après toutes ces années, je maintiens toujours ma réponse. HTML est un langage de programmation. Quelque chose qui n'est pas un langage de programmation serait XML.

Chris Pietschmann
la source
16
Si hello world est un programme, alors les pages html sont des programmes, car ce sont simplement un monde hello plus complexe. Ergo, html est un langage de programmation, car il indique à l'ordinateur quoi faire. Je suis avec ce gars.
freespace du
17
Pas vrai. Même bonjour le monde a de la logique. Juste parce que votre IDE préféré prépare la structure de programme nécessaire sous les couvertures, ou que seuls quelques mots-clés sont nécessaires pour imprimer vers la sortie, il y a une logique à l'œuvre. Je suis cependant d'accord avec Chris ici à propos des RH.
Ed S.
40
@freespace - par cette définition, presque tout est un langage de programmation, ce qui en fait une classification pratiquement inutile.
Kaz Dragon
20
@freespace: Cet argument n'a aucun sens. C'est essentiellement la même chose que de dire: les chiens ont de la fourrure. Les chats ont de la fourrure. Par conséquent, les chats sont des chiens.
James Curran
8
@ChrisPietschmann déclaratif, oui. Programmation, non. Comment allez-vous écrire une boucle en HTML?
Thorbjørn Ravn Andersen
46

Non, l'indice est dans le M - c'est un langage de balisage .

Jonny Buchanan
la source
62
Techniquement, c'est le M et le L :)
SpacePrez
10
Je concède que techniquement correct est, en effet, le meilleur type de correct :)
Jonny Buchanan
22

À un certain niveau, Chris Pietschmann a raison. SQL n'est pas Turing complet (du moins sans procédures stockées) mais les gens vont lister que comme langage, TeX est Turing complet mais la plupart des gens le considèrent comme un langage de balisage.

Cela dit: si vous postulez simplement pour des emplois, sans argumenter sur la logique formelle, je les énumérerais tous comme des technologies. Des choses comme .NET ne sont pas des langages, mais seraient probablement également répertoriées.

Martin Beckett
la source
2
"pourtant, les gens vont lister cela comme un langage", bien sûr, comme un langage de requête, pas comme un langage de programmation.
Andrej Istomin
@AndrejIstomin Je n'ai pas vu que vous ne parlez pas de HTML, mais de SQL, désolé.
Karl Richter
14

Le «M» signifie un «Markup». C'est un «langage de balisage» pas un langage de programmation. Certaines personnes ne seront pas d'accord avec cela, mais mon avis est que s'il manque de constructions logiques (branchement conditionnel, itération, etc.), ce n'est pas vraiment un langage de programmation.

En ce qui concerne le CV, je suggérerais de mettre HTML et XML dans une section comme «Technologies». J'ai généralement une section comme celle-ci où je liste des choses comme les logiciels de contrôle de version, les systèmes d'exploitation pour lesquels j'ai développé, les systèmes de construction, etc.

Mark Roddy
la source
1
Prolog n'a pas de boucle. De nombreux langages fonctionnels doivent recourir à la récursivité.
aggaton
13

Je ne pense pas exactement à un langage de programmation, mais exactement ce que son nom dit: un langage de balisage. Nous ne pouvons pas programmer en utilisant uniquement du HTML pur. Mais annotez simplement comment présenter le contenu.

Mais si vous envisagez de programmer l'action de dire à l'ordinateur comment présenter le contenu, c'est un langage de programmation.

paulosuzart
la source
2
"Mais si vous envisagez de programmer l'action de dire à l'ordinateur comment présenter le contenu, c'est un langage de programmation." À ce stade, on pourrait tout aussi bien appeler tout programmation parce que c'est essentiellement ce qu'est la causalité. xD
13

Si vous voulez dire que HTML est un langage de programmation, vous pouvez également inclure des éléments tels que des documents Word, car ils sont eux aussi basés sur le ML, ou «Markup Language».

Donc, non, HTML n'est pas un langage de programmation. Il est appelé «balisage» pour cette raison.

En termes simples, le HTML définit le contenu!

Houston
la source
2
Comment <b> ceci est gras </b> pourrait-il être comparable à ceci est gras ? Si HTML n'est pas un langage de programmation, très bien, mais fonctionne avec HTML! = Fonctionne avec des documents Word.
dpp
2
Word est une application. Les fichiers texte enrichi ou les divers autres fichiers produits par Word peuvent être (et sont) considérés comme des langages spécifiques à un domaine. Et si vous connaissez RTF ou tout autre balisage complexe (en particulier certains des anciens formats binaires, vous devriez être heureux de le mettre dans votre CV. Ces bêtes deviennent assez complexes.)
Matthew Whited
HTML est un langage de programmation - aussi simple soit-il, il relève toujours du terme générique de langage de programmation. Comme je l'ai déjà dit, très souvent dans Word, vous configurez manuellement ce qu'est un paragraphe ou un titre, etc. disponible). La programmation peut être très simple ou très complexe. Il n'y a pas de paramètre défini pour déterminer à quel point quelque chose doit être complexe pour que ce soit une "programmation". Il faut simplement que ce soit quelque chose qui fasse faire quelque chose ...
Cheesus Toast
10

Je pense qu'il a définitivement sa place sur un CV. La connaissance du HTML est précieuse, et il y a vraiment beaucoup à savoir, avec les problèmes de compatibilité entre navigateurs et les normes qui devraient être suivies.

Je ne listerais pas HTML sous "langages de programmation" à côté de C # ou quelque chose comme ça, mais il vaut la peine de noter votre expérience.

luge
la source
9

Dans la classe de langages de programmation avancés que j'ai suivis à l'université, nous avions ce que je pense être une assez bonne définition du «langage de programmation»: un langage de programmation est tout langage (formel) capable d'exprimer toutes les fonctions calculables, ce que la thèse de Church-Turing implique est l'ensemble de toutes les fonctions calculables de Turing.

Selon cette définition, non, HTML n'est pas un langage de programmation, même déclaratif. C'est, comme d'autres l'ont expliqué, un langage de balisage.

Mais les personnes qui examinent votre CV peuvent très bien ne pas se soucier d'une telle distinction formelle. Je suivrais les bons conseils donnés par les autres et les listerais dans une section de type "Technologies".

Michael Ekstrand
la source
Pas si bonne définition parce que C n'est pas Turing complet alors que HTML5 + CSS3 le sont, donc je dirais simplement que HTML n'est pas un langage de programmation «général», juste un langage hautement spécialisé.
Serge
3
@Serge Dans quel sens significatif C n'est-il pas Turing-complet, mais HTML5 + CSS3 le sont-ils?
Michael Ekstrand
la mémoire RAM disponible de C est limitée à 2 ** num_bits (size_t) selon la norme et l'implémentation cela pourrait varier, il existe probablement des failles, mais disons que l'exhaustivité de Turing de C est douteuse. La preuve de l'exhaustivité de HMTL + CSS sur stackoverflow attend un certain niveau d'implication humaine, donc probablement pas convaincante à 100%. Dans tous les cas, des langues hautement improbables, de l'animation Powerpoint à la notation musicale, se trouvent Turing Complete gwern.net/Turing-complete
Serge
5
Je ne pense pas que se limiter à la mémoire finie soit une objection utile pour considérer C (ou tout autre langage de programmation) comme complet. Tout système réellement implémenté sera limité à une mémoire finie, y compris HTML5 + CSS3 ou PowerPoint.
Michael Ekstrand
on parle de langage pas de système réellement implémenté (le nombre d'atomes / particules dans l'univers observable est probablement limité)
Serge
7

Je contourne ce problème en n'ayant pas de section "langages de programmation" sur mon CV. Au lieu de cela, je le nomme simplement «langages» et je colle HTML et CSS à la fin. Je préfère rendre la vie plus facile pour le critique afin qu'il puisse voir si le mien coche toutes ses exigences.

Seuls les imbéciles ignoreraient un candidat parce qu'il ou elle a inscrit HTML sous «langues» au lieu d'une autre étiquette, d'autant plus qu'il n'y a pas de norme de l'industrie. Et qui veut travailler pour les imbéciles?

David
la source
7

Non - il y a un gros préjugé en informatique contre la conception Web; mais dans ce cas, les "vrais" programmeurs sont sur un terrain assez solide.

Si vous avez fait beaucoup de travail de conception Web, vous avez probablement fait du JavaScript, vous pouvez donc le mettre sous «langages de programmation»; si vous voulez également lister HTML, alors je suis d'accord avec la réponse qui suggère "Technologies".

Mais à moins que vous ne cibliez des agents qui essaient de cocher des cases plutôt que de vous trouver un bon travail, une simple liste de choses que vous avez utilisées n'a pas vraiment l'air bien. Vous feriez mieux de lister les projets sur lesquels vous avez travaillé et de détailler les technologies que vous avez utilisées pour chacun; cela démontre que vous avez une réelle expérience de leur utilisation plutôt que simplement que vous connaissez certains mots à la mode.

Simon
la source
5

Eh bien, L est pour le langage, mais cela n'implique pas un langage de programmation. Après tout, l'anglais ou le français sont aussi des langues (naturelles)! ;-)

Comme dit ci-dessus, placez-les dans une section subsidiaire, Technologie semble être un bon terme.

(En regardant mon propre CV, pas mis à jour depuis un moment) J'ai fait une section juste appelée "Langues", donc je ne peux pas me tromper ... :-D
J'ai mis "(X) HTML et CSS, XML / DTD / Schéma et SVG "à la fin de la section, clairement séparés.

En français, j'ai une section «Langages» (programmation et balisage) et une autre «Langues» (français / anglais). Dans la version anglaise, j'ai intitulé les deux "Langues", ce qui est maladroit maintenant que j'y pense, bien que le contexte clarifie cela. Je devrais trouver une meilleure formulation.

PhiLho
la source
4

Le HTML n'est en aucun cas un langage de programmation.

Les langages de programmation traitent des «fonctions de traitement», etc. HTML ne traite que de l'interface visuelle d'une page Web, où la programmation proprement dite gère le traitement. PHP par exemple.

Si quelqu'un connaît vraiment la programmation, je ne vois vraiment pas comment les gens peuvent confondre HTML avec un vrai langage de programmation.

brian d foy
la source
6
Ce n'est tout simplement pas vrai. Un langage de programmation fournit simplement des instructions pour qu'un ordinateur fasse quelque chose. HTML est un langage spécifique à un domaine qui indique à un ordinateur la mise en page de base d'un document hypertexte.
Matthew Whited
3
Ensuite, un fichier txt indique à l'ordinateur quel texte afficher
whackamadoodle3000
... À moins bien sûr que vous ne soyez éduqué et que vous compreniez la langue anglaise et l'informatique ... auquel cas HTML est évidemment un langage de programmation. J'adore quand les gens utilisent des mots comme «réel» ou «réel» parce qu'ils sont généralement assis juste à côté d'un «True Scotsman Fallacy». Avez-vous déjà utilisé un dictionnaire? La prochaine fois que vous le ferez, que diriez-vous d'examiner attentivement la définition de «programmation» et de localiser où elle a une DÉPENDANCE sur le mot «traitement». Pourquoi est-ce que je sais que HTML est un langage de programmation? J'ai un baccalauréat spécialisé en informatique et je comprends l'anglais.
Toast au fromage le
3

En termes de recrutement, après avoir été des deux côtés de la barrière, mettez définitivement HTML sous «langages de programmation», ou peut-être plus sûrement sous «technologies»

Oui, nous savons tous qu'il s'agit d'un langage de balisage et non d'un langage de programmation. mais a) les agences de recrutement ne savent pas et s'en moquent, et b) les employeurs ne savent pas et s'en moquent. Vraiment.

Et souligner leur ignorance ne vous servira que mal. Et les techniciens qui verront éventuellement votre CV seront reconnaissants envers un candidat qui a entendu parler de HTML et ne se soucieront pas de la taxonomie.

Honnêtement, ce n'est pas un problème.

CJM
la source
1
Les techniciens qui verront votre CV seront reconnaissants envers un candidat qui a entendu parler de HTML? Je n'ai pas encore obtenu mon diplôme universitaire, mais je méprise déjà les gens qui répertorient le HTML dans les langages de programmation. Mais à chacun le sien je suppose.
MiseryIndex
7
Si vous prévoyez de travailler pour quelqu'un d'autre une fois que vous aurez obtenu votre diplôme, Misery, n'oubliez pas de vous entraîner à cacher le mépris pour ne pas échouer à chaque entretien parce que "le candidat agit comme un con" :)
Peter Recore
3
Un peu dur, Peter, mais vous avez peut-être raison - sur une note sérieuse, vous serez souvent confronté à des intervieweurs mal avisés; le fait de ne pas être d'accord avec tact pourrait vous procurer le poste, mais si vous semblez méprisant et supérieur, vous allez manquer quelque chose - peu importe à quel point vous pourriez avoir raison.
CJM
0

Listez-le sous technologies ou quelque chose. Je le laisserais simplement si j'étais vous, car il est à peu près prévu que vous connaissiez HTML et XML à ce stade.

Jon
la source