编程语言是什么

维基 问答 2022-05-23 11:48:42 阅读(...)

编程语言(programming language)是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令,一种能够让程序员准确地定义计算机所需要使用数据的计算机语言,并精确地定义在不同情况下所应当采取的行动。

编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令,一种能够让程序员准确地定义计算机所需要使用数据的计算机语言,并精确地定义在不同情况下所应当采取的行动。

编程语言 programming language

最早的编程语言是在电脑发明之前产生的,当时是用来控制提花织布机及自动演奏钢琴的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于宣告式编程,说明需要的结果,而不说明如何计算。

编程语言的描述一般可以分为语法及语义。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释。有些语言是用规格文件定义,例如 C 语言的规格文件也是 ISO 标准中一部分,2011 年后的版本为 ISO/IEC 9899:2017,而其他语言(例如 Ada 或者 Perl)有一份编程语言实现文件,视为参考实现。

概论

编程语言原本设计是专用于计算机,也用来定义算法或者数据结构。故而程序员试图使程序代码容易阅读。

编程语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成。

之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常小,而且有许多语言对新手来说太容易学;还有,不同程序之间的运行成本(runtime cost)各不相同。

有许多用于特殊用途的语言,只在特殊情况下使用。例如,PHP 专门用来显示网页;Perl 适合文本处理;C 语言被广泛用于操作系统和编译器的开发(所谓的系统编程)。

高级语言的出现使得计算机程序设计语言不再过度地依赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言 FORTRAN 的一个主要目标,就是实现平台独立。

虽然大多数的语言既可被编译又可被解译,但大多数仅在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在 1960 年代末用于 BCPL,编译程序先编译一个叫做“0 代码”的转换程序(representation),然后再使用虚拟器转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于 Pascal 和 P-code,以及 Smalltalk 和二进制码,在很多时候,中间过渡的代码往往是解译,而不是编译的。

如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就被称为编译。因此,一个编译器是一个将人可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(object code)。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种模拟器的二进制代码。

如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作直译。经直译的程序运行速度往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。

收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 逻辑编程语言是什么

    逻辑编程语言是什么

    逻辑编程语言Prolog是一种面向演绎推理的逻辑型程序设计语言,由于其简单的文法、丰富的表达力和独特的非过程语言的特点,很适合用来表示人类的思维和推理规则,从而一问世就赢得了人工智能研究和应用开发者的广泛兴趣。
  • net framework

    net framework是什么

    .NET Framework是Windows的托管执行环境,可为其运行的应用提供各种服务,组件有公共语言运行时 (CLR),是处理运行应用的执行引擎;.NET Framework类库,提供开发人员从其自己应用中调用的已测试、可重用代码库。
  • computer language 计算机语言

    为什么需要计算机语言

    人和计算机交流信息需要解决语言问题,创造一种计算机和人都能识别的语言,计算机语言是人与计算机之间传递信息的媒介,为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令。
  • 可道云 KodExplorer

    KodExplorer是什么

    可道云(KodExplorer)是基于Web技术的私有云和在线文件管理系统。致力于为用户提供安全可控、可靠易用、高扩展性的私有云解决方案。用户只需通过简单环境搭建,即可使用KodExplorer快速完成私有云/私有网盘/在线文档管理系统的部署和搭建。
  • 实时计算 Real-time computing

    实时计算是什么

    实时运算是计算机科学中对受到“实时约束”的电脑硬件和电脑软件系统的研究,实时约束像是从事件发生到系统回应之间的最长时间限制。实时程序必须保证在严格的时间限制内回应。通常实时回应时间会是以毫秒为单位,也有时是以微秒为单位。
  • 数据结构

    数据结构是什么

    在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。