百科问答小站 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++项目在linux下如何调试? 
  使用G1垃圾收集器是否意味着不需要进行虚拟机性能调优? 
  Java为什么设计成`String`不能用`==`比较值? 
  低代码开发以后有前景么?会不会最后一地鸡毛? 
  Java中,有一个for循环调用网络api很耗时,请问如何减少耗时? 
  C++如何返回未知类型的空引用? 
  如何评价去培训机构培训四个月后,月薪过万这种现象? 
  qt5.5中给全零地址发送udp数据包为何会失败? 
  如何开始用 C++ 写一个光栅化渲染器? 
  多个 CPU 操作多线程对主内存中某一共享变量同时进行写入操作可以做到吗? 

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





© 2025-01-03 - tinynew.org. All Rights Reserved.
© 2025-01-03 - tinynew.org. 保留所有权利