为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
- 中文名
- 编写程序代码
- 外文名
- programming
- 汉语缩写
- 编程
- 适用范围
- 任何有计算能力的硬件,包括人脑
在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。使用机器语言编写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行船鸦悼樱效率高。缺点也很明显,如:编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。
为了解决使用机器语言编写应用程序所带来的一系列问题,人们首先想到使用助记符号来代替不容易记忆的机器指令。这种助记符号来表示计算机指令的语言称为符号语言,也称汇编语言。在汇编语言中,每一条臭祝遥用符号来表永体誉示的汇编指令与计算机机器指令一一对应;记忆难度大大减少了,不仅易于检查和修改程序错误,而且指令、数据的存放位置可以由计算机自动分配。用汇编语言编写的程序称为源程序,计算机不能直接识别和处理源程序,必须通过某种方法将它翻译成为计算机能够理解并执行的机器语言,执行这个翻译工作的程序称为汇编程序。
汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。
高级语言是一类接近于人类的自然语言和数学语言的程序设计语言的统称。按照其程序设计的出发点和方式不同,高级语言分去甩船为了面向过程舟享的语言和面向对象的语言,如Fortran语言、C语言、汉语程序设计语言等都是面向过程的语言;而以C++、Smalltalk语言等为代表的面向对象的语言与面向过程语言有着许多不同,这些语言支持“程序是相互联系的离散对象集合”,这样一种新的程序设计思维方式,具有封装性、继承性和多态性等特征。
高级语言按照一定的语法规则,由表达各种意义的运算对象和运算方法构成。使用高级语言编写程序的优点是:编程相店赠对简单、直观、易理解、不容易出错;高级语言是独立于计算机的,因而用高级语言编写的计算机程序通用性好,具有较好的移植性。用高级语言编写的程序称为源程序,计算机系统不能直接理解和执行,必须通过一个语言处理系统将其转换为计算机系统能够认识、理解的目标程序才能被计算机系凶拒照统执行。
编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。
1946年
1949年
1951年
1952年
1957年
FORTRAN——数学公式转换系统(FORmula TRANslating,FORTRAN名字的由来)——出现。开发队伍的领导者是John Backus,并且他还为ALGOL的开发和巴柯斯范式(BNF)做出了贡献。
1958年
FORTRAN II出现,它能够处理子程序和连接汇编语言。由M.I.T的John McCarthy在LISP-LISt Processing上开始设计工作。原始ALGOL规范出现。该规范并未描述数据的输入输出方式;这些问题都留给独立的实现者。
1968年
创建COBOL
1959年
编译器出现
1960年
1962年
APL被写入Iverson的《A Programming Language》一书中。
FORTRAN IV出现。
SNOBOL这个以“首字母拼词命名”的产品,在工作的初期就取得了绝对的成功,SNOBOL——面向字符串符号(StriNg Oriented symBOlic Language)语言。它衍生了其他一些以首字母拼词命名的产品:FASBOL,一个SNOBOL编译器(1971年),还有SPITBOL——Speedy ImplemenTation of snoBOL——同样在1971年。
1963年
ALGOL 60进行修正。
PL/1的工作开始。
1964年
APL\360被实现。
1965年
SNOBOL3出现。
1966年
FORTRAN 66出现。
LISP 2出现。
1967年
SNOBOL4,功能获得极大加强的SNOBOL,出现了。
1968年
ALGOL 68,相对于ALGOL 60它是个怪物。一些规范委员会的成员——包括C.A.R.Hoare和Niklaus Wirth——却赞同该计划。事实证明ALGOL 68是难以实现的。
ALTRAN,一个FORTRAN的变种出现。
COBOL被ANSI正式定义规范。
Niklaus Wirth开始Pascal方面的工作。
1969年
500人参加在纽约Armonk的IBM总部召开的APL会议。APL的分发需求如此之大,该活动此后被人们称为“The March on Armonk”。
程序编写
1970年
Prolog方面的工作大约在此时开始了。
同样是在70年代早期的某一天,Xerox PARC由Alan Kay领导,开始了Smalltalk的设计工作。早期版本包括Smalltalk-72,Smalltalk-74和Smalltalk-76。
Pascal在CDC 6000-series电脑上的一个实现出现了。
1972年
Konrad Zuse写的关于Plankalkul(见1946年)手稿终于出版了。
Dennis Ritchie设计了C。但是最终的参考手册却是在1974年发布的。
Prolog的第一个实现——Alain Colmerauer和Phillip Roussel的功劳。
1974年
另一个COBOL的ANSI规范出现。
1975年
Tiny BASIC,由Bob Albrecht和Dennis Allison设计(由Dick Whipple和John Arnold实现),运行在2KB内存的微型计算机上。一台4KB的机器是较为合适的,它将有2KB的内存应用于这个程序上。
Bill Gates和Paul Allen编写的一个BASIC版本以抽取每份拷贝版税的形式销售给MITS(Micro Instrumentation and Telemetry Systems)。MITS生产Altair,这是一种8080结构的微型计算机。
Scheme,一个LISP的“方言”,由G.L. Steele和G.J. Sussman设计。
B.W. Kerninghan描述了RATFOR——RATional FORTRAN。它是预处理程序,并且允许在FORTRAN中使用类C的控制结构。RATFOR被应用到了Kernighan和Plauger的“Software Tools”中,它出现在1976年。
1976年
Design System Language出现,它被认为是PostScript的先驱。
1977年
MUMPS的ANSI标准出现——麻省总医院多用途程序设计系统(Massachusetts General Hospital Utility Multi-Programming System)。MUMPS最初被用来处理医疗记录,它只能识别字符串类型。随后被重新命名为M。
语言程序
1978年
1980年
Smalltalk-80出现。
Modula-2出现。
Franz LISP出现。
Bjarne Stroustrup开发了一个语言集——被总称为“C With Classes”——它成为C++的滋生土壤。
1981年
Effort开始成为一个LISP的“公共方言”,常被人称作Common LISP。
1982年
ISO Pascal出现。
PostScript出现。
1983年
Smalltalk-80公布:它由Goldberg等人完成。
Ada出现。他的名字来自Lovelace女伯爵Augusta Ada Byron,她是英国诗人拜伦的女儿。因其在巴贝奇分析机上设计了解伯努利方程的一个程序,而被誉为第一位女程序员。在1983年,国防部指导的全新“任务评定”应用程序是使用该语言编写的。
七月,第一个C++实现露面。该名称是由Rick Mascitti取的。
1984年
APL2的参考手册面世。APL2是APL的扩展,它允许嵌套数组。
1985年
Vanilla SNOBOL4之微机版发布。
微机版本
1986年
Smalltalk/V露面——第一个广泛应用于微机的Smalltalk版本。
Borland发布Turbo Prolog。
Eiffel,另外一个面向对象语言出现。
C++露面。
1987年
Turbo Pascal 4.0发布。
1988年
CLOS规范——公共LISP对象系统(Common LISP Object System)——发表。
Niklaus Wirth完成Oberon,这是他继Modula-2的后续行动。
1989年
ANSI C规范公布。
1990年
1991年
1992年
Dylan——以Dylan Thomas命名——由Apple公司发布的一个类似Scheme的面向对象语言。
1993年
1994年
1995年
1996年
第一个ANSI C++标准预发布。
C语言 即中文版的C语言 [1]
*Basic是一种设计给初学者使用的程序设计语言
*C++、C#: C语言是一种面向过程的计算机程序设计语言; C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。C#是微软公司发布的一种面向对象的、运行于 .NET Framework 之上的高级程序设计语言。
*CSSCascading Style Sheets 层叠样式表
*Clipper主要用于商业活动的计算机通信网
*Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言,他是一种面向对象的跨平台语言,可以在多种平台上运行。支持开源。大量的类库。大量的开源项目。是一种非常强大的编程语言。
*Perl一般被称为“实用报表提取语言”(PracticalExtraction andReportLanguage),也做“病态折中垃圾列表器” (PathologicallyEclectic Rubbish Lister)
*.NET是微软2002年,为开发应用程序创建的一个富有革命性的新平台
关于C的:Turbo C 2
关于汇编的:VisualASM
可视化编程也越来越重要,所谓的可视化程序设计和Visual Basic或Visual C++并不同,支持可视化程序设计的IDE可以让开发人员直接移动程序单元来建立流程图和结构图,然后直接做编译或解释,这一类的流程图通常是以UML为基础。