百科问答小站 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语言面向对象的扩展的方式?最好是有比较好的项目的源码参考。 
  为什么一些人很瞧不起 Java? 
  怎样规劝团队里的C#工作人员学习和使用JAVA? 
  普通程序员在未来会变成廉价劳动力(农民工)吗? 
  实际开发中ref、out参数有多大作用? 
  Qt 为什么在桌面应用(Windows 平台)中不流行呢? 
  C#的Delegate 为什么没在其他主流语言中普及? 
  有没有什么程序库使得我们可以比较方便的在windows下使用比较新版本的opengl的? 
  Java 位与0xff 和位或0x00 得到的结果为什么不同? 
  C++20 即将到来的 coroutine 能否与 Golang 的 goroutine 媲美? 

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





© 2025-02-23 - tinynew.org. All Rights Reserved.
© 2025-02-23 - tinynew.org. 保留所有权利