文档视界 最新最全的文档下载
当前位置:文档视界 › 编程语言发展历程

编程语言发展历程

编程语言发展历程
编程语言发展历程

编程语言的发展历程及未来趋势

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

从计算机发明至今,随着计算机硬件和软件技术的发展,计算机的编程语言经历了机器语言、汇编语言、面向过程的程序设计语言以及面向对象的程序设计语言阶段。具体的语言又是不胜枚举。因此,对于一个以编程为职业的人来说,了解程序的发展及文化,是非常有必要的。

首先介绍下编程语言的发展

1946 Plankalkul

Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚附近的阿尔卑斯山上时,独立开发了Plankalkul。他把该项成果应用在其它的事物中,比如国际象棋。

1949 Short Code

,第一种真正在电子计算设备上使用的计算机语言,尽管他是一个纯手工编译的的语言。

1951 Grace Hopper

Grace Hopper为Remington Rand工作,是在第一个著名的编译器——A-o上开始设计工作。当Rand在1957年发布这个语言时,它被称为MATH-MATIC。

1952 AUTOCODE

Alick E. Glennie ,他利用自己在曼彻斯特大学的课余时间,发明了一个名为AUTOCODE的编程系统,一个未能成型的编译器。

1954 Fortran

FORTRAN(FORmula TRANslator的缩写)意为“公式翻译器”,是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。

1958 LISP

LISP语言(全名LISt Processor,即链表处理语言)由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程

语言。

1959 Cobol

COBOL(Common Business Oriented Language)是数据处理领域最为广泛的程序设计语言,是第一个广泛使用的高级编程语言。主要应用于数值计算并不复杂,但数据处理信息量却很大的商业领域。

1962 Simula

Simula 67被认为是最早的面向对象程序设计语言,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承。

1964 Basic

BASIC(Beginners’ All-purpose Symbolic Instruction Code)的意思就是“初学者的全方位符号指令代码”,是一种设计给初学者使用的程序设计语言。BASIC是一种解释语言,在完成编写后不须经过编译及连结即可执行,但如果要单独执行仍然需要编译成可执行文件。

1968 Pascal

Pascal语言语法严谨,层次分明,程序易写,具有很强的

可读性,是第一个结构化的编程语言。Pascal的取名是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal,它由瑞士Niklaus Wirth教授于六十年代末设计并创立。

1969 C

C语言既具有高级语言的特点,又具有汇编语言的特点,由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。

1975 SQL

SQL(Structured Query Language,结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

1983 C++

C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

1987 Perl

Perl象C一样强大,象awk、sed等脚本描述语言一样方便。

Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。Perl最初的设计者是拉里·沃尔(Larry Wall),发表于1987年12月18日。

1991 Python

Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

1995 Java

Java是一种简单的,面向对象的,分布式的,解释的,健壮的,安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。

是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。在Java 出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。

这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,而SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。

1995 JavaScript

JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。

2001 C#

C#(C Sharp)是微软为.NET框架量身订做的程序语言,C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向的程序语言,与C++和Java同样是面向对象程序设计语言。

2002 .Net

.NET 是 Microsoft XML Web服务平台。XML Web服务允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。

2005 Ruby On Rails

Ruby on Rails是一个可以使你开发、部署、维护web应用程序变得简单的框架,Ruby以7月的诞生石ruby(红宝石)命名。

2009 Node.JS

Node是一个服务器端 JavaScript 解释器,它改变了服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一台物理机的连接代码。当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。

编程语言的发展趋势

“首先,编程语言的发展非常缓慢。期间当然出现了一些东西,例如面向对象等等,但是远没有好上1000倍。另一方面,你可能会想,那么这些努力都到哪里去了呢?事实上这些努力没有体现在编程语言上,而是出现在框架及工具等方面了。如果你关注如今我们使用的框架,它们的体积的确有1000倍的增长。与此类似,如果你观察现在的IDE,我们现在已经有了无数强大的功

能,例如语法提示,重构,调试器,探测器等等,这方面的新东西有很多。与此相比,编程语言的改进的确很不明显。”

几十年来,硬件性能按成千上万倍的规模增长,软件工具与框架也有数倍乃至十数的增长,强调这一点,我们不难识别网上的编程语言之争,有些确属“愚忠”之举,如果我们把编程语言自身与它所依赖(或由它拓展的)运行环境区分开来,什么都是浮云,剩下的其实主要是平台路线之争,都与具体应用相关,大家不甚着调的闹个热火朝天。当然,语言之间区别还是存在的,象C

语言面向过程,C++面向对象,面向对象自然比面向过程更加人性,但这是显而易见的,无关语言优劣。

原本的编程语言分类方式也要有所改变了。以前我们经常说面向对象语言,动态语言或是函数式语言。但是我们现在发现,这些边界变得越来越模糊,经常会互相学习各自的范式。静态语言中出现了动态类型,动态语言里也出现了静态能力,而如今所有主要的编程语言都受到函数式语言的影响。因此,一个越来越明显的趋势是多范式程序设计语言。C#、java、Go等语言的发展轨迹,我们明显看到这种趋势。CSE也是这种趋势的典型代表,它分明是一种解释性动态语言,但模拟C/C++命令式风格,把动态与静态的特质融为一体。

编程语言能做的事情有限,请勿期望过高。

语言对并发支持没大家想象得重要,并发编程更多是编程方式、思维模式变化,你要关注任务隔离性,更加精心的构造(或分离出)可并行的任务,提供普适的“纯洁”函数(无副作用函数)。并发对编程语言的要求是:能标识这种纯洁函数,提供foreach 多核分发机制,相比较而言,并行编程的思维方式变化才是根本性的。

了解编程语言的文化,利用好编程语言,在信息化的今天,我们会走的更远。

相关文档