计算机程序设计语言的历
史与未来
目录
引言 (1)
一.计算机程序设计语言 (2)
1.计算机程序设计语言的演变 (2)
(1)计算机程序设计语言的历史 (2)
(2).对计算机程序设计语言学习方法之我见 (5)
引言
摘要:“要盖高楼,打基础花的时间就要长,所以我们更重视基础。
按照这样的思路培养出来的学生具有更强的创新潜力和更为广泛的适应性。
”清华大学理学院副院长白峰杉说。
“随着整个社会经济的发展,本科教育在整个教育体系中的定位发生了变化,本科阶段主要是打基础。
同时,社会的发展对复合型文科人才的需求在增长,因此我们的本科培养模式必须随之作出调整和改变。
”人文学院副院长张勇如是说。
清华在本世纪之初提出了全面落实通识教育基础上的宽口径专业教育,实施按大类招生和大类培养,自2001级起全部实施新培养方案与指导性教学计划,调整了各类课程的学分比例,搭建人文素养与科学精神并重的基础教育平台,强化人文教育与科学教育的融合,进一步拓宽专业基础,加强学科交叉,强调实践与研究融入教学过程。
新的本科人才培养方案将本科教育总学分由200左右调整至170左右。
新培养方案强调必修学分而不是必修课程,学生可在教学计划之外、培养方案框架之内选课,在导师的指导下,为自己量身定做“个人学习计划”。
可供学生选择的校级精品课达到105门,涉及公共基础课、学科基础课和专业基础课,以及文化素质课、实践类课程等,覆盖本科培养方案的多个方面。
在以精品带动课程建设的过程中,清华还十分注重特色课程的培育与建设,实行以研究型教学方式为重点,以小班授课、师生互动为特点的课程改革。
继2003年在全国率先开设新生研讨课之后,今年3月,清华又在全国首开面向全校本科生的实验室科研探究课。
目前学校累计开设研讨类课程约350门次,约5000名本科生选修。
从目前来看,新的培养方案初见成效。
学生的学习自主性相对增加,大部分学生选修的学分超过了规定的170学分,在200学分以上。
该校副教务长康飞宇表示,通过这些课程,使本科生尽早形成开阔的科学视野和跨学科、跨院系、跨专业的大气的思维方式,为学生进入宽口径的专业培养打下通识基础。
计算机导论作为一门基础课程自然不容小觑,而学习计算机导论最终的目的还是为了计算机编程,而计算机编程的核心就是计算机编程语言。
因此我们要从根源了解计算机程序设计语言,从而使它发展。
关键词:计算机程序设计语言、历史、发展。
一.计算机程序设计语言
1.计算机程序设计语言的演变
(1)计算机程序设计语言的历史
对于计算机,只能使用计算机语言对其编写程序。
而所谓计算机语言是指编程时,根据事先定义的语法而写出的预定语句的集合。
计算机语言的发展总结来说是从机器语言演化到高级语言。
在计算机发展早期,机器语言是唯一程序设计语言(如图1所示)。
图1
这种语言由“0”和“1”的字符串组成,这也是计算机唯一识别的语言。
虽然这种语言编写的程序真实地表示计算机操纵数据的方法,但是它依赖着计算机。
如果使用不同硬件,那么就需要不同的机器语言。
其次,这种语言编写程序非常乏味且难以找出错误,由此造成编程人员在设计某些大型程序时的工作量较大。
机器语言时代称为第一代编程语言,这一计算机语言让人们看到利用计算机创造方便的巨大潜力。
接下来编程语言伴随着用带符号或助记符的指令和地址代替二进制代码发生演化,因为它们使用符号的特点,所以首先被称为符号语言。
这些助记符语言后来被称为汇编语言(如表1所示)
表1 两整数相加的汇编语言代码
汇编语言的优点是可以表达非常底层的东西。
利用它可以直接存取寄存器和I/O ,编写的代码可以非常精确地被执行,可以编写出比一般编译系统高效的代码,还可以作为不同语言或不同标准的接口。
而缺点在于同时它还是一个非常低级的语言,非常冗长单调,在DOS 下编程时就可以体会到,易出BUG,且调试困难,这点和机器语言一样,有称为汇编程序的特殊程序将汇编语言代码翻译称机器语言。
汇编语言的代码不易维护且兼容性不好,与硬件关系非常紧密。
为了提高程序员工作效率以及节省精力,导致高级语言(如图2所示)的发展。
图2
高级语言应用非常广泛,它的设计目标是使程序员摆脱汇编语言繁琐的细节。
且它有一个与汇编语言的共性:它们必须被转化为机器语言,这个转化的过程称为解释或编译。
很多年来,各种各样的语言被开发,其中属BASIC、COBOL、Pscal、Ada、C、C++和Java 最著名。
虽然演化的理由不一样,但是演化的方向却是一致的,就是向着程序设计的简化、便利化发展,如何将人的设计目的通过最短最准确的计算机程序设计语言传达给计算机是一直以来计算机发展的核心问题。
如今,计算机按照它们解决问题的方法来分类,一共有四种模式:过程式(强制性)、面向对象、函数式和说明式。
过程式模式(强制性模式)(概念如图3所示)
图3
中,程序被看作被动对象的活动主体,该主体使用数据或数据项的被动对象,使一个被动
的对象本身虽然不能开始一个动作却能从活动主体接收动作。
这种模式的程序由三部分构成:对象创建部分、一组过程调用和每个过程的一组代码。
FORTRAN、COBOL、Pascal、C和Ada就是过去几十年发展起来的一些高级强调性(过程性)语言
FORTRAN于1957年投入商业所用,是第一代高级语言,并且经历了多个版本:FORTRAN、FORTRAN Ⅱ、FORTRAN Ⅳ、FORTRAN 77、FORTRAN99和HPF(高性能FORTRAN用于高速多处理器计算机系统)。
这种高级语言所具备的高精度算法、处理复杂数据能力和指数运算(a^b)使得40年后它还是科学或工程应用中的理想语言。
COBOL有一个特定的设计目标:作为商业编程语言使用。
商业程序程序设计要求快速访问文件和数据库、快速更新文件和数据库、生成大量报表和界面友好的格式化的输出。
Pascal的设计思想有一个独到之处:通过强调结构化编程方法来教初学者编程。
尽管它成为学术中最流行的语言,但从未在工业中达到同等流行的程度。
C语言最初用于编写操作系统和系统软件(如UNIX)。
后来由于它一些特点:有一个结构化的高级编程语言应有的所有高级指令,使程序员无需知道硬件细节、具有一些低级指令,使得程序员能够直接快速地访问硬件,更接近汇编语言且是非常有效的语言,指令短,使它称为程序员中流行的语言。
最后,Ada是DoD和工业的流行语言,它有其他过程式语言那样的高级指令、有允许实时处理的指令,从而便于过程控制、具有并行处理能力,可以在具有多处理器的主机上运行。
面向对象模式(概念如图4所示)处理活动对象,而不是处理被动对象。
在面向对象模式中的文件能把所有被文件执行的过程(在面向对象模式中称为方法)打包在一起
图4
如C++语言(就是一个面向对象的C语言的扩展)、Java语言(C++语言的扩展,但它是一个完全的面向对象的语言)。
在面向对象模式中,作为本质,一个对象能从另一个对象继承,我们称之为继承性。
此模式还有多态性。
函数式模式中程序被看成是一个数字函数。
函数是把一组输入映射到一组输出的黑盒子(如图5所示)。
它主要用以实现一下功能:定义一系列可供任何程序员调用的原始(原子)函数、允许程序员通过若干原始函数的组合创建新的函数。
图5
说明式模式
这些模式都在不同方面提高计算机语言设计的快捷性。
并且为了人们能够利用计算机过更方便的生活,这个世界不会减缓对计算机程序设计语言的深究与简化的进程的脚步。
总而言之,程序设计语言是用于编写计算机程序的语言。
在计算机学科研究中,无论是理论研究还是技术研究的成果,最终目标要体现在计算机软件产品的程序指令系统应能机械地、严格地按照程序指令执行,而程序设计语言的特性和编码途径会对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。
目前,人和计算机通信仍然必须使用人工设计的语言,即程序设计语言,而几乎所有的计算都需要非复杂的程序,所以程序设计语言的简化成了必
然趋势。
(2).对计算机程序设计语言学习方法之我见
学习计算机程序设计语言要从它的本质入手,即用计算机的语言翻译人的思想再将它灌输给计算机识别并执行。
我们需要了解与记忆最基础的计算机语言,在此基础上进行语言的组织用最精简的句式表达程序目的。
不亚于学习一门外语,首先是记忆,了解基本词汇,再去创新。
对于计算机来说,它需要做的就是处理数据,而人输入数据,用计算机能识别的语言输入。
如何让计算机在最短的时间内处理最多的数据,执行最准确的程序,是计算机程序设计语言发展中的问题,也是其发展方向的决定性因素。
而计算机程序设计语言的学习又不同于普通人类语言的学习,这种语
计算机程序设计语言的历史和未来
言贯穿着各种学术领域,我们往往需要用计算机编程语言表示数学中某些人类无法操作的复杂算法并且让计算机正确地操作。
因此,除了对计算机程序设计语言基本专有表示词汇的记忆,我们还需要对其它领域的基本记忆。
为了在继承原有计算机程序设计语言的优点基础上进一步发展它,我们还要创造新语法,这需要强大的逻辑运用能力以及对原有基础的熟练掌握。
然而无论学习哪种语言都有一个绝对有效的方法,那就是多用,多练,多看。
多接触计算机程序设计语言,多运用它去解决你能用它解决的问题,全方面的从最简单的入口去了解计算机语言的深层奥妙。