编程

来自站长百科
月飞春秋讨论 | 贡献2010年1月21日 (四) 17:02的版本 →‎高级语言
跳转至: 导航、​ 搜索

编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

分类介绍

从计算机发明至今,随着计算机硬件和软件技术的发展,计算机的编程语言经历了机器语言、汇编语言面向过程的程序设计语言以及面向对象的程序设计语言阶段

机器语言

在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。使用机器语言编写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。缺点也很明显,如:编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。

汇编语言

为了解决使用机器语言编写应用程序所带来的一系列问题,人们首先想到了使用助记符号来代替不容易记忆的机器指令。这种助记符号来表示计算机指令的语言称为符号语言,也称汇编语言。在汇编语言中,每一条用符号来表示的汇编指令与计算机机器指令一一对应;记忆难度大大减少了,不仅易于检查和修改程序错误,而且指令、数据的存放位置可以有计算机自动分配。

用汇编语言编写的程序称为源程序,计算机不能直接识别和处理源程序,必须通过某种方法将它翻译成为计算机能够理解并执行的机器语言,执行这个翻译工作的程序称为汇编程序。

使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、烦琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。

高级语言

高级语言是一类接近于人类自然语言和数学语言的程序设计语言的统称。按照其程序设的计出发点和方式不同,高级语言分为了面向过程的语言和面向对象的语言,如Fortran语言、C语言等都是面向过程的语言;而以C++、Smalltalk等为代表的面向对象的语言与面向过程语言有着许多不同,这些语言支持“程序是相互联系的离散对象集合”,这样一种新的程序设计思维方式,具有封装性继承性多态性等特征。

高级语言按照一定的语法规则,由表达各种意义的运算对象和运算方法构成。使用高级语言编写程序的优点是:编程相对简单、直观、易理解、不容易出错;高级语言是独立与计算机的,因而用高级语言编写的计算机程序通用性好,具有较好的移植性。

用高级语言编写的程序称为源程序,计算机系统不能直接理解和执行,必须通过一个语言处理系统将其转换为计算机系统能够认识、理解的目标程序才能成为计算机系统执行。

发展历程

  • 1946:Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚附近的阿尔卑斯山上时,独立开发了Plankalkul。他把该项成果应用在其它的事物中,比如国际象棋。
  • 1949:Short Code ,第一种真正在电子计算设备上使用的计算机语言,尽管他是一个纯手工编译的的语言。
  • 1951:Grace Hopper,为Remington Rand工作,是在第一个著名的编译器——A-o上开始设计工作。当Rand在1957年发布这个语言时,它被称为MATH-MATIC。
  • 1952:Alick E. Glennie ,他利用自己在曼彻斯特大学的课余时间,发明了一个名为AUTOCODE的编程系统,一个未能成型的编译器。
  • 1957:FORTRAN——数学公式转换系统(FORmula TRANslating,FORTRAN名字的由来)——出现。开发队伍的领导者是John Backus,并且他还为ALGOL的开发和巴柯斯范式(BNF)做出了贡献。
  • 1958:FORTRAN II出现,它能够处理子程序和连接汇编语言。由M.I.T的John McCarthy在LISP-LISt Processing上开始设计工作。原始ALGOL规范出现。该规范并未描述数据的输入输出方式;这些问题都留给独立的实现者。
  • 1959:LISP1.5出现。COBOL在数据系统和语言大会(Conference on Data System and Languages)上被创建了。
  • 1960:ALGOL 60 ,第一种结构化语言出现。它是结构化语言家族树中的根节点,并最终产生Pascal这样的语言。ALGOL成为六十年代中期至末期欧洲最为流行的语言。六十年代早期,Kenneth Iverson开始语言方面的工作,最终产生了APL-A编程语言。它使用专门的字符集,为了正确地使用,你还需要兼容APL的I/O设备。
  • 1962:APL被写入Iverson的《A Programming Language》一书中。SNOBOL这个以“首字母拼词命名”的产品,在工作的初期就取得了绝对的成功,SNOBOL——面向字符串符号(StriNg Oriented symBOlic Language)语言。它衍生了其他一些以首字母拼词命名的产品: FASBOL,一个SNOBOL编译器(1971年),还有SPITBOL——Speedy ImplemenTation of snoBOL——同样在1971年。
  • 1963:ALGOL 60进行修正。
  • 1964:APL\360被实现,在达特茅斯大学,John G.Kemeny和Thomas E.Kurtz教授发明了BASIC。最初的实现是一个编译器。第一个BASIC程序在1964年五月一日下午四点运行。PL/1发布。
  • 1965:SNOBOL3出现。
  • 1966:FORTRAN 66出现。在Bolt,Beranek和Newman开始了LOGO的工作。小组的头是Wally Fuerzeig,而且还包括Seymour Papert。LOGO中最著名的便是“龟作图”。
  • 1967:SNOBOL4,功能获得极大加强的SNOBOL,出现了。
  • 1968:ALGOL 68,相对于ALGOL 60它是个怪物。一些规范委员会的成员——包括C.A.R.Hoare和Niklaus Wirth——却赞同该计划。事实证明ALGOL 68是难以实现的。
  • 1969:500人参加在纽约Armonk的IBM总部召开的APL会议。APL的分发需求如此之大,该活动此后被人们称为“The March on Armonk”。
  • 1970:70年代早期,Charles Moore在他的语言Forth中写下了第一个有意义的程序。
  • 1972:Konrad Zuse写的关于Plankalkul(见1946年)手稿终于出版了,Dennis Ritchie设计了C。但是最终的参考手册却是在1974年发布的。
  • 1974:另一个COBOL的ANSI规范出现。
  • 1975:Tiny BASIC,由Bob Albrecht和Dennis Allison设计(由Dick Whipple和John Arnold实现),运行在2KB内存的微型计算机上。一台4KB的机器是较为合适的,它将有2KB的内存应用于这个程序上。
  • 1976:Design System Language出现,它被认为是PostScript的先驱。[6]
  • 1977:MUMPS的ANSI标准出现——麻省总医院多用途程序设计系统(Massachusetts General Hospital Utility Multi-Programming System)。MUMPS最初被用来处理医疗记录,它只能识别字符串类型。随后被重新命名为M。
  • 1978:AWK——一个文本处理语言,以它设计者Aho、Weinberger和Kernighan的名字命名,FORTRAN 77的ANSI标准出现。
  • 1980:Smalltalk-80出现,Bjarne Stroustrup开发了一个语言集——被总称为“C With Classes”——它成为C++的滋生土壤。
  • 1981:Effort开始成为一个LISP的“公共方言”,常被人称作Common LISP。
  • 1982:ISO Pascal出现。
  • 1983:Smalltalk-80公布:它由Goldberg等人完成。
  • 1983:的后期和1984年早期,微软和Digital Research共同发布第一个微型计算机的C编译器,第一个C++实现露面。该名称是由Rick Mascitti取的。
  • 1984:APL2的参考手册面世。APL2是APL的扩展,它允许嵌套数组。
  • 1985:Forth控制着潜水器定位泰坦尼克的残骸。
  • 1986:Smalltalk/V露面——第一个广泛应用于微机的Smalltalk版本。
  • 1987:Turbo Pascal 4.0发布。
  • 1988:CLOS规范——公共LISP对象系统(Common LISP Object System)——发表。
  • 1989:ANSI C规范公布,C++2.0形成了一个参考手册的初稿。2.0版本增加了诸如多继承和成员指针等特性。
  • 1990:C++2.1,B.Stroustrup等作者的《Annotated C++ Reference Manual》一书出版。这个版本增加了模板和异常处理特性。
  • 1991:Visual Basic在COMDEX春展会上获得《BYTE》杂志颁发的最佳表现奖。
  • 1992:Dylan——以Dylan Thomas命名——由Apple公司发布的一个类似Scheme的面向对象语言。
  • 1993:ANSI发布X3J4.1技术报告——面向对象的COBOL提议初稿。真正的标准预计在1997年完成。
  • 1994:微软将Visual Basic for Application整合到Excel中。
  • 1995:二月,ISO接受Ada语言1995修订版。它被称为Ada95,其中包括OOP特性和支持实时系统。
  • 1996:第一个ANSI C++标准预发布。

语言目录

相关条目