穿刺活检能查出肿瘤是什么性质吗| 晚上一点多是什么时辰| 一个巾一个占念什么| 巫山云雨是什么意思| 肝内强回声是什么意思| 酒后吃什么水果好| 看情况是什么意思| 孕妇吃什么| 农历六月六是什么节日| 泰山在什么地方| 异地办理临时身份证需要什么材料| 什么是筋膜| 心脏支架和搭桥有什么区别| ein是什么牌子| 乌贼是什么动物| 王八看绿豆是什么意思| 右手发麻是什么病的前兆| 日光灯属于什么光源| 什么思而行| 心博是什么意思| 柏拉图式恋爱是什么意思| 阴虚火旺吃什么食物| versus什么意思| 抗血小板是什么意思| 驰骋沙场百战威是什么生肖| 腠理是什么意思| 黑猫警长为什么只有5集| 金水宝胶囊有什么作用| 11月17是什么星座| 非萎缩性胃炎是什么意思| 起鸡皮疙瘩是什么原因| 查乙肝五项挂什么科| 武则天叫什么| ast什么意思| 至加秦是什么字| 被紫外线灯照到有什么后果呀| 几天不大便是什么原因| alaska是什么意思| 说梦话是什么原因引起的| 本能反应是什么意思| 觊觎什么意思| 奶油的原料是什么| 总是饿是什么原因| 口若悬河是指什么生肖| 车前草的作用是什么| 驻马店古代叫什么| 家里为什么有蟑螂| 5.7是什么星座| 3月16是什么星座| 康复治疗是做什么的| 蓝海是什么意思| 晚上尿多是什么病| 癸未日五行属什么| 滥竽充数的充是什么意思| 乙肝表面抗体阴性是什么意思| 莲子有什么功效| 痛风是什么病| 炙的意思是什么| 吃芒果有什么好处和坏处| 地米是什么药| crp偏高说明什么| 为什么遗精| 目加此念什么| 锆石是什么| 地藏王菩萨为什么不能拜| 横纹肌溶解什么意思| 胃上火有什么症状| 凯撒沙拉酱是什么口味| 海葵是什么| 令人唏嘘是什么意思| 孩子记忆力差是什么原因| 首发是什么意思| 苹果为什么叫苹果| 654-2是什么药| 顶格是什么意思| 心脏彩超ef是什么意思| 唇色深是什么原因| 乳清粉是什么东西| 喝酒有什么好处| 湿热喝什么茶可以调理| 心慌是什么引起的| 洋辣子蛰了用什么药| 阴霾是什么意思| 地级市市长是什么级别| 坐疮是什么样的图片| 1989年是什么蛇| 50元人民币什么时候发行的| 吃饭老是噎着是什么原因| 原浆酒是什么意思| 法西斯战争是什么意思| 什么是音色| 感冒是什么症状| 呓语是什么意思| 梦见考试是什么预兆| 什么血型最多| 耳鸣吃什么中成药| 人是什么结构| 手麻挂什么科最好| 做梦来月经了什么预兆| 网球肘吃什么药| 色氨酸是什么| b2c什么意思| cdf是什么意思| 肾功能不好吃什么药调理| 矫枉过正什么意思| 哈尔滨有什么好吃的| 中暑吃什么药| 夜间抽搐的原因是什么| 山西的简称是什么| 传字五行属什么| 正事是什么意思| 大便不成形是什么原因造成的| 老是打喷嚏是什么原因| 胆囊炎不能吃什么食物| 甘油三酯高说明什么| 100a是什么尺码| 安宫牛黄丸适合什么人群吃| 类风湿关节炎吃什么药效果好| 子年是什么年| 骨头疼是什么病的征兆| 免疫球蛋白g是什么意思| 火烧火燎是什么意思| 夏天防中暑备什么药| 新生儿前面头发稀少是什么原因| 牙龈萎缩是什么原因造成的| 肚脐眼痒是什么原因| 空虚是什么意思| 厌恶是什么意思| 牙缝越来越大是什么原因| 什么水果糖分最高| 小傻瓜是什么意思| 熊猫血是什么血型| a货翡翠是什么意思| 头一直摇晃是什么病| 金针菇炒什么好吃| 二审是什么意思| 肠粉是什么| lcc是什么意思| 白藜芦醇是什么东西| 六月初五是什么星座| 胆经不通吃什么中成药| 羊后马前对是什么生肖| 肾炎吃什么好| 没经验开什么店最简单| 异常白细胞形态检查是查什么病| 9点半是什么时辰| 宫颈管搔刮术是什么| 18k是什么意思| 满月送孩子什么礼物好| 带环了月经推迟不来什么原因| 谣言是什么意思| 手痒脱皮是什么原因| 月加一笔是什么字| 小米手机最新款是什么型号| 瘘管是什么症状| 寡糖是什么糖| 舞是什么结构| 小腹痛吃什么药| 栀子泡水喝有什么功效| 什么的太空| a4腰什么意思| 什么是变应性鼻炎| 六盘水为什么叫凉都| au999是什么意思| 肺ca是什么意思| 举人相当于现在的什么官| 自食恶果是什么意思| 五台山是求什么的| 马什么梅| 变色龙指什么人| 什么手机电池最耐用| 胃寒湿气重吃什么药效果最好| 在什么位置| 男生什么时候会有生理反应| 霍乱是什么| 小孩老是肚子疼是什么原因| 小腿肚抽筋是什么原因| 乌龟一般吃什么| 什么主筋骨| 举案齐眉是什么意思| dpl是什么意思| 戊戌是什么意思| 1985年牛五行属什么| 月亮为什么会有圆缺变化| 梦见什么是受孕成功了| 宝宝消化不良吃什么药| 车前草治什么病最好| 锰酸钾是什么颜色| 收到是什么意思| 毛片是什么意思| 宦官是什么意思| 帕金森吃什么药效果好| 艾滋病窗口期是什么意思| 蜜蜂飞进家里预示什么| 什么样的伤口需要打破伤风| 小白和兽神什么关系| qq会员有什么用| 北京大学校长什么级别| 擦汗的表情是什么意思| 脂肪肝适合吃什么食物| 阴道瘙痒什么原因| 夏天可以做什么| 做小月子要注意什么| 俄罗斯是什么人种| 尿道炎用什么药| 马克笔什么牌子好| 眼干眼涩用什么眼药水| 情窦初开什么意思| 糖尿病的根源是什么| 什么食物对肺有好处| 兔子跟什么生肖最配对| 萎缩性阴道炎用什么药| 中心性肥胖什么意思| 右眼一直跳是什么原因| 见地是什么意思| 总是耳鸣是什么原因| 什么叫布病| 一什么雨伞| 哺乳期发烧吃什么药不影响哺乳| 乳糖不耐受喝什么牛奶| b是什么牌子的衣服| 医院为什么不推荐腹膜透析| 小孩说梦话是什么原因引起的| 什么是网球肘| 6代表什么意思| 生化妊娠是什么原因导致的| 饮食不规律会导致什么| 肾不好是什么原因引起的| 嫁衣是什么意思| 三八妇女节送什么好| 下腹痛挂什么科| 肺囊肿是什么病严重吗| 为什么右眼皮一直跳| 中国的特工组织叫什么| d是什么元素| 乙肝三项检查什么| 牙齿痛用什么药| 舌头发黄是什么问题| 老放屁是什么原因| 灯火通明是什么生肖| 什么是山海经| 01年属什么的| 吃什么补心| 甲功是什么意思| 学美容要学些什么| 五月是什么季节| 丰胸吃什么食物有效果| 为什么一直流鼻血| 拔完罐需要注意什么| 负荆请罪的负是什么意思| 经常喝蜂蜜水有什么好处和坏处| 白头发吃什么维生素能变黑| 杀虫剂中毒有什么症状| 利多卡因是什么| 孩子一直咳嗽不好是什么原因| 尿毒症是什么原因导致的| 晚上吃什么菜| 小孩晚上睡觉磨牙是什么原因| 西游记是什么时候写的| nac是什么| 身在其位必谋其职是什么意思| 1990年是什么命| 大料是什么调料| 新生儿前面头发稀少是什么原因| 百度跳转到内容

武警新疆边防总队机动支队赴陌生地域进行实战化拉练

本页使用了标题或全文手工转换
维基百科,自由的百科全书
“编程语言”的各地常用名称
中国大陆编程语言、程序设计语言
港澳程式语言、程式设计语言
台湾程式语言、程式设计语言
编程语言中的经典语句:
Hello World
百度   公开资料显示,汕头大学是1981年经国务院批准成立的综合性大学,是教育部、广东省、李嘉诚基金会三方共建的大学,也是全球唯一一所由私人基金会李嘉诚基金会持续资助的公立大学。

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

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

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

概论

[编辑]

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

BBC BASIC语言显示在屏幕上

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

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

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

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

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

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

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

特点

[编辑]

每一种程序设计语言可以被看作是一套包含语法词汇含义的正式规范。

这些规范通常包括:

编程语言不成文规定:

大多数被广泛使用或经久不衰的编程语言,拥有负责标准化的组织,经常会晤来创造及发布该编程语言的正式定义,并讨论扩展或贯彻现有的定义。

数据和数据结构

[编辑]

现代计算机内部的数据都只以二元方式储存,即开-关模式(on-off)。现实世界中代表信息的各种数据,例如名字、银行账号、度量以及同样低端的二元数据,都经由程序设计语言整理,成为高阶的概念。

一个程序中专门处理数据的那个系统被称为程序语言类型系统type system);对类型系统的研究和设计被称为类型理论(type theory)。语言可以被分为静态类型系统(statically typed systems),例如C++Java,和动态类型系统(dynamically typed systems),例如LispJavaScriptTclProlog。前者可被进一步分为包含宣告类型(manifest type)的语言,即每一个变量和函数的类型都清楚地宣告,或type-inferred语言(例如MUMPS,ML)。

大多数语言还能够在内置的类型基础上组合出复杂的数据结构类型(使用数组,列表,堆栈,文件等等)。面向对象语言Object Oriented Language,又译作“对象引导语言”)允许程序员定义新的数据类型,即对象objects),以及运行于该对象的函数functions)和方法methods)。

除了何时以及如何确定表达式和类型的联系,另外一个重要的问题就是语言到底定义了哪些类型,以及允许哪些类型作为表达式的值。诸如C编程语言之类的底层语言允许程序命名内存位置、内存区域以及编译时的常量;ANSI C甚至允许表达式返回结构值(struct values)。功能性的语言一般允许变量直接使用运行时计算出的值,而不是指出该值可能储存的内存地址

常见的数据结构

指令及流程控制

[编辑]

一旦数据被确定,机器必须被告知如何对这些数据进行处理。较简单的指令可以使用关键字或定义好的语法结构来完成。不同的程序语言利用序列系统来获取或组合这些语句。除此之外,一个程序语言中的其他指令也可以用来控制处理的过程(例如分支、循环等)。

引用机制和重用

[编辑]

引用的中心思想是必须有一种间接设计储存空间的方法。最常见的方法是通过命名变量。根据不同的语言,进一步的引用可以包括指向其他储存空间的指针。还有一种类似的方法就是命名一组指令。大多数程序设计语言使用调用、过程调用或函数调用。使用这些代替的名字能让程序更灵活,并更具重用性。

功能

[编辑]

编程语言可借助机械、电机、电子、电脑、手机完成人类需求的计算、功能与目的。

实体的传输链接

[编辑]

透过低级编程语言或高级编程语言,将实体间接达成传输链接或控制实体。

应用程序的发展

[编辑]

高阶编程语言可发展多功能的应用程序软件,例如工程计算、操作系统、文件处理、播放软件、网页设计、手机应用程序(App)等。

使用

[编辑]

编程语言已超过上千种,大部分用在计算领域[4]。编程语言和人类使用的自然语言在精确度和完整性上有很大的差异。

人们在用自然语言沟通时,内容可以不明确,甚至小的错误,而听的人仍然可能理解说的人想要说的内容。但电脑不同,电脑“只做被告知要做的事”,无法理解编程者想要写的程序。语言的定义、编程以及编程输入的组合需完整定义程序执行时的外部特性。另一方面,算法的概念可以表示为伪代码抑或者为编成码,是交织有自然语言和代码的编程语言,和其他人沟通时使用,此时就不一定要那么精确。

编程语言提供定义片段资料的结构化机制,以及在资料中需自动进行的运算或是转换。编程者利用编程语言提供的抽象化来表示计算的相关概念,这些概念则是由许多最简单元素(称为语言基元英语language primitive)的集合所组成[5]程序设计就是指利用语言基元来撰写新的程序,或是将旧程序改写,配合新的应用或是新的环境。

计算机程序语言可能是以批处理任务的方式执行,中间不需和用户交互,也有可能是由用户在解释器中指定执行特定的程序。若某一编程语言的是目的是在某一应用软件(如Unix shell)或其他命令行接口执行其他程序,此编程语言会称为脚本语言

衡量各编程语言的使用量

[编辑]

很难去比较哪一种编程语言的使用量最大,而且“使用量”一词也很难定义。某一种编程语言可能需要较多的时间进行开发,另一种编程语言可能产生的代码较长,第三种编程语言可能在CPU中执行的时间较长。有些语言在特定的领域十分受欢迎,例如COBOL在公司的数据中心仍相当常用,多半是在大型计算机上执行[6][7]Fortran常用在科学及工程应用,C语言常用在嵌入式设备应用及操作系统Perl常用于系统管理和文本处理,JavaScript用于网页等。

有许多不同的测量编程语言使用的程度的方法,不同的测量方式各有误差:

  • 计算征才广告中提到各编程语言的次数[8]
  • 计算教授或描述各编程语言书籍卖出的数量[9]
  • 占计各编程语言目前仍在使用代码的长度,不过可能会低估一些公开搜索不容易找到的编程语言[10]
  • 利用搜索引擎计算找到不同编程语言的次数。

根据TIOBE指数在2022年3月,十大最受欢迎的语言如下:PythonVisual Basic .NETCC++C#JavaJavaScriptPHP汇编语言SQL.[11]

历史

[编辑]

1940年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师康拉德·楚泽

几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间宝贵。

于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库[12]

参见

[编辑]

参考文献

[编辑]
  1. ^ Ettinger, James (2004) Jacquard's Web, Oxford University Press
  2. ^ 語言系統簡介. .nuu.edu.tw. [2025-08-14]. (原始内容存档于2025-08-14). 
  3. ^ MXL
  4. ^ HOPL: an interactive Roster of Programming Languages. Australia: Murdoch University. [2025-08-14]. (原始内容存档于2025-08-14). This site lists 8512 languages. 
  5. ^ Abelson, Sussman, and Sussman. Structure and Interpretation of Computer Programs. [2025-08-14]. (原始内容存档于2025-08-14). 
  6. ^ Georgina Swan. COBOL turns 50. computerworld.com.au. 2025-08-14 [2025-08-14]. (原始内容存档于2025-08-14). 
  7. ^ Ed Airey. 7 Myths of COBOL Debunked. developer.com. 2025-08-14 [2025-08-14]. (原始内容存档于2025-08-14). 
  8. ^ Nicholas Enticknap. SSL/Computer Weekly IT salary survey: finance boom drives IT job growth. Computerweekly.com. [2025-08-14]. (原始内容存档于2025-08-14). 
  9. ^ Counting programming languages by book sales. Radar.oreilly.com. 2025-08-14 [2025-08-14]. (原始内容存档于2025-08-14). 
  10. ^ Bieman, J.M.; Murdock, V., Finding code on the World Wide Web: a preliminary investigation, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation, 2001
  11. ^ TIOBE Index for April 2020. TIOBE. 2022-03 [2025-08-14]. (原始内容存档于2025-08-14). 
  12. ^ Steven R. Fischer,. A history of language,. Reaktion Books,. 2003,. ISBN 186189080X. 

延伸阅读

[编辑]
  • Abelson, Harold; Sussman, Gerald Jay. Structure and Interpretation of Computer Programs 2nd. MIT Press. 1996. (原始内容存档于2025-08-14). 
  • Raphael Finkel: Advanced Programming Language Design, Addison Wesley 1995.
  • Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes: Essentials of Programming Languages, The MIT Press 2001.
  • Maurizio Gabbrielli and Simone Martini: "Programming Languages: Principles and Paradigms", Springer, 2010.
  • David Gelernter, Suresh Jagannathan: Programming Linguistics, The MIT Press 1990.
  • Ellis Horowitz (ed.): Programming Languages, a Grand Tour (3rd ed.), 1987.
  • Ellis Horowitz: Fundamentals of Programming Languages, 1989.
  • Shriram Krishnamurthi: Programming Languages: Application and Interpretation, online publication页面存档备份,存于互联网档案馆).
  • Bruce J. MacLennan: Principles of Programming Languages: Design, Evaluation, and Implementation, Oxford University Press 1999.
  • John C. Mitchell: Concepts in Programming Languages, Cambridge University Press 2002.
  • Benjamin C. Pierce: Types and Programming Languages, The MIT Press 2002.
  • Terrence W. Pratt and Marvin V. Zelkowitz: Programming Languages: Design and Implementation (4th ed.), Prentice Hall 2000.
  • Peter H. Salus. Handbook of Programming Languages (4 vols.). Macmillan 1998.
  • Ravi Sethi: Programming Languages: Concepts and Constructs, 2nd ed., Addison-Wesley 1996.
  • Michael L. Scott: Programming Language Pragmatics, Morgan Kaufmann Publishers 2005.
  • Robert W. Sebesta: Concepts of Programming Languages, 9th ed., Addison Wesley 2009.
  • Franklyn Turbak and David Gifford with Mark Sheldon: Design Concepts in Programming Languages, The MIT Press 2009.
  • Peter Van Roy and Seif Haridi. Concepts, Techniques, and Models of Computer Programming, The MIT Press 2004.
  • David A. Watt. Programming Language Concepts and Paradigms. Prentice Hall 1990.
  • David A. Watt and Muffy Thomas. Programming Language Syntax and Semantics. Prentice Hall 1991.
  • David A. Watt. Programming Language Processors. Prentice Hall 1993.
  • David A. Watt. Programming Language Design Concepts. John Wiley & Sons 2004.

外部链接

[编辑]
淀粉在超市里叫什么 右眼皮跳是什么原因 菊花茶有什么功效 流理台是什么 g750和au750有什么区别
鲍鱼是什么 1990属马佩戴什么最佳 头爱出汗是什么原因 慢性咽喉炎吃什么药好 四季不安痣是什么意思
ons是什么 机能是什么意思 前胸后背疼挂什么科 卑职是什么意思 月经推迟什么原因引起的
额头出汗多是什么原因 磨牙齿有什么方法可以治 龟头炎有什么症状 授教什么意思 内消瘰疬丸主治什么病
女生下面长什么样hcv7jop6ns0r.cn 手足口是什么病毒hcv8jop5ns4r.cn 武将是什么生肖onlinewuye.com 祸不及家人前一句是什么hcv8jop9ns3r.cn 西兰花不能和什么一起吃xinjiangjialails.com
什么鸡没有翅膀imcecn.com 生脉饮适合什么人喝wmyky.com 产检建档需要什么资料hcv8jop5ns1r.cn 发膜是什么hcv7jop5ns4r.cn 知了幼虫叫什么hcv8jop6ns7r.cn
丹凤眼是什么样hcv8jop6ns0r.cn hummel是什么牌子hcv9jop1ns4r.cn 00年属龙的是什么命hcv8jop4ns5r.cn 激动的什么hcv9jop8ns1r.cn 细思极恐是什么意思hcv8jop5ns0r.cn
b12有什么作用hcv8jop9ns9r.cn 可否是什么意思youbangsi.com 大小周是什么意思hcv8jop5ns7r.cn 七月十三日是什么日子hcv7jop5ns4r.cn 什么书在书店里买不到hcv9jop1ns7r.cn
百度