广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 计算机学校 > 惠州计算机学校 > 正文

Java和C++哪个开发效率高?_惠州计算机Java培训

作者:邓华发布时间:2021-02-07分类:惠州计算机学校浏览:804


导读:Java和C++哪个开发效率高?最近和惠州北大青鸟学术部老师说聊天的时候,惊奇发现,他们都提及到了一个很有意思的话题:Java的开发效率比C++要高!我认为C++的运行效率高,Ja...

Java和C++哪个开发效率高?最近和惠州北大青鸟学术部老师说聊天的时候,惊奇发现,他们都提及到了一个很有意思的话题:Java的开发效率比C++要高!我认为C++的运行效率高,Java的开发效率高,但这是为什么,我觉得有必要弄个明白,我请教了老师,他们这样说:

A老师觉得吧:

我刚做程序员的时候发现自己写的代码速度非常慢,当时对STL远比周围人熟悉,按这样想,应该效率高才对啊。结果发现并不是,写代码的时候总想:“这样必然可以work了,但一定有更好的方法,会是啥呢?抽象出一个基类?做个bridge模式?那Ownership的问题怎么解决?谁负责回收内存呢?太复杂,别人也理解不了。就先这样吧,能work就好。” 就这样,兜了一个圈子回来。有的时候,这个圈子不是纯柏拉图式的,我会真的实现不少 “优化” 设计来比对,那个时间啊,花花的就耗在里面啦。有的时候确实会获得一些改进,但是多数时候是得不偿失,旁边那些在我看来连C都只是一知半解的家伙采用 “CtrlC-CtrlV-Modify-Debug” 大法,早就冲到我前头去了。这就是“心智包袱”的威力。

B老师说:

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

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

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

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

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

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

C老师认为:

独孤九剑,摘叶飞花皆可伤人。手中无剑,心中有剑,用龙泉还是莫邪有什么区别?用神兵还是树枝有什么区别?

不过大宋步兵还是不能用树枝。

对于优秀的程序员来说,语法,语言特性,编译器,运行时环境都不是问题。不过于此相反的是,对于不优秀的程序员,这些通通都是问题。

最简单的,去掉“指针”,对于独孤九剑式的程序员,并没有什么开发效率的提升,但是对于大宋步兵式的程序员,就少了很多坑,这就带来了开发效率的提升。我们当然要追求当独孤九剑,不过,当你做大宋将军时,最好别把你的士兵都当独孤九剑那么用,铁定死的很惨。

D老师说:

Java是一门你不需要讲究,也没法讲究的语言。很多c++资深人士写不好java 或者写的很难受,就是因为他们想很多但是又没法实现哇。

不知上面几位大哥的见解能否给你一些指引或是脑洞呢,程序娃的常规认识是'C++的运行效率高而Java的开发效率高(相对而言)'。但在某些场景下Java的性能已经不输C++啦,有的即使落后,但感知差距也并不大。而现代C++有了更多方便的语法和工具,开发效率也是有了很大的提高,所以了解语言之间的差异更多的还是让我们对技术实现的原理和深度有了更高层面的认识,有了更好的视野而已。

想了解更多关于Java的资讯吗?可以来惠州北大青鸟新方舟校区了解一下。

Java15.jpg

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


惠州计算机学校排行
标签列表
网站分类
文章归档
最近发表