java

位置:IT落伍者 >> java >> 浏览文章

Java与C++


发布日期:2021年06月01日
 
Java与C++

Java特别象C++由此很自然地会得出一个结论C++似乎会被Java取代但我对这个逻辑存有一些疑问无论如何C++仍有一些特性是Java没有的而且尽管已有大量保证声称Java有一天会达到或超过C++的速度但这个突破迄今仍未实现(尽管Java的速度确实在稳步提高但仍未达到C++的速度)此外许多领域都存在为数众多的C++爱好者所以我并不认为那种语言很快就会被另一种语言替代(爱好者的力量是容忽视的

我感觉Java强大之处反映在与C++稍有不同的领域C++是一种绝对不会试图迎合某个模子的语言特别是它的形式可以变化多端以解决不同类型的问题这主要反映在象Microsoft Visual C++和Borland C++ Builder那样的工具身上它们将库组件模型以及代码生成工具等合成到一起以开发视窗化的末端用户应用(用于Microsoft Windows操作系统)但在另一方面Windows开发人员最常用的是什么呢?是微软的Visual Basic(VB)当然我们在这儿暂且不提VB的语法极易使人迷惑的事实——即使一个只有几页长度的程序产生的代码也十分难于管理从语言设计的角度看尽管VB是那样成功和流行但仍然存在不少的缺点最好能够同时拥有VB那样的强大功能和易用性同时不要产生难于管理的代码而这正是Java最吸引人的地方作为下一代的VB无论你听到这种主张后有什么感觉请无论如何都仔细想一想人们对Java做了大量的工作使它能方便程序员解决应用级问题(如连网和跨平台UI等)所以它在本质上允许人们创建非常大型和灵活的代码主体同时考虑到Java还拥有我迄今为止尚未在其他任何一种语言里见到的最健壮的类型检查及错误控制系统所以Java确实能大大提高我们的编程效率这一点是勿庸置疑的!

但对于自己某个特定的项目真的可以不假思索地将C++换成Java吗?除了Web程序片还有两个问题需要考虑首先假如要使用大量现有的库(这样肯定可以提高不少的效率)或者已经有了一个坚实的C或C++代码库那么换成Java后反映会阻碍开发进度而不是加快它的速度但若想从头开始构建自己的所有代码那么Java的简单易用就能有效地缩短开发时间

最大的问题是速度在原始的Java解释器中解释过的Java会比C慢上尽管经过长时间的发展这个速度有一定程度的提高但和C比起来仍然很悬殊计算机最注重的就是速度假如在一台计算机上不能明显较快地干活那么还不如用手做(有人建议在开发期间使用Java以缩短开发时间然后用一个工具和支撑库将代码转换成C++这样可获得更快的执行速度)

为使Java适用于大多数Web开发项目关键在于速度上的改善此时要用到人们称为刚好及时(JustIn Time或JIT)的编译器甚至考虑更低级的代码编译器(写作本书时也有两款问世)当然低级代码编译器会使编译好的程序不能跨平台执行但同时也带来了速度上的提升这个速度甚至接近C和C++而且Java中的程序交叉编译应当比C和C++中简单得多(理论上只需重编译即可但实际仍较难实现其他语言也曾作出类似的保证)

上一篇:面向Java开发人员的Scala指南: 深入了解Scala并发性 了解 Scala 如何简化并发编

下一篇:用JAVA编制Internet电子白板软件