HTML被视为一种编程语言吗?[关闭]


184

我猜这个问题是不言自明的,但是我想知道HTML是否符合编程语言的要求(显然“ L”代表语言)。

提出问题的理由更加务实-我正在整理一份简历,不想像傻瓜一样用语言列出HTML和XML之类的东西,但无法弄清楚如何对它们进行分类。


28
也许您不应该将其称为编程语言,而应该只是语言技术经验技能
Gumbo'2

5
你好 我正在使用Java EE,并且正在使用XML编程,看来……
whirlwin 2012年

4
不,编程语言应该完整。HTML尚未完成。
Arunav Sanyal

2
HTML类似于供浏览器使用的自动钢琴上打孔的乐谱。从某种意义上说,它是浏览器编程语言,即,它指示浏览器显示什么。如今,许多语言都具有高级Lambda构造,例如C#中的LINQ,它们告诉计算机做什么而不怎么做。编程语言的发展正朝着更具声明性的方向发展,例如Kotlin之类的语言就可以证明这一点。
aggaton

作为一个古董,规则110已使用CSS 3实施,并且已证明它是图灵完整的。
aggaton

Answers:


463

不,HTML不是编程语言。“ M”代表“标记”。通常,编程语言允许您描述某种处理过程,而HTML是向文本添加上下文和结构的一种方式。

如果您想在简历中添加更多字母汤,请不要对其进行分类。只需将它们放入一大堆称为“技术”或任何您喜欢的东西中即可。但是请记住,您列出的任何内容都是一个公平的问题。

HTML非常普遍,以至于我希望几乎所有技术人员都已经知道它(尽管不是CSS之类的东西),因此您可能会考虑不列出您遇到的所有缩写。我倾向于认为简历列出了太多的东西是可疑的,所以我问了更多问题以清除不应列出的东西。:)

但是,如果您的HTML经验包括认真的Web设计知识(包括Ajax,JavaScript等),则可以在“经验”部分中进行讨论。


38
+1调用它的初始化,而不是一个缩写
杰森

15
TeX是图灵完备的语言,因此将其分类为编程语言或标记语言有点模糊。:)
mipadi

7
显然,HTML5 + CSS3也正在完善中:lemire.me/blog/archives/2011/03/08/…–
e-satis

3
我曾经将LaTeX视为一项技能,但是因为它在某些领域中很重要。:)
brian d foy

7
@SarahofGaia的缩写是当您说字母时就好像它是一个单词(例如NASA)一样,其中初始化是您说出每个单独的字母(例如HTML)的地方。这是一个细微的差异,但仍然如此。
杰森

64

是的,一种声明性编程语言。

您真的想在履历表中列出与您申请的工作有关的最重要的事情。如果您列出了ASP.NET但未列出HTML,即使它看起来有些明显,也有很多管理人员和/或HR类型会假设您不知道HTML,因为未列出HTML。我以前曾经发生过。

更新-有人说不,它不是一种编程语言,您对此可能不会同意我的看法,但是无论简历如何,它都是一种编程语言。在招聘经理甚至没有看到HR的情况下,您就会看到他们的HR类型。如果经理说您需要了解HTML,并且未在“编程语言”部分中列出,则HR人员可能会因为您未了解HTML而无视您,因为它没有列出。

2012年6月8日更新:告诉计算机执行某些操作的任何指令都是一种编程语言。所以即使这些年来,我仍然坚持我的回答。HTML是一种编程语言。XML不是一种编程语言。


16
如果hello world是程序,则html页面是程序,因为它们只是一个更复杂的hello世界。因此,html 一种编程语言,因为它可以指导计算机执行操作。我和这个人在一起。
自由空间

17
不对。甚至问候世界也包含逻辑。仅仅因为您喜欢的IDE在幕后准备了必要的程序结构,或者只需要几个关键字即可打印到输出,就可以发挥逻辑作用。我在这里确实同意克里斯关于人力资源的观点。
Ed S.

40
@freespace-按照这个定义,几乎所有内容都是一种编程语言,这实际上使它成为无用的分类。
Kaz Dragon

20
@freespace:这个说法是胡说八道。从本质上说,狗是有毛皮的。猫有毛皮。因此,猫就是狗。
詹姆斯·柯伦

8
@ChrisPietschmann声明式的,是的。编程,不。您将如何用HTML编写循环?
托尔比约恩Ravn的安德森


22

克里斯·彼得施曼在某种程度上是正确的。SQL并不是Turing完整的(至少没有存储过程),但是人们会把它列为一种语言,TeX是Turing完整的,但是大多数人都将其视为一种标记语言。

话虽如此:如果您只是在申请工作,而不是在讨论形式逻辑,那么我将把它们全部列为技术。诸如.NET之类的语言不是语言,但也可能会列出。


2
“但人们会将其列为一种语言”,当然,作为一种查询语言,而不是一种编程语言。
安德烈·伊斯托明

@AndrejIstomin我没看到您不是在谈论HTML,但是对不起SQL。
Karl Richter

14

“ M”代表“标记”。它是一种“标记语言”而不是一种编程语言。有人会不同意这一点,但是我的观点是,如果它缺乏逻辑结构(条件分支,迭代等),那么它实际上并不是一种编程语言。

至于简历,我建议将HTML和XML放在“技术”部分下。我通常在这样的部分中列出诸如版本控制软件,为之开发的OS,构建系统等内容。


1
Prolog没有循环。许多功能语言都必须求助于递归。
aggaton

13

我认为这不完全是一种编程语言,而是它的名称确切地说是一种标记语言。我们不能仅使用纯HTML进行编程。但是只是注释如何呈现内容。

但是如果考虑编程告诉计算机如何显示内容的行为,它就是一种编程语言。


2
“但是,如果您考虑对计算机进行编程,即告诉计算机如何显示内容,那是一种编程语言。” 到那时,最好将所有程序都称为编程,因为这基本上就是因果关系。xD

13

如果您要说HTML是一种编程语言,那么您可能还包括诸如Word文档之类的东西,因为它们也是基于ML或“标记语言”的。

因此,不,HTML不是一种编程语言。因此,它被称为“标记”。

简而言之-HTML定义内容!


2
<b>这是粗体</ b>怎么能比这是粗体?如果HTML不是编程语言,则可以,但是可以使用HTML!=与Word Documents一起使用。
dpp

2
Word是一个应用程序。富文本文件或word生成的其他各种文件都可以被视为域特定语言。而且,如果您知道RTF或其他任何复杂的标记(尤其是某些较旧的基于二进制的格式,则应该高兴地将其放入履历表中。那些野兽变得非常复杂。)
Matthew Whited 2015年

HTML是一种编程语言-尽管非常简单,但它仍然属于编程语言的总称。如前所述,在Word中,您经常手动配置什么是段落或标题等。在HTML中,您通过告诉/指示浏览器制作标题或段落(连同所有其他说明一样)来“自动化”该过程。可用)。编程可以非常简单,也可以非常复杂。对于要进行“编程”的东西需要多么复杂,没有设置参数。简单地需要成为可以使某事做某事的事物……
Cheesus Toast

10

我认为它肯定在简历中占有一席之地。对HTML的了解非常宝贵,关于跨浏览器的兼容性问题和应遵循的标准,确实有很多知识要知道。

我不会在C#之类的“编程语言”下列出HTML,但值得注意的是您的经验。


9

在我上大学的高级编程语言课程中,我们认为“编程语言”的定义非常好:“编程语言”是指能够表达所有可计算功能的(正式)语言,这是Church-Turing论文所暗示的是所有图灵可计算函数的集合。

按照这种定义,不,HTML不是编程语言,甚至不是声明性语言。正如其他人解释的那样,它是一种标记语言。

但是,审阅您简历的人们可能根本不在乎这样的正式区别。我会遵循其他人的良好建议,并将其列在“技术”类型的部分中。


定义不是很好,因为C尚未完成图灵完善,而HTML5 + CSS3尚未完成,所以我只能说HTML并不是“通用”编程语言,只是一种高度专业化的语言。
Serge

3
@Serge在什么有意义的意义上C不是图灵完整的,而是HTML5 + CSS3?
Michael Ekstrand '18

C的可用内存限制为2 ** num_bits(size_t),具体取决于标准和实现,可能会有所不同,可能存在一些漏洞,但可以说C的Turing完整性值得怀疑。有关stackoverflow的HMTL + CSS完整性的证明要求一定程度的人员参与,因此可能不会100%令人信服。可以找到从Powerpoint动画到音乐符号的两种不太可能的语言图灵完成gwern.net/
Serge

5
我认为限制有限内存并不是考虑将C(或任何其他编程语言)视为Turing完整的有用反对意见。任何实际实现的系统都将限于有限的内存,包括HTML5 + CSS3或PowerPoint。
Michael Ekstrand '18

我们谈论的语言不是实际实施的系统(可观察的宇宙中的原子/粒子数量可能有限)
Serge

7

我的履历上没有“编程语言”部分,从而解决了这个问题。相反,我将其简单地标记为“语言”,并在末尾粘贴HTML和CSS。我希望使审阅者的工作更轻松,以便他们可以查看是否我的检查满足了所有要求。

只有傻瓜才会无视申请人,因为他或她在“语言”下而不是其他标签下列出了HTML,尤其是因为没有行业标准。谁愿意为傻瓜工作?


7

不-IT对网页设计有很大的偏见;但是在这种情况下,“真正的”程序员处于坚实的基础上。

如果您完成了许多网页设计工作,则可能已经完成了一些JavaScript,因此可以将其归类为“编程语言”。如果您也要列出HTML,那么我同意建议“技术”的答案。

但是,除非您要定位的是试图打勾而不是找工作的代理商,否则,仅列出您曾经使用过的东西并不会看起来那么好。最好列出您已从事的项目,并详细说明每个项目所使用的技术;这表明您具有使用它们的真实经验,而不仅仅是您知道一些流行词。


5

嗯,L是用于语言的,但并不意味着编程语言。毕竟,英语或法语也是(自然)语言!;-)

如上所述,将它们放在一个附属的部分下,技术似乎是一个很好的名词。

(看我自己的简历,暂时没有更新),我做了一个叫做“语言”的部分,所以我不会弄错... :-D
我已经输入了“(X)HTML和CSS,XML / “ DTD / Schema和SVG”位于本节末尾,清楚分开。

用法语,我有一个“语言”部分(编程和标记)和另一个“语言”部分(法语/英语)。在英文版中,我都用“ Languages”(语言)作为标题,尽管考虑到上下文可以澄清这一点,但我现在认为它很笨拙。我应该找到一个更好的表述。


4

HTML绝不是编程语言。

编程语言处理“处理功能”等。HTML仅处理网页的可视界面,实际的编程在其中处理处理过程。以PHP为例。

如果有人真的了解编程,我真的看不到人们如何将HTML误认为是一种实际的编程语言。


6
那不是真的。编程语言仅提供计算机执行操作的指令。HTML是一种特定于域的语言,它指示计算机进行超文本文档的基本布局。
马修·怀特

3
然后一个txt文件指示计算机要显示什么文本
whackamadoodle3000'6

...除非您当然受过教育,并且了解英语和计算机科学...在这种情况下,HTML显然是一种编程语言。当人们使用“实际”或“真实”之类的词时,我会喜欢它,因为它们通常就在“ True Scotsman Fallacy”旁边。您曾经使用过字典吗?下次,您将如何仔细检查“编程”的定义,并找到与“处理”一词相关的位置。为什么我知道HTML是一种编程语言?我拥有计算机科学的一等荣誉学位,并且我懂英语。
Cheesus Toast

3

从招聘的角度讲,在围栏的两侧,肯定将HTML置于“编程语言”之下,或者更安全地置于“技术”之下

是的,我们都知道这是一种标记语言,而不是编程语言。但是a)招聘机构不知道也不在乎,b)雇主不知道也不在乎。真。

指出他们的无知只会给您带来不适。最终看到您的简历的技术人员将对听说过HTML的候选人表示感谢,并且不必担心分类法。

老实说,这不是问题。


1
能够看到您的简历的技术人员会感激听说过HTML的候选人吗?我还没有大学毕业,但是我已经鄙视那些用编程语言列出HTML的人。但是我猜对每个人来说。
MiseryIndex

7
如果您打算在毕业后为Misery的任何人工作,Misery,别忘了掩饰轻蔑的态度,这样您就不会因为“申请人举止
愚蠢

3
彼得,有点刺耳,但您可能是对的-认真地说,您经常会遇到被误导的面试官;机智上的分歧可能会给您带来这份工作,但如果您显得轻描淡写和出类拔萃,那么您将错过–无论您可能有多“正确”。
CJM 2010年

0

在技​​术或其他方面列出它。如果您是我,我就不用说了,因为现在非常希望您知道HTML和XML。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.