最近因为工作查了很多中文资料,某科,电子书... 注意到一个比较严重的问题,也可能我看的是盗版书,这些书都没有将计算机语言做一个比较明确的区分。恕笔者冒犯,某科关于计算机语言那页,写的有点la。
再举一个例子:“很多人因为HTML功能缺陷,不将HTML算为编程语言。HMTL作为一种编程语言...”
与学科分为文理科一样,计算机语言也可以细分。就像理科自身也可以分出很多不同的类别,如生物、化学与物理、数学就不同,是一种描述性科学。 诸如此类:理论性学科,实验性学科等等。中医是一门理论性、经验性科学,西医是一门实验性科学。中医所说的心与西医所说的心,就不是同一个东西。
不扯了,总体来说计算机语言可以分为三种:
- 编程语言 Langages de programmation
- 请求/查询语言 Langages de requête
- 描述语言 Langages de description
编程语言:简而言之,用于写程序的语言,比如手机APP应用,网站,操作系统等。比如:Python, Java, JavaScript, C#, PHP, C/C++, R, Objective-C, Swift等。
查询语言:允许查询存储数据的结构。常见的例如 关系型数据库的查询语言SQL,RDF图表的SPARQL,XML文档的XQuery等。
描述语言:用于根据规定和制约来描述和结构化数据集合的语言。例如,XML, HTML, 或者JSON。
所以HTML它属于计算机语言,但它不是编程语言,它属于描述语言。
其中,编程语言也可以细分为三类:
- 解释型语言 langage interprété
- 编译型语言 langage compilé
- 伪编译型语言 langage pseudo-compilé
解释型语言: 这类语言的源代码需要被翻译为汇编,然后一行一行地被一个程序执行,这个程序被称为解释器。例如,Python和PHP就是两种解释型语言。
编译型语言:这类语言所写出的源代码会被直接转变为可执行文件,在Windows下,它们的扩展名为:.exe。 C和C++就属于编译型语言。
伪编译型语言:此类语言需要借助一个伪编译器来生成一些可以在任何平台下支持的文件。例如:Java, 和可以在Microsoft .NET平台下可用的VB.NET, C#等。
好吧,时间不早了,就写到这里了。 能力有限,不能谈很深,只是为了有个规范,区分。方便大脑记忆时,给出一个层级化的结构。