本篇文章给大家谈谈软件开发语言有哪些的发展史,以及软件开发的发展历程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、C语言的发展史
- 2、软件开发上主流的开发语言
- 3、计算机语言发展史
- 4、C#的发展历史
C语言的发展史
发展史:
C语言的祖先是BCPL语言。
1967年,剑桥大学的 Martin Richards 对CPL语言进行了简化,于是产生了BCPL(Basic Combined Pogramming Language)语言。
1970年,美国贝尔实验室的 Ken Thompson。以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。
在1972年,美国贝尔咐和实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
为了使UNIX操作系统推广,1977年Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年由美国电话电报公司(ATT)贝尔实验室正式发表了C语言。
1990年,国际标准化组织ISO(International Organization for Standards)接受了89 ANSI C 为I SO C 的标准(ISO9899-1990)。
1994年,ISO修订了C语言的标衡腊盯准。
1995年,ISO对C90做了一些修订,即“1995基准增补1(ISO/IEC/9899/AMD1:1995)”。
1999年,ISO有对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应该的需要,增加了一些功能,尤其是对C++中的一些功能,命名为ISO/IEC9899:1999。
2001年和2004年先后进行了两次技术修正。
目前流行的C语言编译系统大多是以ANSI C为基础进行开发的,但不同版本的C编译系统所实现的语言功能和语法规则有略有差别。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、局前小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
软件开发上主流的开发语言
软件开发主要看你想学什么开发语言,目前市场上主流的开发语言是Java,就Java而言是非常有前烂粗景的:
一、Java的市场规模
80%以上的高端企业级应用都使用Java平台(电信、银行等)。JAVA是成熟的产品,已经有10年的历史。Amazon、Google、eBay、淘宝、京东、阿里和其它的大型电子商务品牌都在使用Java来后台处理。这么多企业都青睐Java,主要原因是Java的可扩展性好,可以处理更多的客户数据。
二、Java称霸的领域
大型企业级应用,主要使用JavaEE,比如大型企业管理系统,最典型的就是
有关通信及网络的大型企业:移动、联通、电信、网通主要的信息化都是Java
有关金融行的大型企业,所有的银行、证券公司:工商银行、建设银行等的大型管理系统
电子政务:主要使用JavaEE,相关的政府部门绝大多数的信息化系统是Java开发的
游戏
嵌入式设备及消费类电子产品:无线手持设备、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等是比较热门的Java应用领域
三、Java发展前景广阔
EclipseFoundation执行董事MikeMilinkovich表示:“Java的未来一定是物联网,我十分期待Oracle和合作伙伴能够给出一个基于Java的端到端的存储解决方案,如果能够成功的话,那么未来20年凯历春,Java的地位都不会被动摇。”
现在这个时代不仅是行业的巨大机会,同时也是Java发展的时机。虽然Java的反对声音一直都有,但是并没有阻止Java前进的脚步,相反它会为Java的发展提供前进的方向,我们有理由相信,即使再过20年,Java也不会被打倒。
四、Java的持续完善
甲骨文宣布2016年9月发布Java9。此次更新主要集中在范语言功能的组件,更新的主要目的是使Java更快更方便。在Java任务控制套件和Java高级管理控制台的双重保障下,Java进入到了使用的新纪元,而同盯耐样进入这个纪元的,还有云计算和物联网。
作为最常用的云计算底层开发语言,Java的安全性、开放性、稳定性和跨平台性与云计算高可靠、高拓展的优势相得益彰。
五、Java是一门非常好的铺垫语言
对于初学者来说,Java是非常友好的,相对简单学习周期不会太长,很多人学过Java之后,再学习其他语言感觉非常轻松。因为编程思想,设计模式是不会被淘汰的。
Java的生态圈决定了它在未来10年,甚至20年都会是最热门的语言之一。而且退一万步讲,就算Java濒临淘汰,你在精通Java的情况下,学习其他语言也是触类旁通的。
计算机语言发展史
软件的产生始于早期的机械式计算机的开发。
从19世纪起,随着机械式计算机的更新,出现了穿孔卡片,这种卡片可以指导计算机进行工作。
但是直到20世纪中期现代化的电子计算机出现之后,软件才真正得以飞速发展。
在世界上第一台计算机ENIAC上使用的也是穿孔卡片,在卡片上使用的是专家们才能理解的语言,由于它与人类语言的差别极大,所以我们称之为机器语言。
也就是第一代计算机语言。
这种语言本质上是计算机能识别的唯一语言,但人类却很难理解它,以后的计算机语言就是在这个基础上,将机器语言越来越简化到人类能够直接理解的、近似于人类语言的程度,但最终送入计算机的工作语言,还是这种机器语言。
高级语言的任务就是将它翻译成易懂的语言,而这个翻译工作可以由计算速度越来越高、工作越来越可靠的计算机自己来完成。
计算机语言发展到第二代,出现了汇编语言。
比起机器语言,汇编语言大大前进了一步,尽管它还是太复杂,人们在使用时很容易出错误,但毕竟许多数码已经开始用字母来代替。
简单的“0、1”数码谁也不会理解,但字母是人们能够阅读并拼写的。
第二代计算机语言仍然是“面向机器”的语言,但它已注定要成为机器语言向更高级语言进化的桥梁。
当计算机语言发展到第三代时,就进入了“面向人类”的语言阶段。
你可以阅读、并直接用人类的语言来输入。
对我们汉语来说,目前还不能用中文汉字来输入指令,这主要是因为中文的输入还没有一个非常好的手段。
第三代语言也被人们称之为“高级语言”。
高级语言是一种接近于人们使用习惯的程序设计语言。
它允许用英文写解题的计算程序,程序中所使用的运算符号和运算式子,都和我们日常用的数学式子差不多。
例如用BASIC高级语言,要想计算7×6的结果,只需写出 PRINT7*6即可,送入计算机后将自动进行计算并打印出结果。
一般人都能很快学会使用计算机,并且完全可以不了解机器指令,也可则亩渗以不懂计算机的内部结构和工作原理,就能编写出应用计算机进行科学计算和事务管理的程序。
高级语言容易学习,通用性强,书写出的程序比较短,便于推广和交流,是很理想的一种程序设计语言。
高级语言发展于50年代中叶到70年代,有些流行的高级语言已经被大多数计算机厂家采用,固化在计算机的内存里。
如 BASIC语言,现在已有128种不同耐耐的 BASIC语言在流行,当然其基本特征是相同的。
除了BASIC语言外,还有FORTRAN(公式翻译)语言、 COBOL(通用商业语言)、 C语言、 DL/I语言、 PASCAC语言、ADA语言等250多种高级语言。
高级语言是一种动用语言,要完成某一个简单的计算步骤,你必须详细准确地给出每一条指令。
如解决经营管理活动中天天都要碰到的财务清账、库存等问题,就须编无数条程序,而情况一经变化,原有的设计程序则要修改,这样就使错误的可能性增大,工作效率大大降低。
为了解决这个问题,第四代计算机语言,即“实用语言”出现了。
第四代语言是使用第二代第三代语言编制而成的,每一种语言都有其特定的应用范围。
实际上,实用语言发展到今天已出现了一些有运用性质的第四代语言,如“LO- TOS1—2—3”。
第四代语言的特点就是它们只需要操作人员输入原始数据,并命令它们执行。
至于怎样执行则由它们本身来决定的,它已经在相当程度上替代了人脑的工作。
第四代语言的特点还在于:操作者几乎不需要经过特殊训练,几乎所有的“实用语言”都有“帮助(Help)”功能,你可以遵照计算机给出的指示来完成你的工作,第二次就完全不用帮助了!
计算机语言是人与计算机进行对话的最重要的手段。
目前人们对计算机发出的命令几乎都是通过计算机语言进行的。
人与人之间的交流不仅仅依靠语言,还有一些其它的方式,比如人的手势、眼神等。
由此我们可以推测,在不久的将来,计算机与人类的交流将是全方位的,而不再仅仅依靠计算机语言。
那时,人们将孙脊更方便、更容易地操纵和使用计算机。
C#的发展历史
C#的发展史
1999年,就听说微软公司在研发一种名为“cool”的新开发语言,而具体内幕一直是个谜,直到2000年6月26日微软在奥兰多举行的“职业开发人员技术大会”伏宏(PDC 2000)上,这个谜底终于揭晓了,这种新的、先进的、面向对象的开发语言就是c#(发音为“C sharp”)。戚前那么微软为什么要开发c#,c#究竟能给开发者带来什么好处呢?
■山雨欲来风满楼
1995年,SUN公司正式推出了面向对象的开发语言Java,并提出了跨平台、跨语言的概念后(write the code once and run it anywhere),Java就逐渐成为了企业级应用系统开发的首选工具,而且使得越来越多的基于C/C++的应用开发人员转向了从事基于Java的应用开发。Java的先进思想使其在软件开发领域大有山雨欲来风满楼之势。
很快,在众多研发人员的努力下,微软也推出了自己基于Java语言的编译器Visual J++,Visual J++在最短的时间里由1.1版本升到了6.0版本。这决不仅仅是数字上的变化,集成在Visual Studio 6.0中的Visual J++ 6.0的确有了质的变化,不但虚拟机(JVM)的运行速度大大加快,而且增加了许多新特性,同时支缺仔册持调用Windows API,这些特性使得Visual J++成为强有力的Windows应用开发平台,并成为业界公认的优秀Java编译器。
不可否认,Visual J++具有强大的开发功能,但其主要运用在Windows平台的系统开发中,SUN公司认为Visual J++违反了Java的许可协议,即违反了Java开发平台的中立性,因而,对微软提出了诉讼,这使得微软处于极为被动的局面。微软将如何应对呢?
■形势所迫另辟蹊径
就在人们认为微软的局面不可能再有改观的时候,微软却另辟蹊径,决定推出其进军互联网的的庞大计划——.NET计划,和该计划中旗帜性的开发语言——c#。
微软的.NET是一项非常庞大的计划,也是微软今后几年发展的战略核心,“在任何时间、任何地点,采用相应的设备以获取所需的信息”的梦想并非一朝一夕能实现的。Visual Studio.NET则是微软.NET的技术开发平台,其重要性可见一斑,而c#就集成在Visual Studio.NET中。
在软件开发领域中,广大的程序开发者们对用一个测试版的平台进行商业应用系统的开发通常都抱着排斥的态度,然而在Visual Studio.NET β版的发布时,众多开发者们却显示出了从未有过的热情。这种热情决不仅仅是因为.net计划的战略重要性和微软CEO巴尔默那情绪激昂的演讲,更表达了开发者需要一个具有强大功能的开发平台的迫切心情。
为了支持.NET平台,Visual Studio.NET在原来的Visual Studio 6.0的基础上进行了极大的修改和变更。在Visual Studio.NET β版中你会发现Visual J++消失了,取而代之的就是c#语言。至此,微软也摆脱了被动局面。
虽然Visual Studio.NET仍处在测试阶段,但集成在其中的微软新的开发语言c#,却已引起了众多开发者的瞩目。那么,c#究竟是由谁主持研发的呢?
■系出名门风头强劲
设计一个新的开发语言——c#,对微软未来的发展有着举足轻重的意义,而这样一项伟大而艰巨的任务,微软又怎能不慎之又慎呢!谁将承担此重任并成为开发 C#的首席设计师将是微软的一次“生死抉择”。微软最终决定由老将安德尔斯(Anders Hejlsberg)出马,这绝对是最明智之选。
国内的很多人对安德尔斯可能并不了解,但一提起他的杰作Trubo Pascal和Delphi,可谓是家喻户晓了。安德尔斯是原Broland公司的首席研发设计师,在Broland期间,安德尔斯开发了著名的 Trubo Pascal语言,并在其基础上开发了面向对象的应用开发工具Broland Delphi,Delphi目前仍是Broland公司的最重要的旗帜性产品,并已成为了广大开发人员最喜欢的RAD应用开发工具之一。安德尔斯来到微软后,就直接主抓Visul J++的研发工作,这也是为什么你会在c#中发现很多Visul J++特性的原因。
名家一出手,便知有没有!微软选择了安德尔斯,安德尔斯也没有让微软失望,C#不但成功研发出来,而且其功能之强劲更是让人为之一振!那么系出名门、风头强劲的C#究竟有何强大功能,能给广大开发者带来什么好处呢?
■身怀绝技步入征程
在微软的PDC 2000年会上,当演讲者向各大公司的研发人员展示基于.NET的ASP+上用c#进行设计开发Web应用程序时,观众们报以了热烈的掌声。
长期以来,C/C++都是最为广泛地应用于商用软件开发中的开发语言,但其强劲的功能和灵活的使用却同时伴随着开发的复杂性,很多基于C/C++的研发人员后来都称用C/C++进行开发如同噩梦一般。Java的出现改变了这一切。
Java是一个开放、标准、通用的网络运算平台,由于其强大的兼容性和跨平台性,已经成为在互联网技术领域被广泛采用的一个成熟的技术平台。但由于纯 Java编程的应用系统其运行速度太慢,而且据Forrest的调查报告显示,基于Java开发的应用系统目前也并没有实现百分百的跨平台,这使得 Java仍旧未能完全取代C/C++。
c#的出现给广大程序开发者又多了一种选择。微软公司对C#的定义是:“c#是一种类型安全的、现代的、简单的,由C和C++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的,并可立即被C和C++的使用者所熟悉。c#的目的就是综合Visual Basic的高生产率和C++的行动力。”这个定义是恰如其分的,因为在Visual Studio.NET的β版(见图1)中,我们已经可以利用c#极其简单地开发出强大的企业级分布式应用系统了。
需要提醒大家,脱离了.NET平台而单纯去讲C#是没有太大意义的,所以我们必须先了解一些.NET平台开发的基础知识,才能更深入了解c#的特性。
.NET框架的核心是基于XML的跨平台跨语言的信息交换,基于此种平台将十分有助于我们开发Internet分布式应用程序。
基于.NET的Web应用开发主要是使用ASP+,ASP+可以使用任何一种.NET支持的语言编写,而其中C#可以提供脚本语言所无法提供的强大功能,使用C#编写ASP+的Web应用程序在未来将成为Windows平台上Web开发的最佳选择。
了解了一些.NET平台开发的基础知识后,下面让我们再来结合.NET看看c#的一些绝技:
快速应用开发(RAD)功能
支持快速开发(Rapid application development)可以说是目前开发语言最为重要的一大功能,也正是C/C++的致命伤。网络时代应用系统的开发必须按照网络时代的速度来进行,支持快速开发可以使得开发人员的开发效率倍增,从而使得他们可以从繁重的重复性劳动中解放出来。
c#的RAD功能主要表现在例如垃圾收集、指代等众多特性上。垃圾收集机制将减轻开发人员对内存的管理负担,而指代功能更是可以让开发者不经过内部类就调用函数。利用c#的这些功能,可以使开发者通过较少的代码来实现更强大的应用程序,并且能够更好地避免错误发生,从而缩短了应用系统的开发周期。
语言的自由性
用C#编写的程序能最大程度地和任何支持.NET的语言互相交换信息。能够继承和使用任何语言所编写的程序可以称得上是知识的继承,这样做的好处是节省了大量的工作,你不必把COBOL等语言强行改成另一种语言,.NET让各种语言真正地互相交流了。
c#和其他.NET语言有着最好的协作,这点对开发人员非常重要。全球从事编写软件的人当中,大约有50%以Visual Basic作为基本的编程工具,在跨入.NET编程时代的时候,这些人轻松地使用了.NET的VB开发Web上的应用程序,想想以后你可以和你的那些只懂 VB的同事真正在一起共同开发.NET的应用程序时,还有比这更让人轻松和高兴的事情吗?
强大的Web服务端组件
在c#的Web编程中,最让人兴奋的是Web服务端的组件,它们不仅包括传统组件,还包括那些能够自动连接五花八门服务的可编程组件,你可以用c#编写自己的服务器端组件,服务器端组件和标准的HTML提供的服务自然是不一样的,使用它们可以更自由、更容易地进行数据绑定。不久,那些视频服务器组件也很快会出现,有了这些强大的组件,我们可以设计出功能更加强劲的企业级分布式应用系统。
支持跨平台
随着互联网应用程序的应用越来越广,人们逐渐意识到由于网络系统错综复杂,使用的硬件设备和软件系统各不相同,开发人员所设计的应用程序必须具有强大的跨平台性。C#编写的应用程序就具有强大的跨平台性,这种跨平台性也包括了c#程序的客户端可以运行在不同类型的客户端上,比如PDA、手机等非PC装置。
与XML的融合
由于XML技术真正融入到了.NET和c#之中,c#的编程变成了真正意义的网络编程,甚至可以说.NET和c#是专为XML而设计,使用C#的程序员可以轻松用c#内含的类来使用XML技术。就这方面而言,目前c#提供给了程序员更多的自由和更好的性能来使用XML。
对C++的继承
c#继承并保留了C++强大的功能,例如, c#保留了类型安全的检测和重载功能,c#还提供了一些新功能取代了一些原来的ANSI C预处理程序的功能,提高了语言的类型安全等安全性。
了解了c#如此众多的特性,你是不是也感觉心动呢!身怀绝技的c#将在未来正式步入征程,与我们的程序开发人员携手共进!
■没有最好只有更好
由于Visual Studio.NET的正式版本将在今年某个时候才能推出,所以c#将真正成为新世纪的新语言。有人现在就在讨论c#和Java的性能优劣,其实这并没有什么实际意义,因为c#和Java 都将随着时代的发展而继续发展,并不断加以改进以适应新的开发需求,这正印证了一句著名的广告词:“没有最好,只有更好”。
不久的未来,c#的应用也将如同Java一样,飞速向数字电视、机顶盒、汽车、PDA、移动电话、呼机,甚至电冰箱等其他非PC装置中进行推广。
总之,只有在激烈的良性竞争下,我们才能更快、更好地促进应用开发技术的发展,才能更加快速地推动IT行业的大发展。不管怎样,c#的确值得我们关注!
软件开发语言有哪些的发展史的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件开发的发展历程、软件开发语言有哪些的发展史的信息别忘了在本站进行查找喔。