多媒体和网络时代中,C++,Delphi,Java,还是C#?
2008-01-05 19:10:26 来源:WEB开发网核心提示:在应用领域,C/C++不算高级语言,多媒体和网络时代中,C++,Delphi,Java,还是C#?,对硬件和系统程序员才算,虽然C++首脑任务坚称C++的地位不会有太大变化,Java:由C++简化而来,Sun对Java语言的设计上的确有很大创新,但.NET和java的对抗很可能最终将其踢出主赛局,在多媒体、游戏等领域
在应用领域,C/C++不算高级语言,对硬件和系统程序员才算。虽然C++首脑任务坚称C++的地位不会有太大变化,但.NET和java的对抗很可能最终将其踢出主赛局。
在多媒体、游戏等领域,据gamedev.net的资料,此领域以C++为主流。PS2,XBox等纯游戏机上只有C/C++可用,几乎所有的大游戏公司用C++,但近两年有一些采用其他语言的尝试。总的来说,大部分是C++,有一些是用的Delphi,一小部分是VB,很少的Java。从很久之前起,个人和小团体开发用VB的就较多,基本上都是不喜欢C/C++的人,现在因为考虑移植能力而转向Delphi和Java,当然也有转用C++的。最近由于新技术出现较多,基于C++的支持库变得更为复杂,于是出现很多对于Java替代C++的可行性的讨论,有比较可靠的说法是在较好的优化下配合最新的JIT,可以达到同等C++程序速度的1/4,图形密集程序在使用OpenGL生接口时与同等C++程序速度差不多,但Java3D接口很慢。现在有微软在力推.NET平台,C++在此没有什么优势,可能对今后的局势有较大的影响。
Pascal前途难料,苹果出了基于FreeBSD核心的MacOS X,这回是彻底的C/C++系统了,CodeWarrior放弃了Pascal编译器的开发,主推C++、Objective-C、Java,只剩下Pascal社区和民间的编译器在撑腰呐喊。Borland的OP倒是火得很,可惜Pascal没有严格标准,没有其他编译器能很好的兼容Borland的OP。
网络,当前商家的淘金之地,继浏览器之争之后,微软又被Sun的Java抢了先,不得不和与他一样的behemoth抢夺地盘。C++默默地筑造着网络的基础。
C++:在传统领域,如算法研究、数据计算、各种底层系统,几乎就是C/C++的天下,尤其在Unix类机器上。由于编程资源非常集中,以致很难不选择C++。C++有统一的标准,各种硬件平台都有它的编译器。有几年历史的大公司的软件也大多是基于C++的,大量的编程库资源也是基于C/C++的。理论上,C++能做任何事情。C++有强大的类型定义能力,如无所不包的对象模型、算符重载、模版、宏,可以对自己做扩充和定义;另一方面,也导致C++异常复杂、难维护,且编译速度很慢。因此也有很多人把C++当成更好的C用,不用C++中的复杂功能,这在游戏编程中很常见,因为他们更愿意把大部分精力放在实现感爱好的功能而不是代码上。而爱好在程式上的人则偏爱竭尽语言的能力,写出各种高明的代码,很可能是非常难懂的代码,但非常高效好用,例如C++标准模版库。在新兴领域,C++的处境就比较艰难,没有统一的高层工具库,而且工作量很大,而且是不必要又不得不的大。而且C++背后的权威人物Bjarne Stroustrup(就是在C++中加入dynamic_case<type>“这种丑陋语法”的人,用他自己的话说:P)拒绝改进C++语言,只推动改进C++库。所以C++的地位基本稳定的固定,既不会消亡,也不会扩大。其他评价:黑客级人物必用,不适合入门教学用途。
Delphi:确切的说是Object Pascal。简单直观而又强大是最直接的理由。不需要去花多少心思考虑语言实现,想什么写什么,而又不失C++的高效,甚至某些部分执行速度快过C++,如部分字符串操作和文件读写缓冲等,编译速度狂快(由语言特性决定)。包含大量好的新语言特性,拥有既简洁又强大的运行库和对象库,直接集成COM、Corba、网络组件、数据库,支持Windows、linux,并即将支持.NET平台。在Delphi社区,对Delphi的支持是近乎狂热的,成员们拿出自己最自得的源代码来共享,假如你是新手,又想快速成为高手,Delphi是最佳选择。但你来自C++背景,你会对begin..end、不能随处声明变量、没有++运算符等感到反感;假如你喜欢复杂的代码且很熟悉STL并大量使用,你会因Delphi没有模版而失望。Delphi提供了大部分的系统API接口,但也有很多欠缺,Delphi社区提供了大量的API接口或封装,如DirectX(Delphi不需要导入库和静态库,百兆的C/C++SDK的Delphi版只有几兆:P)、OpenGL1.2的接口和封装,但一般会有几种不同的版本,质量好坏不一,当然也未必比Borland提供的差,事实上Borland也用社区提供的源代码。只有Borland一家做OP的编译器,没有业内标准,没有其他选择,虽有可部分兼容OP的FreePascal,可没有了Delphi的库的编译器的吸引力就少了大半。由于Delphi刚兴起没几年,使用它的公司还不多,组织倒有不少。假如你将找工作,一定弄清你要工作的领域是否多用Delphi,如数据库领域就是。其他评价:节省你一大笔时间,可以给你充分的机会改进你的程序或出去玩;)。
Java:由C++简化而来。Sun对Java语言的设计上的确有很大创新,当年博得一致的喝采。
- ››Delphi实现把10进制转换成16进制的函数进制转化
- ››Delphi中将字符串按给定字符分隔(似split函数功能...
- ››Delphi 动态创建窗体,锁定窗口赋值
- ››Delphi 与 VC 共享接口和对象
- ››Delphi图像处理 -- 表面模糊
- ››Delphi之多线程实例
- ››Delphi SelectSingleNode的使用 根据节点属性获取...
- ››Delphi接口详述
- ››delphi 远程调试
- ››Delphi与DirectX之DelphiX(34): TDIB.Lightness()...
- ››Delphi Application.MessageBox详解
- ››Delphi只能运行一个程序实例的两种方法
更多精彩
赞助商链接