【vb精品源码栏目提醒】:网学会员vb精品源码为您提供当前主流的程序语言_1 - 编程语言参考,解决您在当前主流的程序语言_1 - 编程语言学习中工作中的难题,参考学习。
当前主流的程序设计语言
精品快线之计算机 在计算机行业,硬件设备的更新、软件版本的换代、参考资料的出版体现了著名的 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是当今域最主流的高级程序设计和面向对象的开发语言,其定位为: 真正的面向对象的程序设计语言; 支持底层的复杂系统程序设计,而又不失 C 的效率; 支持大型应用系统的开发。
事实上,只有 C真正实现了同时对高低层次的支持,基于此,C得到了广泛的使用:从嵌入式系统(工业控制)到超大型应用系统(如美国电信网络系统)的应用开发,C的应用已经弥漫到 IT行业的各个角落。
全世界大约有 1500 万 C程序员。
2、发展 对系统级的程序员来说,C的地位是不可替代的,C还将继续存在而且有旺盛的生命力。
俗话说: 。
国内优秀的 C程序员不多(没有两年以上的实际编程经验, “真正的程序员用 C” ,优秀的企业级 C架构设计师更是屈指可数。
为了适应微软的.Net 战略,成不了优秀的 VC程序员)其最新版本为 VC 7.0 则改名为 VC.NET。
3、应用 2000 年前,我国金融业的核心系统、电信业的核心系统以及许多政府部门的应用系统,采用 C/C/VC(原来用 C 做了些系统)开发,Java 虚拟机 JVM、金山词霸、WPS Office、超级解霸、网络蚂蚁 Netants,湖南交通厅的 Intranet 的部分子系统等。
4、开发工具 VC6.0,1998 年随 Visual Studio 6 一同发布。
最新的版本是 2002 年 2 月发布的VS.NET 中的 VC.NET。
常用的 IDE 还有 Borland 公司的 C Builder。
二、Java 1990 年,以 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、定位 一种解决应用领域问题的语言: 语法简洁; 满足 Web 应用、分布式系统、开放性体系、平台无关、安全的发展趋势; 企业级的电子商务应用; 嵌入式设备中的应用。
嵌入式设备:具有微处理器、存储器,为特定功能设计制作的设备。
Java 借鉴了 C/C中的许多思想,如:类、继承等, 1)与 C的不同点 语法简单; ; 运行在虚拟环境之中(JVM) 没有指针类型; 只有单继承无多继承。
相对于 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、J2ME J2EE:Java 2 Enterprise Edition,面向基于 J2EE(Java 2 Enterprise Edition)框架的大型电子商 务平台与应用,EJBEnterprise JavaBeans等是其使用的主要技术。
1999 年,Sun 公司推出一种 ,该技术基于 Java ServletWeb 服务器端运行的 Java 动态网页技术——JSP(Java Script Page) 和 Java 体系。
JSP 与 ASP 的主要区别: 脚本语言:ASP 以 JavaScript 和 VBScript 为脚本,JSP 则以 Java 为脚本; 数据库接口:ASP 使用 ODBC 通过 ADO 连接数据库,Java 通过标准的 JDBC 连接数据库。
通 过免费的 JDBC—ODBC 桥,Java 可以转化 JDBC 访问为 ODBC 访问。
J2SE:Java 2 Standard Edition,面向普通 PC 应用; 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。
三、Delphi 1971 年,瑞士的 N.Wirth 教授设计开发出基于 Algol60、Algol68 的通用程序高级语言,并以法国数学家 Pascal 命名。
该语言是世界上第一个结构化程序设计语言——E.W.Dijkstra、C.A.R.Hoare 提出的思想,也是 80 年代到 90 年代初计算机专业的首选学习语言。
1991 年,Borland 公司将该语言扩充成Object Pascal,并以此为基础发布了著名的 Delphi。
1、定位 基于 Windows APIs 的 C与 Java 开发应用系统的一个中间产物; 比 C简单,比运行于 JVM 的 Java 效率高; 可视化程度比
VB、VC好,但学习难度比 VC低; 可以实现 VC的全部功能。
Delphi 最大的特色是丰富的类库——VCL 和其他的组件库。
该元件库提供比 VC、
VB 等常见的开发工具好用的对象组件库,并容易由程序员自己设计开发出 VCL。
此外,CBuilder 使用与 Delphi相同的 VCL,即 Delphi 开发的代码或元件,可以轻松地在 CBuilder 中使用。
全球有 100 万的 Delphi使用者。
2、发展 Delphi 在未来一段时间将继续存在。
当前,Delphi 仍然是首选的 C/S 应用系统的开发工具、是数据库应用系统的开发工具。
Delphi 不仅在 Windows 客户端具有 RAD 优势,还且增强了如下几个方面的功能: 支持 XML、SOAP 等工业标准,提供可视化的快速 Web 开发环境; 内建对 Linux 的跨平台支持; 对 Windowx XP、.NET 的支持与开发。
长远来看 Delphi 将受到 C、Java 等的挑战:C的 WebService 应用开发、Java 的运行效率。
以 Kylix: Object Pascal 为基础语言, Delphi 本质上是基于 Windows APIs, 开发 Linux 应用程序的 IDE。
而 Kylix 则是基于 OOP 可视组件库 CLXComponent 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。
四、.NET 2000 年 6 月,微软正式宣布.NET 构架。
当时的微软中国研究院院长李开复博士被比尔盖茨委以重任,调往美国微软,负责微软历史上最重要的一次变革:.NET 战略。
微软著名的利器——Visual Studio6 是 1998 年发布的。
4 年后的今天,发布了全新的基于.NET 开发工具包——Visual Studio .NET,足见微软的宝压在.NET 上了。
包含了建立和运行基于 XML 的软件所需要的全部部件。
.NET 是微软的 XML Web 服务平台, 在.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 协议传输,依照 SOAPSmall 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、解决的核心问题 互操作性Interoperability、集成性Integration和应用程序的可扩展性extensibility太难实现而 且代价很高。
Microsoft .NET 依靠 XML一个由 World Wide Web ConsortiumW3C管理的开放 标准消除了数据共享和软件集成的障碍; Microsoft .NET 建立在一个开放的标准上,它包含了所有编程语言; WebService 模式 MS-DOS 使得个人电脑上广为接受;Windows 增强了用户的图形界面,使 其成为首选的与软件交互方式,最终使得图形界面成为个人电脑的主流。
而.NET 则要把 XML Web 服务变成日后的主流计算模式。
五、C语言 对 C/C程序员来说,使用
VB、Delphi 等 RAD 工具,工作效率高,但牺牲了 C/C程序员熟悉的灵活性。
对他们而言,最好的解决方案是:快速开发 RAD、满足 Web 应用、保持底层编码能力和 C/C的灵活性。
这就是 C的目标。
该系统的主要研制者——Anders Hejlsberg,就是鼎鼎有名的 Delphi 的研制者之一。
1、定位 微软在.NET 平台上的 Java 的语言; Web Services 应用系统的主要语言; 能使 C程序员快速开发程序; 具有底层控制能力。
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、定位 比 C/C易学好用的快速开发工具,抢占由 Delphi、PB 等 RAD 占领的技术领域, 扩展到 Back Office、Web 等应用领域。
创建 Windows 客户端的应用程序; 创建 XML Web 服务应用程序。
从技术角度而言,
VB 不能算是一个纯粹面向对象的程序设计语言,这方面它大大落后于 BorlandDelphi、 。
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 Gates 是一个 Basic 的顶级高手) 4、开发工具
VB.6,1998 年随 Visual Studio 一同发布。
最新的
VB7.0,2002 年 2 月,则改称为
VB.NET。
七、结论 Delphi、CBuilder、Visual C、
VB 等,能在市场上立足,肯定都是有自己的过人之处的,而且一个人精通数种开发语言、数种开发工具是不可能的事情。
对于计算机语言来说,未来真正重要的通用主流语言只有三种 C、Java 和 C。
1、底层开发与学习语言 C 、杀毒软件或者其他的盒装软 C将更适合于编写图形界面系统 GUI、虚拟机(比如 Java 虚拟机) 、底层设计与开发应用。
同时,C适合做学习之用,为进一步件(比如说 Photoshop、Dreamweaver)学习掌握 Java、C打下基础。
2、Web 应用语言 C、Java 如果开发为客户定制的应用系统,包括桌面应用和 Web 应用,Java、C是更好的选择。
3、客户端应用语言 Delphi 如果虚拟机的执行效率赶不上 Delphi,它就有存在的理由,从长远来看 Delphi 可能不那么乐观。
当前,在 Windows 客户端,设计开发应用系统 VCL 无疑最好的。
那么最终谁会赢呢?多赢的可能性大一些。
有文分析,到 2005 年,企业级开发平台的霸权之争将 ,Java 和.NET 将各占领 40左右的市场。
大多数大企业组织将同时采是一场“半斤对八两的双雄会”用这二种平台,它们已经成为业界事实上的标准。
如果数据库 DBMS 一样,最终语言将如何整合、发展,是否有新的设计语言或规范出来,将有市场来决定。
真正的程序员用 VC,聪明的程序员用 Delphi,未来的程序员用 Java 和 C。
每当新的硬件设备、软件开发平台及开发工具出现时(尤其在 IT 领域中),既给我们带来了挑战,更给我们带来了机遇。
抓住机遇、与时俱进、迎接挑战。