什么是编程语言?

时间:2009-11-21 15:38:25

标签: programming-languages

  

可能重复:
  What is a computer programming language?

不,真的。

我努力想出一个非常棒的定义。这是我的观点:

  

编程语言是一种包含语法的形式语言。语法规则用于形成语句。编程语言用于创建计算机可以理解的一组指令。语法语句的集合称为程序。

我知道它读得不太好,所以在这方面得到一些帮助会很高兴。



这是维基百科的第一段on the topic

  

编程语言是一种人工语言,旨在表达可由机器,尤其是计算机执行的计算。编程语言可用于创建控制机器行为,精确表达算法或作为人类交流模式的程序。

我认为这是生活中的一件事,每个人都知道它是什么,但它很难定义。

我一个人吗?你的想法?

18 个答案:

答案 0 :(得分:19)

我认为,维基百科非常正确:

A programming language is an artificial language designed to express computations
that can be performed by a machine, particularly a computer.

第一句足以描述它是什么:

  • 它是一种人工语言(它是它的根源)
  • 它旨在表达可由机器执行的计算(即语言的目标/目的)

这是编程语言最常见的定义。

您的定义缺乏这种一般性(例如,您的句子非常适合面向命令的语言,但不适用于例如逻辑编程)。

答案 1 :(得分:5)

编程语言是向特定参与者表达命令和命令的方式。

编程语言由符号和一组规则或暗示的规则组成,这样任何执行程序的参与者都不会违反规则。

我不同意编程语言

  • 与计算有关的任何事情 - 参见Logo
  • 与计算机有关的任何事情 - 参见任何食谱
  • 与人类作为程序源的任何事情 - 参见产生汇编的编译器
  • 只是一种编码/解码信息的方式 - 有很多东西都是这样做的,但它们不是P.A。

答案 2 :(得分:2)

它是一种软件(计算机程序)相互交互的方式。它与人类的接口与计算机交互。

答案 3 :(得分:1)

我在记事本中写下这个,以便清楚自己对“编程语言”的看法。我喜欢它,所以搜索它回答的问题。 “什么是编程语言?”我在这里做出贡献,以便其他人可以从中受益。

“编程语言”是一种专门设计的人工语言,您可以在其中向计算机发出指令。因此,它可以被称为“指令语言”,程序员使用它来指示计算机执行任务。

程序员用来向计算机发出指令的编程语言(如C,Java,Python或Lisp)附带一个附带的软件程序,称为“解释器”或“编译器”(或者甚至附带两者)了解这种语言。因此,它理解程序员在这种编程语言中给出的指令。

该软件程序还了解特殊的“机器语言”,这是计算机理解的唯一语言。也就是说,计算机无法理解除了特殊的“机器语言”之外的任何其他语言给出的指令。 (不同的计算机有自己特殊的机器语言,这是他们理解的唯一语言。因此,它是唯一可以采用并遵守指令的语言。)

计算机无法接受“编程语言”中的指令,因为它只能理解“机器语言”。程序员不知道“机器语言”,只知道如何用“编程语言”给出指令。由于这个“编译器”或“解释器”既理解“编程语言”又理解“机器语言”,它可以将程序员用“编程语言”给出的指令翻译成“机器语言”指令,以便计算机可能知道程序员试图指示它做什么。

答案 4 :(得分:1)

描述流程/算法的形式语言。

答案 5 :(得分:1)

编程语言是表达计算的一种方式

  • 处于高水平
  • 在某种程度上我们可以推理它们

答案 6 :(得分:1)

第一个要求是意图:编程语言是用于计算机编程的语言。请注意,这不是一个重言式;回想一下,可以通过手动设置位来编程计算机....无论如何,编程语言的所有其他属性都遵循其意图。

我确实认为“真正的”编程语言应该是图灵完备的。这不包括像HTML这样的东西,它直接用于计算机并被称为语言,但它们不是编程语言。

任何分类,你都会得到边界情况;例如,APL是不是以数学符号开头的?但是,我认为回归意图会让你尽可能接近:对于那些边界情况,无论如何,有趣的问题与分类不太相关。

编辑:所以,作为格言,然后:

  

编程语言是一种语言   打算用于编程   计算机。

     

真正的编程   语言也是图灵完备的。

答案 7 :(得分:1)

编程语言是一组符号,由形式语法定义,可以通过程序转换为计算机理解的另一组符号,以使其最后执行某些所需的操作。

答案 8 :(得分:1)

我喜欢的定义:)

  

编程语言是指导的特殊词汇   计算机:独特的词汇和集合   编写计算机程序的规则

答案 9 :(得分:1)

发明了高级语言,因此您不必再使用配线架和电源线了。将它们视为硬件和人类教师之间的抽象层次。

我使用术语“高级语言”来描述使用解析器,抽象语法树和代码生成器来将其构造转换为“低级”机器指令。

我刻意将“级别”复数化,因为我们现在在硬件和硬件之间有越来越多的抽象:网络堆栈,操作系统,应用程序服务器,浏览器等。

答案 10 :(得分:0)

编程语言是一种语法,用于描述哪个字符序列是有效的程序,与定义有效程序在执行时应该使计算机执行的操作的语义配对。

答案 11 :(得分:0)

  

编程语言是一种包含语法和语义规则的形式语言。这些规则描述了表达程序的方式 - 计算的集合 - 这样它可以转换为可以由机器执行的程序。

答案 12 :(得分:0)

嗯,说实话,我会遵循这个定义:

  

编程语言是一种语言,   允许编程机器。

这是唯一的,所有编程语言都有共同之处。

有些是编译的,有些是解释的,有些是遵循正式的语法规则,有些则没有(例如rail ...没有机会把它放到EBNF或其他什么),有些是人类可读的,有些是不是' t(brainfuck)...我同意,目前它们都是正式的,但这是由于技术问题......所有编程语言都没有其他原因正式除了事实之外,理解真正的人类语言目前太难了(注意:我并不是说如果处理人类语言在足够的程度上是可行的,那么任何语言都不是正式的)......

答案 13 :(得分:0)

  1. 一个诙谐的答复:我可能无法定义它,但是当我看到它时我就知道了。

  2. 如果有某种机器,可以通过可以记录在某些时间持久性介质中的信息来控制,其中必须有某种规则来表达可以记录的内容,这组规则可以称为编程语言。

  3. 如果被控制的机器碰巧是通用的(在图灵意义上),那么我们通常称之为计算机,但也可以编程更简单的机器。我正在考虑提花织机或各种可控制的机床。

答案 14 :(得分:0)

  

编程语言是一种正式的人工语言,具有自己的语法。语法规则用于形成语句。编程语言用于创建计算机可以理解的一组指令。语法语句的集合称为程序。 这些语句从人类可读的格式(在运行时或通过编译)转换为机器特定的格式

答案 15 :(得分:-1)

这是以接近人类语言的方式表示逻辑的最佳方式。

答案 16 :(得分:-2)

编程语言是一组用于生成特定电子信号的指令,因此硬件可以执行这些算法。

当我使用计算机体系结构和汇编语言时,我发现它基本上是电子信号,它是根据我们的计算机指令生成的,并触发特定的电路执行算术运算,然后在每个周期后完成一条指令。

答案 17 :(得分:-2)

  

编程语言:用于控制计算机的语言