互联网编程史
‘壹’ 简述计算机编程语言发展历史
fortran、algol、cobol、lisp(和其各种scheme方言)、ada、pascal、basic、smalltalk等等,还有许多,找本关于计算科学的历史书看看就知道了,或到wikipedia去查相关目录。fortran主要用于科学计算,现有的程序库是大多是用其编写的;C的发明借鉴了algol的内容;过去商务计算大都用cobol,因为cobol和英语很接近;lisp多用于人工智能领域,当然用来描述算法也是很好的,其它的就不多说了,自己查查吧。
‘贰’ 计算机技术的发展历史
一、计算机网络的发展事实上计算机网络是二十世纪60年代起源于美国,原本用于军事通讯,后逐渐进入民用,经过短短40年不断的发展和完善,现已广泛应用于各个领域,并正以高速向前迈进。20年前,在我国很少有人接触过网络。现在,计算机通信网络以及Internet已成为我们社会结构的一个基本组成部分。网络被应用于工商业的各个方面,包括电子银行、电子商务、现代化的企业管理、信息服务业等都以计算机网络系统为基础。从学校远程教育到政府日常办公乃至现在的电子社区,很多方面都离不开网络技术。可以不夸张地说,网络在当今世界无处不在。随着计算机网络技术的蓬勃发展,计算机网络的发展大致可划分为4个阶段。第一阶段:诞生阶段 20世纪60年代中期之前的第一代计算机网络是以单个计算机为中心的远程联机系统。典型应用是由一台计算机和全美范围内2 000多个终端组成的飞机定票系统。终端是一台计算机的外部设备包括显示器和键盘,无CPU和内存。随着远程终端的增多,在主机前增加了前端机(FEP)。当时,人们把计算机网络定义为“以传输信息为目的而连接起来,实现远程信息处理或进一步达到资源共享的系统”,但这样的通信系统已具备了网络的雏形。第二阶段:形成阶段 20世纪60年代中期至70年代的第二代计算机网络是以多个主机通过通信线路互联起来,为用户提供服务,兴起于60年代后期,典型代表是美国国防部高级研究计划局协助开发的ARPANET。主机之间不是直接用线路相连,而是由接口报文处理机(IMP)转接后互联的。IMP和它们之间互联的通信线路一起负责主机间的通信任务,构成了通信子网。通信子网互联的主机负责运行程序,提供资源共享,组成了资源子网。这个时期,网络概念为“以能够相互共享资源为目的互联起来的具有独立功能的计算机之集合体”,形成了计算机网络的基本概念。第三阶段:互联互通阶段 20世纪70年代末至90年代的第三代计算机网络是具有统一的网络体系结构并遵循国际标准的开放式和标准化的网络。ARPANET兴起后,计算机网络发展迅猛,各大计算机公司相继推出自己的网络体系结构及实现这些结构的软硬件产品。由于没有统一的标准,不同厂商的产品之间互联很困难,人们迫切需要一种开放性的标准化实用网络环境,这样应运而生了两种国际通用的最重要的体系结构,即TCP/IP体系结构和国际标准化组织的OSI体系结构。第四阶段:高速网络技术阶段 20世纪90年代末至今的第四代计算机网络,由于局域网技术发展成熟,出现光纤及高速网络技术,多媒体网络,智能网络,整个网络就像一个对用户透明的大的计算机系统,发展为以Internet为代表的互联网。
‘叁’ 编程语言发展史
VB编程语言历史=========
Visual Basic从1991年诞生以来,现在已经13年了。BASIC是微软的起家产品,微软当然不忘了这位功臣。随着每一次微软技术的浪潮,Visual Basic都会随之获得新生。可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的。如果你想紧跟微软,永远在最新的技术上最快速地开发,你就应该选择Visual Basic。
1991-西雅图夜空的雷电
随着Windows 3.0的推出,越来越多的开发商对这个图形界面的操作系统产生了兴趣,大量的Windows应用程序开始涌现。但是,Windows程序的开发相对于传统的DOS有很大的不同,开发者必须将很多精力放在开发GUI上,这让很多希望学习Windows开发的人员却步。1991年,微软公司展示了一个叫 Thunder的产品,所有的开发者都惊呆了,它竟然可以用鼠标“画”出所需的用户界面,然后用简单的BASIc语言编写业务逻辑,就生成一个完整的应用程序。这种全新的“Visual”的开发就像雷电(Thunder)一样,给Windows开发人员开辟了新的天地。这个产品最终被定名为Visual Basic,采用事件驱动,Quick BASIC的语法和可视化的IDE。Visual Basic 1.0带来的最新的开发体验就是事件驱动,它不同于传统的过程式开发。同时,VBX控件让可视化组件的概念进入Visual Basic。Visual Basic 1.0是革命性的BASIC,它的诞生也是VB史上的一段佳话。
Visual Basic 1.0
1992-渐入佳境的Visual Basic
由于Windows 3.1的推出,Windows已经充分获得了用户的认可,Windows开发也进入一个新的时代。Visual Basic 1.0的功能过于简单,相对于Windows 3.1的强大功能没有发挥出来。所以,微软在1992年推出了新版本Visual Basic 2.0。这个版本最大的改进就是加入了对象型变量,比如
Dim b As CommandButton
Dim c As Control
而且有了最原始的“继承”概念,对象型变量分为一般类型(Control和Form)和专有类型(CommandButton和Form1等),一般类型的变量可以引用专有类型的实例,甚至通过后期绑定访问专有类型的属性和方法。还可以通过TypeOf…Is运算符获取对象实例的运行时类型信息(这个功能就是当今C#的is运算符或java的instanceof运算符)。除了对语言的改进和扩充,Visual Basic 2.0对VBX有了很好的支持,许多第三方控件涌现出来,极大地丰富了Visual Basic的功能。微软还为Visual Basic 2.0增加了OLE和简单的数据访问功能。
Visual Basic 2.0标准版
Visual Basic 2.0专业版
1993-数据库组件新添力量
Visual Basic 2.0推出没几个月,微软就发布了新版本的Visual Basic 3.0,可以看出VB这时候旺盛的生命力。乍一看,Visual Basic 3.0的界面没有太大的变化,但其实这个版本是非常及时的。它增加了最新的ODBC2.0的支持,Jet数据引擎的支持和新版本OLE的支持。最吸引人的地方是它对数据库的支持大大增强了,Grid控件和数据控件能够创建出色的数据窗口应用程序,而Jet引擎让Visual Basic能对最新的Access数据库快速地访问。Visual Basic 3.0还增加了许多新的金融函数。此外还增加了相当多的专业级控件,可以开发出相当水平的Windows应用程序。Visual Basic 3.0是98年以前中国最流行的Visual Basic版本,因为它开发出来的可执行文件非常小,通常能用一张软盘装下。不过,Visual Basic采用虚拟机运行P代码的做法也让很多开发者不满,他们认为这样程序运行的效率很低,这时候Visual Basic的竞争者Delphi也诞生了。
Visual Basic 3.0标准版
Visual Basic 3.0特别版
1995-第二次革命性变化,向COM进军。
从1993年到1995年年中,Visual Basic一直没有新的动静,焦急的开发者都想一窥这个神秘的新版本到底发生了什么变化。Visual Basic 4.0的BETA最后终于和大家见面了。这个版本包含了16位和32位两个版本,16位的版本就像是Visual Basic 3.0的升级版,而32位版则是一场新的革命。首先,人们发现VBX控件不见了,全部换成了OCX控件,这个OCX可能是指OLE Custom Controls,这个OLE已经不是传统的OLE了,用现在的话说,它就是COM控件。第二个最大变化是Visual Basic 4.0所用的语言换成了Visual Basic For Application,这就和Office 95所采用的宏语言统一起来,这个新语言有很多亮点:
1、? 加入了“类模块”。这是面向对象最重要的封装性的基础。
2、? 加入了属性过程,加上函数过程,子程序过程,VB已经有组件开发所需的封装性特征。
3、? 加入了Byte类型、Boolean类型和Object类型。这大大完善了VB的类型系统。
4、? For Each语句和Collection对象。For Each语句给遍历集合类型提供了极大的方便,现在可以在动态增长的Collection上使用For Each,而不用担心集合内容的总数或烦人的下标问题。
这个版本的Visual Basic还能够开发DLL工程,其实就是COM的DLL,可以将书写好的类用这种方式和其他语言共享。
总之,这个4.0的版本为Visual Basic成为一种COM语言奠定了基础。用Visual Basic 4.0开发基于COM的DLL比任何一种开发工具都方便。但是,Visual Basic 4.0的性能问题变得更加严重了,P-代码的组件成为Visual Basic 4.0严重的性能瓶颈,而且巨大的运行库也让用户感到不满。Visual Basic 4.0对以前版本的支持也不好,使用了大量VBX的项目很难移植到Visual Basic 4.0中。因此,Visual Basic 4.0在中国的普及程度非常低。
Visual Basic 4.0
1997-Visual Basic的丰收年
1997年,微软推出了Visual Basic 5.0,这个版本的重要性几乎和4.0一样高。COM(这时候叫ActiveX)已经相当成熟,Visual Basic 5.0当然对它提供了最强的支持。不过,国内还没有意识到COM的重要性前主要对这个版本另一个最大的亮点十分关注:本地代码编译器。Visual Basic 5.0终于在用户的呼声中加入了一个本地代码编译器,它可以让应用程序的效率大大提升。除了这个大家都知道的改进以外,Visual Basic 5.0对Visual Basic For Application语言有重大的完善和丰富:
5、? 事件。Visual Basic 5.0终于允许用户自己创建事件,而且这事件的语法相当强健和完善,这在一种不支持函数回调的语言中是很难得的。现在,VB拥有属性、方法和事件的完整封装性。
6、? 接口。这是VB实现多态性的基础。同时为编写COM组件提供了更多方便。
7、? 枚举。在Visual Basic 5.0中枚举作为Long整型的子类型出现,用枚举可以对常量进行完善的封装。
8、? 类模块的改进。通过类模块的属性可以指定类模块具有多种指定的行为,如私有构造函数等,可以通过这个功能创建符合Singleton和Monostate模式的设计。
9、? Debug.Assert。虽然这个断言系统有点鸡肋,但是总算是给调试带来了方便。
10、 Visual Basic 5.0支持创建自己的集合类。可以创建用于For Each语句的集合类型。
11、新的数据类型Decimal,可以精确地处理有效数位较多的计算。
Visual Basic 5.0的IDE支持“智能感知”,这是一项非常方便开发者的功能,可以不必记住很长的成员名称和关键字,只要按“.”,想要的东西统统弹出来。
Visual Basic 5.0还支持开发自己的ActiveX 控件、进程内的COM DLL组件、进程外的COM EXE组件以及在浏览器中运行的ActiveX文档。这极大丰富了Visual Basic的开发能力,在Internet开发上,Visual Basic 5.0也能有所建树。
Visual Basic 5.0学习版——我的第一份正版VB
1998-企业真正高效的源泉
Visual Basic 6.0作为Visual Studio 6.0的一员发布,证明微软正在改变Visual Basic的产品定位,他想让Visual Basic成为企业级快速开发的利器。Visual Basic 6.0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。数据环境和新的报表功能也让数据开发有了全新的体验。Visual Basic 借助COM/COM+强大的功能,可以开发具有N层结构的分布式应用程序。同时,Visual Basic还可以在IIS上开发性能超群的Web应用程序。Visual Basic 6.0在语言方面和IDE方面的改进都不大,但是许多新增的组件成为Visual Basic开发人员手中的利器,如File System Object等。新的字符串函数Split和Replace等也给Visual Basic的程序员带来很大方便。
总之Visual Basic 6.0已经是非常成熟稳定的开发系统,能让企业快速建立多层的系统以及Web应用程序,成为当前Windows上最流行的Visual Basic版本。
Visual Basic 6.0
2002-第三次革命性变化,向.NET进军
从1998年发布到2002年正式推出Visual Basic. NET简直吊足了开发者的胃口。从2000年就开始传言的具有继承、Try…Catch语句等新功能的全新VB7.0一直没有露面。直到2001 年,Visual Studio.NET的第一个BETA版问世的时候,所有人都呆了——这是Visual Basic吗?And语句变成了BitAnd,数组只能从0下标开始,而且连Dim语句的意义都变了,几乎所有的窗体控件都变了,Long变成了 Integer而Integer变成了Short,Variant不见了,Static不能用了……简直是翻天覆地,人们已经无暇关注这个版本有什么改进,转而担心我怎么才能接受这个本本了。其实Visual Basic. NET完全是为了.NET Framework这一全新的平台而设计的,Visual Basic. NET的设计者一开始没有掌握好新平台和旧语言的平衡。到了BETA2中,很多东西回归了6.0,如BitAnd又变回了And,数组的定义语句也变回了原有的意义,Static也回到了Visual Basic中。但是BETA1惊人的变化让所有的VB开发者怕了,他们觉得这种语言被改的千疮百孔,有些人干脆转去研究传说中的新语言C#。但是 Visual Basic. NET渡过几个BETA版本之后还是找到了正确的定位。Visual Basic. NET有对CLR最完善的支持,同时尽量保留着BASIC易懂的语法风格和易用性。这个版本新增加的功能已经数不清,最重要的几个是:
1、? 继承。至此,Visual Basic完成了向面向对象转变的道路。
2、? 共享成员。
3、? Try…Catch结构化异常处理。
4、? Delegate和Interface。
5、? 名称空间。
6、? 对自由线程的支持。
特别的是,Visual Basic. NET大大减少了Visual Basic语言的关键字,如GoSub、PSet等等。原先的Visual Basic有多达120个关键字,这给写程序带来了很大的不便,现在经过精简,Visual Basic脱下了这个沉重的包袱。
Visual Basic. NET现在是一门现代的、强壮的、面向对象的、简单的可视化开发语言。强大的语言功能吸引了很多开发者。历史是在不断重演的,Visual Basic. NET如今的处境和Visual Basic 4.0很相似,由于兼容性变差,人气也降低了。同时由于依附于.NET Framework,程序发布造成了一定的困难。现在国内使用Visual Basic. NET的人相对于Visual Basic 6.0来讲显得很少。但是凭借Visual Basic. NET强大的语言功能和MS的支持,Visual Basic. NET一定会显出它的光辉来。
2003-稳中求变的新版本
Visual Basic. NET 2003是一个相当稳重的版本,改变很少,但对小处有很多改进。首先Visual Basic 6.0升级向导做了很大改进,这给从老版本痛苦升级的人带来了更多一些的希望。其次在IDE方面,Visual Basic. NET 2003修正了许多错误,还让事件处理恢复了6.0的开发体验。语言方面只有两项改进:
1、? 在For、For Each语句中声明循环变量。
2、? 增加了数学移位运算符<<和>>。
在这个比较成熟稳定的新版本下,许多Visual Basic的爱好和开始重新了解Visual Basic. NET,社区里面也渐渐热闹起来。但是,有些使用C#的开发者坚持认为Visual Basic. NET是垃圾,尽管Visual Basic. NET拥有比C#更多的功能和更好的IDE。这说明不了解Visual Basic. NET成为它普及的最大障碍。
2005-完美主义的Visual Basic,能否再现辉煌?
为了让Visual Basic有最佳的开发体验,Visual Basic 2005的设计者绞尽了脑汁。这次Visual Basic 2005光语言上的改进就足以让Visual Basic的开发人员高兴一阵子。大家可以去看看我那篇介绍Visual Basic 2005新增功能的贴子。挑重要的列在下边:
1、? 泛型
2、? 运算符重载
3、? Partial Type
4、? 窗体的默认实例(让你用VB6的语法使用窗体)
5、? 语法的多种改进
6、? My关键字
现在用Visual Basic 2005只要一行代码就可以读写注册表、访问文件、读写串口、获取应用程序信息…… 用Visual Basic 2005完全可以称作享受开发。而泛型、运算符重载等功能又可以让Visual Basic的开发人员深入.NET Framework的全部功能,开发出最优秀的应用程序。
Visual Basic 2005预示着Visual Basic光明的前景,所有Visual Basic的爱好者和使用者都和我一起等待这个新版本吧。
C++编程语言历史========
C++是从C语言发展而来的,而C语言的历史可以追溯到1969年。 在1969年,美国贝尔实验室的Ken Thompson为DEC PDP-7计算机设计了一个操作系统软件,这就是最早的UNIX。接着,他又根据剑桥大学的Martin Richards设计的BCPL语言为UNIX设计了一种便于编写系统软件的语言,命名为B。B语言是一种无类型的语言,直接对机器字操作,这一点和后来的C语言有很大不同。作为系统软件编程语言的第一个应用,Ken Thompson使用B语言重写了其自身的解释程序。 1972—1973年间,同在贝尔实验室的Denis Ritchie改造了B语言,为其添加了数据类型的概念,并将原来的解释程序改写为可以在直接生成机器代码的编译程序,然后将其命名为C。1973 年,Ken Thompson小组在PDP-11机上用C重新改写了UNIX的内核。与此同时,C语言的编译程序也被移植到IBM 360/370、Honeywell 11以时VAX-11/780等多种计算机上,迅速成为应用最广泛的系统程序设计语言。然而,C语言也存在一些缺陷,例如类型检查机制相对较弱、缺少支持代码重用的语言结构等,造成用C语言开发大程序比较困难。为了克服C语言存在的缺点,贝乐实验室的Bjarne Stroustrup博士及其同事开始对C语言进行改进和扩充,将“类”的概念引入了C语言,构成了最早的C++语言(1983)。后来,Stroustrup和他的同事们又为C++引进了运算符重载、引用、虚函数等许多特性,并使之更加精炼,于1989后推出了AT&T C++ 2.0版。随后美国国家标准化协会ANSI(American National Standard Instiute)和国际标准化组织ISO(International Standards Organization)一起进行了标准化工作,并于1998年正式发布了C++语言的国际标准ISO/IEC:98-14882。各软件商推出的 C++编译器都支持该标准,并有不同程序的拓展。 C++支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目,从开发时间、费用到软件的重用性、可扩充性、可维护性和可靠性等方面,C++均具有很大的优越性。同时,C++又是C语言的一个超集,这就使得许多C代码不经修改就可被C++编译通过。
JAVA编程语言历史=========
Java,是一种可以编写跨平台应用软件的面向对象的程序设计语言,由Sun(太阳微电子,Sun Microsystems)公司的James Gosling等人于1990年代初开发。它最初被命名为Oak,作为一种小家用电器的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近夭折之时,随着Internet的发展,Sun看到了 Oak在计算机网络上的广阔应用前景,于是改造了Oak,在1995年5月以"Java"的名称正式发布了。Java伴随着Internet的迅猛发展而发展,逐渐成为重要的Internet编程语言。
Java编程语言的风格十分接近C++语言。Java继承了C++语言面向对象技术的核心,舍弃了C++语言中的指针(以引用取代)、运算符重载、多重继承(以接口取代)等成分,增加了自动垃圾收集功能用于回收不再被引用的对象所占据的内存空间。在J2SE1.5版本中Java又引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,这同时也在一定程度上降低了Java程序的运行效率。
Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java平台是基于Java语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。
目前Java提供以下三个版本:
J2ME(Java 2 Platform, Micro Edition):微型版的Java平台
J2SE(Java 2 Platform, Standard Edition):标准版的Java平台
J2EE(Java 2 Platform, Enterprise Edition):企业版的Java平台
Java的历史:
1995年5月23日,Java语言诞生
1996年1月,第一个JDK-JDK1.0诞生
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
1996年9月,约8.3万个网页应用了JAVA技术来制作
1997年2月18日,JDK1.1发布
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月8日,JAVA2企业平台J2EE发布
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME)
2000年5月8日,JDK1.3发布
2000年5月29日,JDK1.4发布
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
2001年9月24日,J2EE1.3发布
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0
‘肆’ php编程技术的发展历史
PHP原始为 Personal Home Page的缩写,现已经正式更名为 PHP: Hypertext Preprocessor的缩写。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于19
ISAPI筛选器94年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。
在1995年早期以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性。比如循环语句和数组变量等等;在新的成员加入开发行列之后,Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI。
在1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础。而 PHP 也在这个时候改称为PHP:Hypertext Preprocessor.[5]。经过几个月测试,开发团队在1997年11月发布了 PHP/FI 2。随后就开始 PHP 3 的开放测试,最后在1998年6月正式发布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写PHP 的核心,这个在1999年发布的剖析器称为 Zend Engine[7],他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。至2013年PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。
PHP最新稳定版本:5.3.21(2013.1.17)
PHP最新发布版本:5.4.11(2013.1.17)
‘伍’ 简述计算机网络的四个发展史
追溯计算机网络的发展历史,它的演变可概括地分成四个阶段:
(1)网络雏形阶段。从20世纪50年代中期开始,以单个计算机为中心的远程联机系统,构成面向终端的计算机网络,称为第一代计算机网络。
(2)网络初级阶段。从20世纪60年代中期开始进行主机互联,多个独立的主计算机通过线路互联构成计算机网络,无网络操作系统,只是通信网。60年代后期,ARPANET网出现,称为第二代计算机网络。
(3)20世纪70年代至80年代中期,以太网产生,ISO制定了网络互连标准OSI,世界上具有统一的网络体系结构,遵循国际标准化协议的计算机网络迅猛发展,这阶段的计算机网络称为第三代计算机网络。
(4)从20世纪90年代中期开始,计算机网络向综合化高速化发展,同时出现了多媒体智能化网络,发展到现在,已经是第四代了。局域网技术发展成熟。第四代计算机网络就是以千兆位传输速率为主的多媒体智能化网络。
拓展资料:
计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和 信息传递的计算机系统。
计算机网络也称计算机通信网。关于计算机网络的最简单定义是:一些相互连接的、以共享资源为目的的、自治的计算机的集合。若按此定义,则早期的面向终端的网络都不能算是计算机网络,而只能称为联机系统(因为那时的许多终端不能算是自治的计算机)。但随着硬件价格的下降,许多终端都具有一定的智能,因而“终端”和“自治的计算机”逐渐失去了严格的界限。若用微型计算机作为终端使用,按上述定义,则早期的那种面向终端的网络也可称为计算机网络。
另外,从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。
从用户角度看,计算机网络是这样定义的:存在着一个能为用户自动管理的网络操作系统。由它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。
一个比较通用的定义是:利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。
从整体上来说计算机网络就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。简单来说,计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的集合体。
最简单的计算机网络就只有两台计算机和连接它们的一条链路,即两个节点和一条链路。
‘陆’ 编程语言的历史
在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而有许多语言并对新手来说太难学;还有,不同程序之间的运行成本(runtime cost)各不相同。
有许多用于特殊用途的语言,只在特殊情况下使用。例如,PHP专门用来显示网页;Perl更适合文本处理;C语言被广泛用于操作系统和编译器的开发(所谓的系统编程)。
程序设计语言使得计算机程序不再过度地倚赖某种特定的机器或环境。这是因为程序设计语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言之一FORTRAN的一个主要目标,就是实现平台独立。
虽然大多数的语言可以既被编译(compiled)又被解译(interpreted),但大多数只在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL,编译程序先编译一个叫做“0代码”的转换程序(representation),然后再使用虚拟器转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code,以及Smalltalk和二进制码,虽然在很多时候,中间过渡的代码往往是解译,而不是编译的。
如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就被成为编译。因此,一个编译器是一个将人可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(object code)。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种模拟器的二进制代码。
如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作解译。经解译的程序运行速度往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。参见解译语言。
目录 [显示隐藏]
1 特点
1.1 数据和数据结构
1.2 指令及流程控制
1.3 引用机制和重用
2 程序设计语言的历史
3 常见的程序设计语言
[编辑]特点
每一种程序设计语言可以被看作是一套包含语法、词汇和含义的正式规范。
这些规范通常包括:
数据和数据结构
指令及流程控制
引用机制和重用
设计哲学
大多数被广泛使用或经久不衰的语言,拥有负责标准化的组织,经常会晤来创造及发布该语言的正式定义,并讨论扩展或贯彻现有的定义。
[编辑]数据和数据结构
现代计算机内部的数据都只以二元方式储存,即开-关模式(on-off)。现实世界中代表信息的各种数据,例如名字、银行账号、度量以及同样低端的二元数据,都经由程序设计语言整理,成为高端的概念。
一个程序中专门处理数据的那个系统被称为程序语言的型态系统(type system);对型态系统的研究和设计被称为型态理论(type theory)。语言可以被分为静态型态系统(statically typed systems),例如C++和Java,和动态型态系统(dynamically typed systems),例如Lisp,JavaScript,Tcl和Prolog。前者可被进一步分为包含宣告型态(manifest type)的语言,即每一个变量和函数的型态都清楚地宣告,或type-inferred语言(例如MUMPS,ML)。
大多数语言还能够在内置的型态基础上组合出复杂的数据结构型态(使用数组,列表,堆栈,文件等等)。面向对象语言(Object Oriented Language,又译作物件导向语言)允许程序员定义新的数据型态,即“对象”或“物件”(objects),以及运行于该对象的函数(functions)和方法(methods)。
除了何时以及如何确定表达式和型态的联系,另外一个重要的问题就是语言到底定义了哪些型态,以及允许哪些型态作为表达式的值。诸如C编程语言之类的低端语言允许程序命名内存位置、内存区域以及编译时的常量;ANSI C甚至允许表达式返回结构值(struct values)。功能性的语言一般允许变量直接使用运行时计算出的值,而不是指出该值可能储存的内存地址。
[编辑]指令及流程控制
一旦数据被确定,机器必须被告知如何对这些数据进行处理。较简单的指令可以使用关键字或定义好的语法结构来完成。不同的语言利用序列系统来取得或组合这些语句。除此之外,一个语言中的其他指令也可以用来控制处理的过程(例如分支、循环等)。
[编辑]引用机制和重用
引用的中心思想是必须有一种间接设计储存空间的方法。最常见的方法是通过命名变量。根据不同的语言,进一步的引用可以包括指向其他储存空间的指针。还有一种类似的方法就是命名一组指令。大多数程序设计语言使用宏调用、过程调用或函数调用。使用这些代替的名字能让程序更灵活,并更具重用性。
[编辑]程序设计语言的历史
二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(Konrad Zuse)。
几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。
于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。
[编辑]常见的程序设计语言
APL、A+和J
ASP
Ada
汇编语言
AWK
Basic、Fortran
Brainfuck
C、C++
C#
Clipper
COBOL
dBase
PASCAL、Delphi
Forth
FoxPro
F#
IDL
Java
JavaScript
J#
LISP
LOGO
Mola
Perl
PHP
PL/1
Prolog
Python
Ruby
Scheme
Smalltalk
SQL
Tcl/Tk
UML
Visual Basic
Visual FoxPro
参考文献:维基网络
‘柒’ 编程语言的历史
两个都是英文版的。
编程语言和软件历史年表大全
Year - Languages, Operating Systems, Major Programs, Etc.
1945 EDVAC utilizes stored program concept
1945 Plankalkul (Konrad Zuse)
1949 Short Code (for BINAC) (John Mauchly)
1950 Intermediate Programming Language (Arthur W. Burks)
1951 Klamemerausdrucke (algebraic language and compilers)
1951 Formules (complete compiler) (Heinz Rutishauser)
1951 Find (for the Whirlwind) (Jack Gilmore)
1952 Autocode compiler (Alick E. Glennie)
1952 Short Code (for UNIVAC 1) (W.F. Schmidt, A.B. Tonik, J.R. Logan)
1952 Sort-Merge Generator (for UNIVAC 1) (Betty Holberton)
1952c COMPOOL (for SAGE) (MIT)
1952 Punchy (for TX-O) (Jack Gilmore)
1953 A-2 Compiler (for UNIVAC) (Grace Hopper)
1953 Algebraic interpreter (for Whirlwind, MIT) (J.H. Laning, N. Zierler)
1953 Speedcoding (for IBM 701) (John Backus)
1954 Operating System (for IBM 701, General Motors Research Laboratory)
1954 Autocode (for Manchester Mark 1) (R.A. Booker)
1954 PiPi-2 Prgrmg Program (compiler, USSR) (E.Z. Liumbimskii, S.S. Kamynin)
1954c Autocoder assembly language (for IBM 705)
1955 PiPi Programming Program (for BESM) (USSR)
1955 BACAIC (for IBM 701) (Mandalay Grems, R.E. Porter, Boeing Airplane Co.)
1955 MATH-MATIC mathematical programming language (for UNIVAC) (C. Katz)
1955 Kompiler 2 (for IBM 701) (A. Kenton Elsworth, Livermore Laboratory)
1956 Operating Sys. (for IBM 704) (General Motors; North American Aviation)
1956 ADES (U.S. Naval Observatory) (E.K.Blum)
1956 APT machine tool control (MIT) (Douglas Ross)
1956 Logic Theorist AI program (A. Newell & H. Simon, Carnegie Institute)
1956 IT (Internal Translator) (for IBM 650) (A. Perlis & J.W. Smith)
1956 Mark I report generator (for IBM 702) (General Electric-Hanford)
1956 FORTRAN (Formula Translation) (John Backus, IBM)
1957 Mark II Report generator (for IBM 702) (General Electric-Hanford)
1957 IPL-V (Information Processing Language V)
1957 Fortransit programming language
1957 COMIT string processing language (Victor Yngve, MIT)
1957 Scope Writer (for TX-2) (Jack Gilmore)
1957 Lincoln Writer (for TX-2) (Jack Gilmore)
1958 APT (Automatically Programmed Tool)
1958 FLOW-MATIC (for UNIVAC, Remington-Rand) (Grace Hopper)
1958c SOAP assembler (for IBM 650)
1958 IR (Information Retrieval) database management system (for IBM 704)
1958 LISP (List Processing language) (John McCarthy, MIT)
1958 AIMACO data processing language
1958 IPL V list processing language
1959 DYNAMO III
1959 TUFF/TUG (for IBM 704)
1959 9PAC file handling (for IBM 709)
1959 FACT business data processing language
1959 SURGE (for IBM 704) (Fletcher Jones)
1959 SAGE operating system (for IBM AN/FSQ7) (System Development Corp.)
1959c SAP assembler (for IBM 704)
1959c ASCI-Matic (Jack Minker)
1959 COBOL (December release)
1960 Atlas operating system for Atlas Computer)
(Manchester Univ. & Ferranti)
1960 ALGOL 60 (Algorithmic Language)
1960 COBOL (Common Business Oriented Language)
1960 JOVIAL (Jules Own Version of Int. Algebraic Language) (Jules Schwartz)
1960 MAD (Michigan Algorithm Decoder)
1960 NELIAC (Navy Electronics Laboratory International Algol Compiler)
1960 TRAC string processing language
1960 SCEPTRE
1960 IOCS operating system (for IBM 709/7090)
1960 FMS operating system (for IBM 709) (North American Aviation)
1961 COBOL revised and reissued
1961 SOS operating system (for IBM 709) (SHARE and IBM)
1961 GPSS (General Purpose Systems Simulator)
1961 SAC/Aids Formatted File System (for SAC 438L system) (SAC)
1961 BASE-BALL natural language system (B.V. Green)
1961 QUERY database (T. E. Cheatham, S. Warshall)
1961 RPG (Report Program Generator) (for IBM 1401)
1961 MADCAP scientific programming language
1961 ALGY formula manipulation language
1961 GECOM business data processing language
1961 QUICKTRAN on-line programming language
1961 Expensive Typewriter (IBM 360) (Stephen Piner)
1961 COBOL 61 Extended
1962 CTSS operating system (for IBM 7090 & IBM 7094) (Dr.F. Corbato, MIT)
1962 Gen. Info. & Retrieval System (GIRLS) for IBM 7090 (J.A. Postley, AIS)
1962 EXEC 1 operating system (for Univac 1107) (Computer Sciences Corp.)
1962 APL (A Programming Language) (Kenneth Iverson)
1962 IBSYS operating system (IBM 7090)
1962 Advanced Data Management System (ADAM) (for IBM 7030) (MITRE)
1962 COLINGO database (for IBM 1401)
1962 FORMAC formula manipulation
1962 SNOBOL (String Oriented Symbolic Language)
1963 Master Control Program operating system (for Burroughs B5000)
1963 COGO (Coordinate Geometry)
1963 Information Processing System (IPS) (for CDC 1604) (NAVCOSSACT)
1963 JOSS (Johnniac Open Shop System) (J.Cliff Shaw, Rand Corporation)
1963 CORC scientific programming language
1963 OMNIT AB scientific programming language
1963 Ambit
1964 Integrated Data Store (I-D-S) (Charles Bachman, General Electric)
1964 OS/360 operating system (for IBM 360)
1964 BASIC (Beginners All-Purpose Symbolic Instruction Code)
(John Kemeny, Thomas Kurtz, Dartmouth College)
1964 FORMAC (Formula Manipulation Compiler) for non-numeric mathematics
(Jean Sammet)
1964 PAT on-line programming language
1964 PL/1 (developed by IBM and SHARE)
1964 Altran
1965 Generalized Update Access Method (GUAM) (IBM 7010)
(developed by North American Space Division)
1965 Remote Access Terminal System (for IBM 7010)
(developed by IBM, and Rockwell International)
1965 Generalized Information System (GIS) (for IBM System/360)
1965 DENDRAL (Edward Fiegenbaum, Joshua Lederberg (Stanford University)
1965 C-10 database management system (IBM 1410) (developed by MITRE)
1965 COGENT report generator (for IBM 709)
1965 CPS on-line programming language
1965 RUSH on-line programming language
1965 Amtran on-line programming language
1965 FLAP formula manipulation programming language
1965 CLP list processing language
1965c MULTICS interactive operating system (for GE/Honeywell 645)
(developed by GE, Bell Labs & MIT)
1965 TRAC
1965 SNOBOL 3
1966 SIMULA I (Kristen Nygaard, Ole-Lohan Dahl) (First Object Oriented Language)
1966 TOSS operating system (for IBM System/360) (developed by RCA)
1966 Dialog on-line programming language
1966 MAP on-line programming language
1966 NAPSS scientific programming language
1966 Euler scientific programming language
1966 Coursewriter II
1966 OMNITAB II
1966 ECAP II (Electronic Circuit Analysis Program II)
1966 MPSX (Mathematical Programming System Extended)
1967 RAMIS non-proceral programming language (Mathematical)
1967 MANAGE database management system (for XDS 940 computer)
(developed by Scientific Data Systems)
1967 AS-IST database management system (for IBM System/360)
(developed by Applications Software)
1967 LUCID database management system (for AN/FSQ32)
(developed by System Development)
1967 ICES (Integrated Civil Engineering System)
1967 CSSL (Continuous Systems Simulation Language)
1967 Simula 67 (Simulation Language 1967)
1967 CPUL programming language
1967 POSE scientific programming language
1967 MAC-30 programming language
1967 DIAGMAG scientific programming language
1967 REDUCE formula manipulation language
1967 SPRINT list processing language
1967 LOLITA list processing language
1967 EOL-3 string processing language
1967 LEAP multipurpose programming language
1967 SNOBOL 4
1968 ALGOL 68 (Algorithmic Language)
1968 ATLAS (Abbreviated Test Language for "All" Systems)
1968 CSMP (Continuous System Modeling Program)
1968 Speakeasy
1968 OS/MFT operating system (for IBM 360 computers)
1968 TSS operating system (for IBM 360/370)
1968 MCP operating system (for Burroughs for B2500 and B3500)
1968 PAL programming language
1968 Proteus programming language
1968 GPL general purpose programming language
1968 TPS
1968 Salem
1968 Ariel
1968 Bruin
1968 TLC
1968 Termac
1968 Active Language 1
1968 Symbal
1968 Champ
1969 MUMPS (Massachusetts General Hospital General Utility
Multi-Programming System)
1969 PILOT
1969 CP-67/CMS operating system (for IBM 360 computer)
1969 OS/MVT operating system (for IBM 360 computer)
1969 Data Manager-1 (developed by Auerbach)
1969 UNIX multi-user, multitasking operating system development begun at Bell Labs
1969 Cobol Data Management System (CDMS) (for IBM 360)
(developed by Defense Intelligence Agency)
1969 Information Management System (IMS) hierarchical database management
system (developed by IBM)
1969 TSOS operating system (for Spectra 70/46) (developed by RCA)
1969 Time Shared Data Management System (TSDMS) (for IBM 360)
1969 Remote File Management System (for CDC 6000)
(developed at University of Texas)
1969 McG360 programming language
1969 DML programming language
1969 REL programming language
1969 PLANNER programming language
1969 REF-ARF programming language
1969 IITRAN multipurpose programming language
1969 APAREL multipurpose programming language
1969 NUCLEOL string processing language
1969 LEAF list processing language
1969 IAM formula manipulation language
1969 PPL on-line programming language
1969 OSCAR on-line programming language
1969 TRANQUIL scientific programming language
1969 SPEAKEASY scientific programming language
1969 STIL scientific programming language
1969 Music V (Max Mathews)
1969 Scratchpad
1970 BLISS (Basic Language for Implementation of System Software)
1970 SC-1 database management system (for IBM 360)
(developed by Western Electric)
1970 DMS data management system (for Sigma 5,7,9 computers)
(developed by Xerox Data Systems)
1970 S2000 data management system (for CDC 6000)(developed by SRI Systems)
1970 AIDS scientific programming language
1970 IIMP scientific programming language
1970 POEL scientific programming language
1970 LPL list processing language
1970 BALM list processing language
1970 Gedanken programming language
1970c Macsyma programming language (Joel Moses, MIT)
1970 Vulcan
1970 PDEL
1970 Pascal (Niklaus Wirth)
1971 VMOS operating system (for Spectra computers) (developed by RCA)
1971 ETC programming language
1971 TUTOR
1971 ISPL (Instruction Set Processor Language)
1971 FORMAC formula manipulation language
1971 HAL/S A programming language used aboard the Space Shuttle Columbia
1972 SMALLTALK object-oriented language (Alan Kay; Xerox)
1972 PL/M high-level language for microprocessor
1972 VS/9 operating system (for UNIVAC Series 90)
1972 Development of C language (Dennis Ritchie)
1973 BS2000 operating system (for Siemens 7500)
1973 VM 1370 operating system (for IBM 370 series)
1973 OS/VS operating system (for IBM 370 series)
1973 Pholas data management system (for Philips P1000)
1973 PDS/MaGEN (Problem Descriptor System)
1974 PL/M
1975 SPSS (Statistical Programs for the Social Sciences)
1975 OS/MVS operating system (for IBM 370 series)
1975 UNIX licensed by Western Electric for academic and commercial sectors
1975 ADA programming language developed for U.S. Dept. of Defense
1975 MDQS (Management Data Query System) developed by Honeywell
1976 Mola multiprocessing language (Niklaus Wirth)
1976 SMALLTALK 76 (Alan Kay, Adele Goldberg, Daniel H. H. Ingalis; Xerox PARC)
1977 CP/M (Control Program for Microprocessors) (Gary Kildall)
1979 VisiCalc electronic spreadsheet software for microcomputers
1979 X-CON (aka RI) expert system (Carnegie-Mellon University)
(used at Digital Equipment Corporation)
1980 INTELLECT natural language query system
(Artificial Intelligence Corporation)
1980 CPF operating system (for IBM System/38 minicomputer)
1980 C++ (Bjarne Stroustrup, Bell Labs)
1981 MS/DOS (Microsoft Disk Operating System)
developed by Microsoft Corporation) (IBM version called PC/DOS)
1983 KEE (expert systems development tool) IntelliCorp.
198? Objective C (Brad Cox; Stepstone Corporation)
1988 Windows 386 version 2.0 Released by Microsoft Corporation
1990 (April) Windows 3.0 released by Microsoft Corporation
1991 Windows NT Server version 3.1 released by Microsoft Corporation
1994 Windows NT Server version 3.5 released by Microsoft Corporation
1995 Windows 95 (microcomputer operating system and interface, Microsoft Corporation)
1995 JAVA (James Gosling, Sun Microsystems)
1996 Windows NT Server version 4.0 released by Microsoft Corporation
1996 "Inferno" under development by Dennis Ritchie and others
1996 (March) Microsoft’s Active X is released
1996 (October) Sun Microsystems SunSoft division releases JavaBeans
1996 Symantec’s Visual Cafe 1.0 tool (supports JavaBeans model)
1996 Delphi announces JBuilder (formerly code-named Latte)
1996 IBM’s Visual Age (supports JavaBean)
1996 Powersoft announces Jato (originally code-named Starbuck) (supports JavaBeans)
1996 Oracle Corporation announces Sedona, a development tools technology
1997 Microsoft Windows NT 5.0
编程语言历史
《BYTE》:A Brief History of Programming Languages
We’ve come a long way from computers programmed with wires and punch cards. Maybe not as far as some would like, though. Here are the innovations in programming.
ca. 1946
Konrad Zuse , a German engineer working alone while hiding out in the Bavarian Alps, develops Plankalkul. He applies the language to, among other things, chess.
--------------------------------------------------------------------------------
1949
Short Code , the first computer language actually used on an electronic computing device, appears. It is, however, a "hand-compiled" language.
--------------------------------------------------------------------------------
1951
Grace Hopper , working for Remington Rand, begins design work on the first widely known compiler, named A-0. When the language is released by Rand in 1957, it is called MATH-MATIC.
--------------------------------------------------------------------------------
1952
Alick E. Glennie , in his spare time at the University of Manchester, devises a programming system called AUTOCODE, a rudimentary compiler.
--------------------------------------------------------------------------------
1957
FORTRAN --mathematical FORmula TRANslating system--appears. Heading the team is John Backus, who goes on to contribute to the development of ALGOL and the well-known syntax-specification system known as BNF.
--------------------------------------------------------------------------------
1958
FORTRAN II appears, able to handle subroutines and links to assembly language. John McCarthy at M.I.T. begins work on LISP--LISt Processing.
The original specification for ALGOL appears. The specific ation does not describe how data will be input or output; that is left to the indivial implementations.
--------------------------------------------------------------------------------
1959
LISP 1.5 appears. COBOL is created by the Conference on Data Systems and Languages (CODASYL).
--------------------------------------------------------------------------------
1960
ALGOL 60 , the first block-structured language, appears. This is the root of the family tree that will ultimately proce the likes of Pascal. ALGOL goes on to become the most popular language in Europe in the mid- to late-1960s.
Sometime in the early 1960s , Kenneth Iverson begins work on the language that will become APL--A Programming Language. It uses a specialized character set that, for proper use, requires APL-compatible I/O devices.
--------------------------------------------------------------------------------
1962
APL is documented in Iverson’s book, A Pro gramming Language .
FORTRAN IV appears.
Work begins on the sure-fire winner of the "clever acronym" award, SNOBOL--StriNg-Oriented symBOlic Language. It will spawn other clever acronyms: FASBOL, a SNOBOL compiler (in 1971), and SPITBOL--SPeedy ImplemenTation of snoBOL--also in 1971.
--------------------------------------------------------------------------------
1963
ALGOL 60 is revised.
Work begins on PL/1.
--------------------------------------------------------------------------------
1964
APL\360 is implemented.
At Dartmouth University , professors John G. Kemeny and Thomas E. Kurtz invent BASIC. The first implementation is a compiler. The first BASIC program runs at about 4:00 a.m. on May 1, 1964.
PL/1 is released.
-----------------------------------------------------------------------------
1965
SNOBOL3 appears.
--------------------------------------------------------------------------------
1966
FORTRAN 66 appears.
LISP 2 appears.
Work begins on LOGO at Bolt, Beranek, & Newman. The team is headed by Wally Fuerzeig and includes Seymour Papert. LOGO is best known for its "turtle graphics."
--------------------------------------------------------------------------------
1967
SNOBOL4 , a much-enhanced SNOBOL, appears.
--------------------------------------------------------------------------------
1968
ALGOL 68 , a monster compared to ALGOL 60, appears. Some members of the specifications committee--including C.A.R. Hoare and Niklaus Wirth--protest its approval. ALGOL 68 proves difficult to implement.
ALTRAN , a FORTRAN variant, appears.
COBOL is officially defined by ANSI.
Niklaus Wirth begins work on Pascal.
--------------------------------------------------------------------------------
1969
500 people attend an APL conference at IBM’s headquarters in Armonk, New York. The demands for APL’s distribution are so great that the event is later referred to as "The March on Armonk."
--------------------------------------------------------------------------------
1970
Sometime in the early 1970s , Charles Moore writes the first significant programs in his new language, Forth.
Work on Prolog begins about this time.
Also sometime in the early 1970s , work on Smalltalk begins at Xerox PARC, led by Alan Kay. Early versions will include Smalltalk-72, Smalltalk-74, and Smalltalk-76.
An implementation of Pascal appears on a CDC 6000-series computer.
Icon , a descendant of SNOBOL4, appears.
--------------------------------------------------------------------------------
1972
The manuscript for Konrad Zuse’s Plankalkul (see 1946) is finally published.
Denni s Ritchie proces C. The definitive reference manual for it will not appear until 1974.
The first implementation of Prolog -- by Alain Colmerauer and Phillip Roussel -- appears.
--------------------------------------------------------------------------------
1974
Another ANSI specification for COBOL appears.
--------------------------------------------------------------------------------
1975
‘捌’ 编程语言的历史发展和特点
高级语言不需要对计算机的硬件有太多的了解就可以学习的语言,可移植性比较好;汇编语言属于低级语言,它和计算机的硬件组织有关,首先,掌握CPU、存储器、外设的工作原理;其次,掌握汇编语言的指令和伪指令的格式、功能、使用方法;最后,掌握程序设计结构、设计方法。
BASIC是初学者比较容易学习的高级语言,做为入门语言比较适合;
C是用途比较广泛的面向过程的高级语言,但有些难度,尤其是指针;
c++语言和java语言是面向对象的高级语言,应用性比较广泛.
‘玖’ 计算机编程语言的发展过程
简单一点可以是:机器语言-汇编语言-高级语言……
‘拾’ 计算机程序设计的发展史
计算机语言的发展历史:
二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad
zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。