从一处细节对比C++语言和Java语言

来源:互联网 发布:python base64 中文 编辑:程序博客网 时间:2024/05/18 02:15

      关于C++语言和Java语言的对比优劣从来就没有停止过,本人一直使用C++开发,对Java也算是有点了解,最近偶然注意到一个细节,所以分享给大家

     这个细节也不是什么大发现,但是他对程序员的编程习惯还是有很大影响的

     C++语言没有package概念,Java有package概念。 因为C++没有package,会导致C++程序员犯一个错误,那就是不分模块,上来就进行面向对象设计,类设计,这样设计的结果就会出现一个怪兽类。 Java语言因为有package概念,就会引导程序员进行模块划分,并且注重模块间接口的清晰性。

     总体对比C++, Java,Java将一些优秀的编程经验和解决方案内置到语言中了,所以对于开发者来说比较容易,而C++则提供了无数种可能性。 又以垃圾回收为例, 有人说C++能很容易的实现一个垃圾回收机制,没错,自动释放只要封装一层,很容易实现,实现引用计数方式的自动释放也不难,但是实现多线程安全的智能指针就有难度了吧。Java语言的使用者根本不需要考虑这个问题,语言机制本身已经实现了。 而C++, 直到2006年的TR1,才把智能指针shared_ptr纳入进来,今年才通过标准。即便已经通过标准,我相信对于一个初学者来说,很可能不知道选择合适的库来解决手中的问题

        回顾自己这么多年使用C++开发的经验,虽然有很多乐趣,但是总体而言,成本偏高
原创粉丝点击