




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅谈当前主流的程序设计语言在计算机行业,硬件设备的更新、软件版本的换代、参考资料的出版体现了著名的Gorden Moore定律(1965):1824个月换一个版本或提升一个速度或空间的数量级。当今,计算机软件技术发展的总趋势是:全球化、网络化、服务化。作为IT领域的教育、管理、研究与开发人员,掌握一到两门程序设计语言,设计与开发一些应用领域(桌面上或企业级)中的程序与系统,既是对我们的基本要求,也是一种挑战。本文就当前主流的程序设计语言的历史、定位、发展、应用、版本及开发工具等方面做个简介、分析与比较。这些观点仅代表个人,学识和能力有限,所讲之内容有不当之处,还望各位不吝指正,讲的问题也不全面,希望得到大家的补充和完善,以达到共同学习的目的。一、C+与VC+1970年,Ken Thompson开发出B语言,并以此做出了DEC公司PDP-7小型机上的Unix。1972年,Bell实验室的Dennis Ritchie和Brian Kernighan在B的基础上补充和完善,开发出了C语言。1987年发布了美国国家标准ANSI C87。该语言的最大贡献就是,做出了划时代的三个操作系统Unix、MS-DOS和Windows。1980年,Bell实验室的Bjarne Stroustrup对C进行改进和扩充,成了最初被命名为“带类的C”面向对象的C,1983年正式定名为C+,1994年出现ANSI C+草稿。1991年微软的VC+随Visual Studio发布。1、定位 C+与VC+是当今域最主流的高级程序设计和面向对象的开发语言,其定位为:l 真正的面向对象的程序设计语言;l 支持底层的复杂系统程序设计,而又不失C的效率;l 支持大型应用系统的开发。事实上,只有C+真正实现了同时对高低层次的支持,基于此,C+得到了广泛的使用:从嵌入式系统(工业控制)到超大型应用系统(如美国电信网络系统)的应用开发,C+的应用已经弥漫到IT行业的各个角落。全世界大约有1500万C+程序员。2、发展 对系统级的程序员来说,C+的地位是不可替代的,C+还将继续存在而且有旺盛的生命力。俗话说:“真正的程序员用C+”。国内优秀的C+程序员不多(没有两年以上的实际编程经验,成不了优秀的VC+程序员),优秀的企业级C+架构设计师更是屈指可数。为了适应微软的.Net战略,其最新版本为VC+ 7.0则改名为VC+.NET。3、应用 2000年前,我国金融业的核心系统、电信业的核心系统以及许多政府部门的应用系统,采用C/C+/VC+(原来用C做了些系统)开发,Java虚拟机JVM、金山词霸、WPS Office、超级解霸、网络蚂蚁Netants,湖南交通厅的Intranet的部分子系统等。4、开发工具 VC+6.0,1998年随Visual Studio 6 一同发布。最新的版本是2002年2月发布的VS.NET中的VC+.NET。常用的IDE还有Borland 公司的C+ Builder。二、Java1990年,以Sun Microsystem公司的James Gosling为首的小组,设计开发了一种平台独立的语言Oak,主要用于为各种家用电器的编写程序。1995年1月,Oak被改名为Java 并发布Java1.0和HotJava浏览器。1996年,Sun推出Java开发工具包JDK、数据库连接接口标准JDBC。同年,IBM、Macrosoft、Apple、HP、NEC、Hitachi、Toshiba等公司将Java嵌入到起操作系统中或获得了Java许可证,加拿大的北方电讯宣布将Java技术应用到其电话机等通信设备中。1、定位 一种解决应用领域问题的语言:l 语法简洁;l 满足Web应用、分布式系统、开放性体系、平台无关、安全的发展趋势;l 企业级的电子商务应用;l 嵌入式设备中的应用。嵌入式设备:具有微处理器、存储器,为特定功能设计制作的设备。Java借鉴了C/C+中的许多思想,如:类、继承等,1)与C+的不同点l 语法简单;l 运行在虚拟环境之中(JVM);l 没有指针类型;l 只有单继承无多继承。相对于C+而言,Java的优势是开发周期短、代码安全(因为没有指针),以及平台无关性等。然而对于底层开发,Java还是不够理想。另一方面,Java语言在PDA、手机、信息家电、IC卡等嵌入系统式中也有较好的应用,这正是VC+、VB语言需要补充和改进之处。2)运行机制如下: Java源文件 Java编译器 字节码文件 Java Aplet Java应用程序 支持Java的浏览器执行 Java解释器执行 字节码文件:与平台无关的二进制码文件,执行时由解释器解释成本地机器码,运行一行解释一行。Java提供了丰富的WFC类库,提供了多线程标准、JDBC标准、GUI标准,而这些标准在C+中是不存在的。因为C+并不是直接面向解决应用问题的用户。2、发展 1998年,Sun公司发布Java 2,包括三个部分:J2EE、J2SE、J2MEl J2EE:Java 2 Enterprise Edition,面向基于J2EE(Java 2 Enterprise Edition)框架的大型电子商务平台与应用,EJB(Enterprise JavaBeans)等是其使用的主要技术。1999年,Sun公司推出一种动态网页技术JSP(Java Script Page),该技术基于Java Servlet(Web服务器端运行的Java)和Java体系。JSP与ASP的主要区别: 脚本语言:ASP以JavaScript和VBScript为脚本,JSP则以Java为脚本; 数据库接口:ASP使用ODBC通过ADO连接数据库,Java通过标准的JDBC连接数据库。通过免费的JDBCODBC桥,Java可以转化JDBC访问为ODBC访问。l J2SE:Java 2 Standard Edition,面向普通PC应用;l J2ME:Java 2 Micro Editioin,针对嵌入式设备、消费类电器的应用。作为一门正处于发展高峰期的程序设计语言,在可以预见的未来3年内,Java将进一步巩固其在服务器端确立的战略优势并同时向嵌入式系统等应用中延伸,形成规模化的Java应用。2002年12月,SUN公司又发布了最新的J2EE、J2ME面向移动终端规范。3、应用 在Web网页中,经常可以看到Java的应用JSP。交通运输管理行业的最大软件开发商亚桥(Asiabridge)国际信息技术开发公司,在道路运输管理、物流网的设计和规划中,均是采用J2EE构架。此外,SUN公司称,全世界已经有至少5000万部Java手机。世界主要的计算机公司、移动通信公司、我国的移动、联通等,均支持或已经采用了Java技术。4、开发工具 Java2,开发工具有VJ+ 、J Builder 及SUN公司的免费开发工具JDK1.4,JDBC3.0。三、Delphi1971年,瑞士的N.Wirth教授设计开发出基于Algol60、Algol68的通用程序高级语言,并以法国数学家Pascal命名。该语言是世界上第一个结构化程序设计语言E.W.Dijkstra、C.A.R.Hoare提出的思想,也是80年代到90年代初计算机专业的首选学习语言。1991年,Borland公司将该语言扩充成Object Pascal,并以此为基础发布了著名的Delphi。1、定位 l 基于Windows APIs 的C+与Java开发应用系统的一个中间产物;l 比C+简单,比运行于JVM的Java效率高;l 可视化程度比VB、VC+好,但学习难度比VC+低;l 可以实现VC+的全部功能。Delphi最大的特色是丰富的类库VCL和其他的组件库。该元件库提供比VC+、VB等常见的开发工具好用的对象组件库,并容易由程序员自己设计开发出VCL。此外,C+Builder使用与Delphi相同的VCL,即Delphi开发的代码或元件,可以轻松地在C+Builder中使用。全球有100万的Delphi使用者。2、发展 Delphi在未来一段时间将继续存在。当前,Delphi仍然是首选的C/S应用系统的开发工具、是数据库应用系统的开发工具。Delphi不仅在Windows客户端具有RAD优势,还且增强了如下几个方面的功能:l 支持XML、SOAP等工业标准,提供可视化的快速Web开发环境;l 内建对Linux的跨平台支持;l 对Windowx XP、.NET的支持与开发。长远来看Delphi将受到C#、Java等的挑战:C#的WebService应用开发、Java的运行效率。Kylix:以Object Pascal为基础语言,开发Linux应用程序的IDE。Delphi本质上是基于Windows APIs,而Kylix则是基于OOP可视组件库CLX(Component Library for CrossPlatform一组基于QT(Linux中的OOP DLL库)。3、应用 著名的Foxmail、Windows优化大师、网络伴侣等均是Delphi的杰作。我系参与开发的“省级公路运输管理局的汽车维修管理系统”、“省级道路运输行业驾驶员培训管理系统”、“省级道路客运班线牌管理系统”、“基于WEB平台的统计报表合并及处理系统”等也是使用Delphi编写的。4、开发工具 2001年6月,发布Delphi 6.0,2002年8月发布Delphi 7.0 Studio,增强了网络方面的VCL,整合了Kylix 3,第一个中立开发公司发布的支持.NET技术平台。有四个版本:Framework、Enterprise、Professional、Personal,前三个版本含Kylix 3。四、.NET2000年6月,微软正式宣布.NET构架。当时的微软中国研究院院长李开复博士被比尔盖茨委以重任,调往美国微软,负责微软历史上最重要的一次变革:.NET战略。微软著名的利器Visual Studio 6是1998年发布的。4年后的今天,发布了全新的基于.NET开发工具包Visual Studio .NET,足见微软的宝压在.NET上了。.NET是微软的XML Web服务平台,包含了建立和运行基于XML的软件所需要的全部部件。在.NET中,程序员设计编写的是XML Web服务,而不再是服务器或客户端的独立应用程序。1、.NET程序设计语言框架 C#、VB、C+、JScript、满足CLS的语言 .NET中间语言编译器 C+ 中间语言 IL:Intermediate Language编译器 JIT编译器:Just in Time即时编译器 EXE 可执行文件 现有OS 通用语言运行时刻库 CLR 机器硬件 现有操作系统 机器硬件 .NET没有象Java一样使用JVM(虚拟机)技术,运行于.NET上的软件被完全编译,并象C代码一样运行在机器硬件级。当.NET运行时刻库CLR(Comman Language Runtime)执行一个被转换为IL的程序时,使用JITer编译器将IL快速地编译成本地代码。其中,CLR部分位于硬件之上,部分位于现有OS之上,为组件与计算机或机器OS交换提供所有服务。2、CLR与.NET的关系 C#、C+、VB、JScript、满足CLS的语言 通用语言规范CLS WebService 用户接口 数据和XML 基础类库 通用语言运行时刻库CLR .NET应用系统的数据由XML封装,通过HTTP协议传输,依照SOAP(Small Object Access Protocol)与其他WebService对话与沟通。3、.NET的核心组成.NET是一种全新的平台,它将对现有的所有代码产生影响。盖茨说:“微软所有的产品都会被涉及。我们的整个战略是围绕这个平台展开的。” ,其核心为三部分:CLR、统一的编程类库和一个被称为ASP+的高级ASP版本:1)通用语言运行库CLR实际上每一种编程语言都已包含一个运行库:VB有VBRun,VC+有MSVCRT。此外,像VFP、PB等都有运行库。.NET提供了一个跨所有编程语言的统一环境,其基础是通用语言规范CLS。2)统一编程类库C+使用MFC,Java使用WindowsFC,VB使用VB APIs,Delphi 使用VCL。.NET框架类为开发人员提供了一套可以使用的统一的面向对象、异步、层次结构的可扩展类库。从JScript 到C+的所有编程语言,对于.NET框架都是相互等同的,开发人员可以自由地选择他们想使用的任何语言。3)ASP+ASP+提供了一个Web应用程序模型,该模型由一组控件和一个基本结构组成。有了它,Web应用程序的构建变得非常容易。开发人员可以直接使用ASP+控件集,该控件集封装了公共的、用于超文本标识语言(HTML)用户界面的各种组件(诸如文本框、下拉选单等等)。 4、解决的核心问题l 互操作性(Interoperability)、集成性(Integration)和应用程序的可扩展性(extensibility)太难实现而且代价很高。Microsoft .NET依靠XML(一个由World Wide Web Consortium(W3C)管理的开放标准)消除了数据共享和软件集成的障碍;l Microsoft .NET建立在一个开放的标准上,它包含了所有编程语言;l WebService模式 MS-DOS使得个人电脑上广为接受;Windows增强了用户的图形界面,使其成为首选的与软件交互方式,最终使得图形界面成为个人电脑的主流。而.NET则要把XML Web服务变成日后的主流计算模式。五、C#语言对C/C+程序员来说,使用VB、Delphi等RAD工具,工作效率高,但牺牲了C/C+程序员熟悉的灵活性。对他们而言,最好的解决方案是:快速开发RAD、满足Web应用、保持底层编码能力和C/C+的灵活性。这就是C#的目标。该系统的主要研制者Anders Hejlsberg,就是鼎鼎有名的Delphi的研制者之一。1、定位 l 微软在.NET平台上的Java的语言;l Web Services应用系统的主要语言;l 能使C+程序员快速开发程序;l 具有底层控制能力。C#对于从高层商用软件到系统级应用程序的多种组件构造都是合适的选择,C#本来的意思就是C+,如果熟悉了C+,那么学习C要比学习Java要容易得多。2、特点 1)与C+比较 自C/C+演变而来,但简化与更新了C+中的类,降低了C+的复杂性,抛弃了C+的一些无用功能。具有垃圾回收功能,使得程序员不需要对内存进行手动管理;2)管理机构 C不是由微软来管理,而是由ECMA(欧洲计算机制造联合会)来管理,和Jscript、CLS一样(ECMA是一个独立的实体);3、发展 随着Windows操作系统2000、XP及未来的NET版本,C#将成为微软公司基于Windows、Web等主要开发语言及工具。VS.NET中的C#为第一个版本。六、VB.NET在可视化RAD开发工具中,内核语言以BASIC的历史最长,1955年随Fortran出现后的第一个适合初学者的高级程序设计语言。它是一个解释型弱数据类型语言,其True BASIC、QBASIC、Turbo BASIC等曾风行一时,目前仍然有人在使用DOS平台下的QBASIC。1991年发布VB1.0后,随着应用的发展,先后衍生出了VB、VBA、VBScript等语言。1、定位 l 比C/C+易学好用的快速开发工具,抢占由Delphi、PB等RAD占领的技术领域,l 扩展到Back Office、Web等应用领域。l 创建Windows客户端的应用程序;l 创建XML Web服务应用程序。从技术角度而言,VB不能算是一个纯粹面向对象的程序设计语言,这方面它大大落后于Borland Delphi、Object Pascal (Pascal的Delphi版本)。由于衍自Microsoft的皇家血统,所以VB、VBA、VBScript在应用系统、Web网络方面获得了可靠的持续性发展能力,但与Delphi相比,其并不具备技术上的竞争优势。2、发展 1998年VB6.0发布后,经过4年,微软发布了其升级版本VB.NET,该版本的结构调整较大,有了质的变化。该版本将统一VB、VBA、VBScript。3、应用 VB在东亚,特别是在日本应用非常普遍。除核心的程序代码外,Windows XP中大约2亿行代码是Micorsoft公司用VB写成的,而不是C+/VC+(事实上,Bill Ga
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于劳动力转移视角的劳务品牌建设
- 公司章程内部管理制度
- 2024年贵州六枝特区城政建设有限责任公司招聘真题
- 劳模感谢发言材料
- 河南郑州工商学院招聘笔试真题2024
- 社区社区服务设施维护与管理基础知识点归纳
- 制造系统安全性和可靠性评估指标体系研究-洞察阐释
- 基于AI的生理学教学评估与学习效果提升
- 社区托育服务的质量监控与评估体系建设
- 造纸业企业经营管理方案
- 2025年高考物理广西卷试题真题及答案详解(精校打印)
- CJ/T 345-2010生活饮用水净水厂用煤质活性炭
- GB/T 45630-2025系统与软件工程架构描述
- 2024-2025成都各区初二年级下册期末数学试卷
- 【MOOC】世界贸易组织法-上海对外经贸大学 中国大学慕课MOOC答案
- GB/T 36548-2024电化学储能电站接入电网测试规程
- 2024年湖北省中考地理生物试卷(含答案)
- 2024年甘肃省天水市中考生物·地理试题卷(含答案)
- 施耐德公司品牌战略
- 医疗设备采购流程图
- 第五章 包壳材料
评论
0/150
提交评论