40,931
次編輯
變更
编程语言
,無編輯摘要
'''编程语言'''([[英语]]:programming language),是用来定义[[计算机]]程序的形式[[语言]]。它是一种被标准化的交流技巧,用来向计算机发出指令<ref>[http://www.ccutu.com/245117.html 编程语言有哪些 应该如何挑选],有途网 , 2019-7-27</ref>。一种能够让程序员准确地定义计算机所需要使用[[ 数据]] 的计算机语言,并精确地定义在不同情况下所应当采取的行动。
最早的编程语言是在电脑发明之前产生的,当时是用来控制[[提花织布机]]及自动演奏[[钢琴]]的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于宣告式编程,说明需要的结果,而不说明如何计算。
高级语言的出现使得计算机程序设计语言不再过度地依赖某种特定的机器或[[环境]]。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言FORTRAN的一个主要目标,就是实现平台独立。
虽然大多数的 [[ 语言 ]] 既可被编译又可被解译,但大多数仅在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL,编译程序先编译一个叫做“0代码”的转换程序(representation),然后再使用[[虚拟器]]转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code,以及Smalltalk和二进制码,在很多时候,中间过渡的代码往往是解译,而不是编译的。
如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就被称为编译。因此,一个编译器是一个将人可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(object code)。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种[[模拟器]]的二进制代码。
如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作解释。经解释的程序运行 [[ 速度 ]] 往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。
==历史==