其实java和C++根本没有可比性。
C++比java早出现了几十年。可以说java语言的一切都是以C和C++为基础的。关键是,java是一种应用级别的商业语言,而C++属于系统级的编程语言。之所以没有可比性,因为java与C++相比,与硬件隔了一层虚拟机。这样做的目的很清楚:跨平台。java主要用于商业目的,对于商业项目来讲,稳定性是第一位的。因此,java的垃圾处理机制和异常捕获机制用在此处非常合适。跨平台也是第一位的,你永远也不会知道客户终端是什么样--PC? MAC? 还是IBM的大型机?
同样,对于商业项目来讲,速度并不是第一位的。在这个论坛上指责java的人(往往根本不了解java),第一条理由就是虚拟机太慢,实在是鼠目寸光。你以为全世界都用PC和windows操作系统?商业程序不比电脑游戏,许多商业程序往往运行在小型机,甚至巨型计算机上,对他们来说,java与C++的那点速度差异根本不值得称道,而稳定性是最重要的--这些计算机往往数年不能关闭。
C++比java早出现了几十年。可以说java语言的一切都是以C和C++为基础的。关键是,java是一种应用级别的商业语言,而C++属于系统级的编程语言。之所以没有可比性,因为java与C++相比,与硬件隔了一层虚拟机。这样做的目的很清楚:跨平台。java主要用于商业目的,对于商业项目来讲,稳定性是第一位的。因此,java的垃圾处理机制和异常捕获机制用在此处非常合适。跨平台也是第一位的,你永远也不会知道客户终端是什么样--PC? MAC? 还是IBM的大型机?
同样,对于商业项目来讲,速度并不是第一位的。在这个论坛上指责java的人(往往根本不了解java),第一条理由就是虚拟机太慢,实在是鼠目寸光。你以为全世界都用PC和windows操作系统?商业程序不比电脑游戏,许多商业程序往往运行在小型机,甚至巨型计算机上,对他们来说,java与C++的那点速度差异根本不值得称道,而稳定性是最重要的--这些计算机往往数年不能关闭。
其实在国内的大公司情况也是一样,比如电信,他们使用的系统情况是很复杂的.
用C写的程序经常需要开发商带着源代码跑去安装调试,公司里的技术人员出差3个月去现场维护.
要说跨平台,C和C++也号称“跨平台”。理论上只需在目标机器上重新编译而已。但这可是个麻烦事。升级过Linux的内核吗?要下载100M的压缩包(解压后有250M,全是源代码文本文件!)然后在本机上重新编译。那可是个大工程,麻烦的很,不是高手干不了。想想看用C写applet这样的程序--那就得源代码传到浏览器上,然后浏览器当场编译当场运行,谁受得了?
java和c++各有特点,就看你喜欢用什么,而且,你以后公司要你用什么就得用什么,不然没钱拿,这个最重要!!
这样问题已经是很无聊的了。
这样问题已经是很无聊的了
这句话应该顶呀