百科问答小站 logo
百科问答小站 font logo



Java 的开发效率究竟比 C++ 高在哪里? 第1页

  

user avatar   ze.ran 网友的相关建议: 
      

C++是面向内存编程,Java是面向数据结构编程。

C++里,内存是裸露的,可以拿到地址,随意徜徉,增了删了,没人拦你,等到跑的时候再崩给你看。

Java里,能操作的都是设计好的数据结构,array有长度,String不可变,每一个都是安全的,在内存和程序员之间,隔着JVM,像是包住了边边角角的房间,随便小孩折腾,不会受伤。

Java程序员是孩子,嚷嚷要这个那个,玩完了就丢,JVM是家长,买买买,还要负责收拾。有的孩子熊点,屋子很乱,收拾起来费劲,但房子还在。

C++程序员是神,操纵着江河湖海,日月星辰,但能力越大,责任越大,万一新来的神比较愣,手一滑,宇宙就退出了。

新手写C++,像是抱着一捆指针,在浩瀚的内存中裸奔。跑着跑着,有的针掉了,不知踪影,内存就泄露了;跑着跑着,突然被人逮住,按在地上打的error纷飞,内存就越界了;终于到了,舒了口气,把针插在脚下,念出咒语,

“delete”

系统就崩溃了。


user avatar   david-dong-20 网友的相关建议: 
      

我个人的感受,主要在如下几点:

1. java的限制多,实现的方式比较少,不需要考虑很多问题。

2. 垃圾回收,不需要考虑很多内存管理的问题。

3. 语法啰嗦,命名完整,基本上看代码就能看懂在做什么。

4. 工程保护多,新手也不容易对代码造成什么大的破坏。

其实我对c++的了解本身比较少,但用java的过程中觉得它的库和框架很全,生态完整。用maven之类的工具集成很方便,测试也很方便。

java的优势基本是在工程层面的,对新手很友好,不是特别懂也能写代码并且不容易出大错,然后在此基础上提供了很多工程支持,让它可以适应大型软件。C++对新生很不友好的,很容易会写出有很大问题的代码。




  

相关话题

  如何学习递归呢? 
  C++ 11是如何封装Thread库的? 
  软件工程本科分方向,.NET和Java选哪个好? 
  请问有什么好的C语言面向对象的扩展的方式?最好是有比较好的项目的源码参考。 
  关于Qt性能的损失,有没有一个可以量化的概念? 
  为什么 GCC 不改善它的错误提示? 
  什么时候用C而不用C++? 
  你用Visual Studio调试过什么牛逼的源码/程序? 
  有没有那么一次,Java让你欣喜若狂? 
  高内聚低耦合是矛盾的吗? 

前一个讨论
你的二十八岁,你们都拥有什么?
下一个讨论
英国很多民众为什么冒风险也要脱离欧盟?





© 2025-04-08 - tinynew.org. All Rights Reserved.
© 2025-04-08 - tinynew.org. 保留所有权利