HTML被认为是一种编程语言吗?

177 html

我想问题是不言自明的,但我想知道HTML是否有资格作为编程语言(显然"L"代表语言).

问的原因是更务实 - 我正在整理一份简历,并且不希望看起来像在语言下列出HTML和XML之类的东西,但无法弄清楚如何对它们进行分类.

bri*_*foy 448

不,HTML不是一种编程语言."M"代表"Markup".通常,编程语言允许您描述某种做某事的过程,而HTML是一种向文本添加上下文和结构的方法.

如果您想在简历中添加更多字母汤,请不要对它们进行分类.只需将它们放在一堆称为"技术"或任何你喜欢的东西中.但请记住,您列出的任何内容都是针对某个问题的公平游戏.

HTML是如此常见,以至于我几乎所有技术人员都已经知道它(虽然不是像CSS这样的东西),所以你可能会考虑不列出你遇到的每一个初始主义.我倾向于认为简历列出太多可疑的东西,所以我要求更多的问题来清除那些不应该列出的东西.:)

但是,如果您的HTML体验包括严肃的Web设计内容(包括Ajax,JavaScript等),您可以在"体验"部分中讨论这些内容.

  • +1用于将其称为初始化而不是首字母缩略词 (32认同)
  • TeX是一种图灵完备语言,因此它作为编程语言或标记语言的分类有点模糊.:) (14认同)
  • 显然,HTML5 + CSS3也是完整的:http://lemire.me/blog/archives/2011/03/08/breaking-news-htmlcss-is-turing-complete/ (7认同)
  • @SarahofGaia是一个缩写词,当你说这些字母好像是一个单词(例如,NASA)时,初始化就是你说每个字母(例如HTML)的地方.这是一个微妙的差异,但仍然是一个. (5认同)
  • 我曾经把LaTeX作为一种技能,但因为它在某些领域很重要.:) (3认同)
  • 编程语言不需要图灵完备。你怎么称呼像 Idris 这样的语言?此外,正如其他人指出的那样,HTML 是一种特定于领域的语言。每一种标记语言也是一种编程语言。它们只是声明性的而不是命令性的。但是你仍然是对文件进行编程。 (3认同)
  • html确实具有非常有限的用户输入和控制流形式,从这个意义上讲,它是一种具有有限io功能的编程语言.作为概念的证明,我在纯HTML中编写了一个小计算器 - 没有js,没有css(代表造型):https://cdn.rawgit.com/Holger-Will/htmlcalc/master/htmlcalc.html这显然是程序:-)所以编写它的语言必须是编程语言. (2认同)
  • 命令式和声明式语言都用于编程。所以标记可以被认为是一种编程语言,因为它用于编程(作为动词,设置计算机进程的动作)。 (2认同)
  • 任何具有简单英语基础知识和对计算机科学有真正基本了解的人都可以看到 HTML 是一种编程语言。编程是一个非常简单的总括术语。它可以非常简单。当人们说不是时,这是因为他们暗示编程必须具有一定程度的复杂性。标记是指令。最基本的编程只是让事情发生的指令。人们会在 Word 文档中手动创建标题和段落。HTML 将通过指令自动执行此过程...这是基本编程的核心。 (2认同)

Chr*_*ann 56

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

你真的想列出你所知道的与你在简历上申请的工作相关的最重要的事情.如果列出ASP.NET但不列出HTML,即使它有点明显,也有很多管理器和/或HR类型会假设您不知道HTML,因为它没有列出.我以前碰巧遇到过它.

更新 - 有人说不,它不是一种编程语言,你可能不同意我这一点,但无论在简历上它是一种编程语言.在招聘经理甚至看到你的简历之前,你会看到你的简历.如果经理说你需要知道HTML,而且它没有列在"编程语言"部分,那么人力资源部门的人可能会忽视你继续认为你不知道它,因为它没有列出.

更新6-8-2012:任何告诉计算机执行某些操作的指令都是编程语言.所以即使经过这么多年,我仍然坚持我的回答.HTML是一种编程语言.不是编程语言的东西就是XML.

  • @freespace - 按照这个定义,几乎所有东西都是编程语言,这使得它几乎无用. (36认同)
  • @freespace:那个论点是胡说八道.它基本上与说法相同:狗有皮毛.猫有皮毛.因此,猫是狗. (18认同)
  • 如果hello world是一个程序,那么html页面就是程序,因为它们只是一个更复杂的hello世界.因此,html _is_是一种编程语言,因为它指示计算机做什么.我和这个人在一起. (16认同)
  • 不对.甚至你好世界也有逻辑.只是因为你最喜欢的IDE准备了必要的程序结构,或者只需要几个关键字来打印到输出,就有逻辑在起作用.我确实同意克里斯关于人力资源的意见. (16认同)
  • @ChrisPietschmann声明,是的.编程,没有.你将如何用HTML编写循环? (7认同)
  • 按键是一种指令,告诉计算机做某事但肯定不是编程语言.html文档是带有标记而不是程序的文档. (6认同)
  • @James Curran不是一个有效的类比.一个更恰当的比喻是毛茸茸的动物有皮毛,猫有皮毛,猫是毛茸茸的动物.这里的区别在于狗不是猫的超集,而编程语言(正如我在这里所说)是HTML的超集. (3认同)
  • "不是编程语言的东西就是XML." 嗯,XSLT代码是XML,它是一种图灵完备的编程语言. (3认同)
  • 从你更新说 XML 不是一种编程语言。如果不是,也不是 HTML。Html 可以像 XML 数据存储一样概念化。这里我有一个 div 节点,在这个节点中我有一个 ap 节点。这个 p 节点有一个值为“foo”的属性类。然后软件使用这些信息来输出一些东西。如果我不更改提供给导航器的数据,输出将永远不会改变。系统是固定的。 (3认同)
  • html确实具有非常有限的用户输入和控制流形式,从这个意义上讲,它是一种具有有限io功能的编程语言.作为概念的证明,我在纯HTML中编写了一个小计算器 - 没有js,没有css(代表造型):https://cdn.rawgit.com/Holger-Will/htmlcalc/master/htmlcalc.html这显然是程序:-)所以编写它的语言必须是编程语言. (3认同)
  • 投票,因为1.它是2009-04-01,和2.我猜它是一种声明性语言,可以表达一个没有输入的常量程序的某个子集,并且3.关于HR类型将如何看待问题有一个严肃的观点. (2认同)
  • @freespace - 正如我所说,那将是一个无用的分类.这将包括,例如,记事本作为一种编程语言,因为你告诉计算机如何显示一组文本.用一种语言,不能少. (2认同)
  • 就像我说的那样,HTML是一种声明性编程语言。就像XAML。 (2认同)
  • 与 C 或汇编语言相比,人们可能不认为 Visual Basic 是一种编程语言,但它确实是一种编程语言。 (2认同)
  • @freespace编程并不告诉计算机该做什么,也不知道如何做.编程正在布置一组指令,计算机将按顺序执行这些指令以检索输入然后产生输出."告诉计算机做什么"和编程之间的区别与我告诉你拿起铅笔和实际上手动触发你执行这样一个动作所需的特定神经元之间的区别是一样的.因此,HTML不是一种编程语言.它没有可执行元素.它只是描述一个图像. (2认同)
  • "任何告诉计算机做某事的指令都是一种编程语言" - 所以写一个word文档就是编程?我正在标记文本,然后计算机以我想要的方式显示它. (2认同)
  • "任何告诉计算机做某事的指令都是一种编程语言" - 所以我在网络摄像头前的面孔是编程?我移动我的鼠标,敲击键,说到麦克风都是专门编程?故意使用或利用它们的预期特征可以_允许编程_但它们本身不是**用于执行指令的编程语言或方法.有关使用SNES控制器/游戏作为**编程语言**的示例,请参阅SMBW中编程的[Pong and Snake](https://www.youtube.com/watch?v=OPcV9uIY5i4);) (2认同)
  • 我认为这里的区别是 HTML 不是一种_通用_编程语言。 (2认同)
  • 为什么 HTML 是一种编程语言而不是 XML? (2认同)

Jon*_*nan 44

不,线索在M - 它是一种标记语言.

  • 从技术上讲,那就是M和L :) (58认同)
  • 我承认技术上正确的确是最好的正确:) (9认同)

Mar*_*ett 21

在某种程度上,Chris Pietschmann是正确的.SQL并不是图灵完整(至少没有存储过程),但人们会将其列为语言,TeX是图灵完整的,但大多数人都将其视为标记语言.

话虽如此:如果你只是申请工作,而不是争论形式逻辑,我只会把它们全部列为技术.像.NET这样的东西不是语言,但可能也会列出.

  • “然而人们会将其列为一种语言”,当然,作为查询语言,而不是编程语言。 (6认同)

Mar*_*ddy 14

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

至于简历,我建议将HTML和XML放在像"技术"这样的部分.我通常有一个这样的部分,我列出了版本控制软件,我开发的操作系统,构建系统等.

  • Prolog 没有循环。许多函数式语言必须诉诸递归。 (3认同)

pau*_*art 13

我认为不完全是一种编程语言,而是它的名字所说的:标记语言.我们无法使用纯HTML编程.但只是注释如何呈现内容.

但是如果你考虑编程告诉计算机如何呈现内容的行为,它就是一种编程语言.

  • “但如果你认为编程是告诉计算机如何呈现内容的行为,那么它就是一种编程语言。” 在这一点上,人们不妨将一切都称为编程,因为这基本上就是因果关系。xD (3认同)

小智 12

如果您要说HTML是一种编程语言,那么您可能还包括诸如word文档之类的内容,因为它们也基于ML或"标记语言".

所以,不,HTML不是一种编程语言.因此,它被称为"标记".

简单地说 - HTML定义内容!

  • HTML 是一种编程语言 - 尽管它很简单,但它仍然属于编程语言的总称。正如我之前所说,在 Word 中,您经常手动配置什么是段落或标题等。在 HTML 中,您可以通过告诉/指示浏览器将某些内容设为标题或段落(以及所有其他指令)来“自动化”该过程。可用的)。编程可以非常简单,也可以非常复杂。对于“编程”需要多复杂的东西,没有设定参数。很简单,需要成为让某事做某事的东西...... (3认同)
  • 怎么可能<b>这是大胆的</ b>可比****这是大胆的**?如果HTML不是编程语言,那很好,但是使用HTML!=使用Word文档. (2认同)
  • Word 是一个应用程序。富文本文件或单词产生的各种其他文件可以(并且是)被视为特定于领域的语言。如果你知道 RTF 或任何其他复杂的标记(尤其是一些较旧的基于二进制的格式,你应该很乐意把它放在你的简历中。这些野兽变得非常复杂。) (2认同)

sle*_*box 9

我认为它绝对在简历中占有一席之地.HTML的知识是有价值的,有很多东西要知道,跨浏览器兼容性问题和应该遵循的标准是什么.

我不会在"编程语言"下与C#或其他东西一起列出HTML,但值得注意的是你的体验.


Mic*_*and 8

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

根据该定义,不,HTML不是编程语言,甚至是声明语言.正如其他人所解释的那样,它是一种标记语言.

但审查你的简历的人可能不关心这种正式的区别.我会遵循其他人给出的好建议,并将其列入"技术"类型的部分.

  • 我认为限制有限内存并不是考虑将C(或任何其他编程语言)视为Turing完整的有用反对意见。_Any_实际实施的系统将限于有限的内存,包括HTML5 + CSS3或PowerPoint。 (3认同)
  • 这个定义不太好,因为 C 不是图灵完备的,而 HTML5 + CSS3 是,所以我只想说 HTML 不是“通用”编程语言,只是一种高度专业化的语言。 (2认同)
  • @Serge在什么有意义的意义上C不是图灵完整的,而是HTML5 + CSS3? (2认同)
  • C 的可用 ram 有限 2 ** num_bits(size_t) 取决于标准和实现,这可能会有所不同,可能存在一些漏洞,但假设 C 的图灵完整性值得怀疑。stackoverflow 上 HMTL+CSS 完整性的证明需要一定程度的人类参与,因此可能不是 100% 令人信服。无论哪种方式,从 Powerpoint 动画到音乐记谱的极不可能的语言都可以找到图灵完备 https://www.gwern.net/Turing-complete (2认同)
  • 我们谈论的是语言而不是实际实现的系统(可观察宇宙中原子/粒子的数量可能是有限的) (2认同)
  • [这里有一个解释](https://cs.stackexchange.com/a/60978/85498) 为什么@Serge 完全正确。请务必查看评论中的精彩讨论。我特别想强调一下`DW`的评论:`在同一句话中谈论“实用”和“可计算性”是没有意义的。可计算性(和图灵完备性)并不在于它的实用性,而在于它的实用性。这是关于数学上真实的事情。你似乎想谈论什么适用于“所有工程目的”,但这不是图灵完备性的意义所在。 (2认同)

CJM*_*CJM 7

在招聘方面,在双方立场不同的情况下,肯定将 HTML 放在“编程语言”下,或者也许更安全地放在“技术”下

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

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

老实说,这不是问题。

  • 如果你打算毕业后为其他人工作,Misery,别忘了练习隐藏蔑视,这样你就不会因为“申请人表现得像个混蛋”而在每次面试中失败:) (8认同)
  • 有点严厉,彼得,但你可能是对的——严肃地说,你经常会遇到被误导的面试官;巧妙地表达不同意见可能会让你得到这份工作,但如果你表现得轻蔑和高人一等,你就会错失机会——无论你有多“正确”。 (4认同)
  • 看到你简历的技术人员会感谢听说过 HTML 的候选人吗?我大学还没毕业,但我已经鄙视那些把 HTML 列为编程语言的人了。但我想每个人都有自己的想法。 (3认同)

Phi*_*Lho 5

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

如上所述,把它们放在一个附属部分,技术似乎是一个好词。

(看着我自己的简历,有一段时间没有更新)我做了一个名为“语言”的部分,所以我不会出错...... :-D
我已经把“(X)HTML and CSS, XML/ DTD/Schema 和 SVG”在本节末尾,明确分开。

在法语中,我有一个部分“语言”(编程和标记)和另一个“语言”(法语/英语)。在英文版中,我将两者都命名为“Languages”,现在我想起来很笨拙,尽管上下文澄清了这一点。我应该找到一个更好的公式。


小智 5

HTML 绝不是一种编程语言。

编程语言处理“处理函数”等。HTML 只处理网页的可视化界面,实际编程处理处理。以 PHP 为例。

如果有人真正了解编程,我真的无法理解人们如何将 HTML 误认为是实际的编程语言。

  • 那不是真的。编程语言只是为计算机提供做某事的指令。HTML 是一种领域特定语言,它指导计算机进行超文本文档的基本布局。 (8认同)
  • 然后一个txt文件指示计算机显示什么文本 (3认同)

Sim*_*mon 5

不 - IT对网页设计存在很大的偏见; 但在这种情况下,"真正的"程序员是相当坚定的.

如果你已经做了很多网页设计工作,你可能已经完成了一些JavaScript,所以你可以把它放在"编程语言"之下; 如果你想列出HTML,那么我同意建议"技术"的答案.

但是,除非你的目标是那些试图勾选方框而不是找到一份好工作的代理人,否则你所使用的一系列东西看起来并不是那么好看.你最好列出你所参与的项目,并详细说明你在每个项目上使用的技术; 这表明你有使用它们的真实体验,而不仅仅是你知道一些流行语.


Dav*_*vid 5

我在简历中没有"编程语言"部分来解决这个问题.相反,我将它简单地标记为"语言",最后我坚持使用HTML和CSS.我宁愿让审稿人的生活更轻松,这样他们就能看出我的是否会检查他们的所有要求.

只有傻瓜会忽视申请人,因为他或她在"语言"下列出HTML而不是其他标签,特别是因为没有行业标准.谁想为傻瓜工作?

  • 我宁愿把它放在“技术”下 (3认同)