「一個C++ 程式設計師的生產力,大概相當於20個C程式設計師,200個java程式設計師」,對於這句話你怎麼看?



總結

任何語言都有它適用的場景,如嵌入式方向用了Java後確實性能達不到要求,那也無法使用。所以各有所長,只要方向對了,語言對了,就會得到滿意的結果。


電視鵬


看到這個問題我好激動,畢竟是一個曾今做過5年c++程序員,又做過接近3年的java開發,人生經歷是如此的豐富了,也是沒誰了😂。

這句話我不知道是誰說的,是不是有點誇張了呢老鐵,因為無論從程序的運行效率,還是代碼開發的效率的角度,這個觀點都不成立的。



我先從程序運行效率的角度來分析下。其實在我看來在一些功能比較簡單的情況下,c和c++代碼的運行效率是沒有本質的區別的,但是在一些複雜的系統裡面,c++會用到一些特性,比如繼承,RAII,虛繼承,模板,虛函數,虛表,異常處理等等會增加部分開銷,會比c慢些。然後相對於JAVA,JAVA是在JVM虛擬機上運行的,編譯後產生.class中間字節碼文件,運行在java虛擬上,經過解釋才能放到真是的機器上運行,而c/c++是編譯成機器碼直接在機器上運行的,而且java的不用程序員自己管理內存了,相對加大了開銷,所以在配製相同的情況下,c++的運行效率確實比java要好。



然後我們在來看開發效率問題。在我的開發經歷中,決定一個語言開發效率的是庫是否足夠豐富,開發工具是否足夠方便,C++相對於c有些豐富的標準庫(容器及算法)可以直接引用,不像c要去寫,所以開發效率要好些,而java就更不用說了,jar包簡直多的泛濫,對於我這種選擇困難患者,要是比較頭疼的,eclipse是一個非常好用的工具,極大的方便了開發者,所以如果頭跟我說要開發某個功能,在不考慮兼容的情況下,我很定首選java,現成東西多啊,拼接拼接就完事了。

最後做一個曾今的程序猿老兵,深深地覺得,所有的語言都是一個工具,重要的是解決問題的能力,所以不要把頭一直埋在某一個語言中,限制了自己的發揮空間。

用好你手中的劍,不要讓它傷著你,要讓它帶你裝逼帶你飛。

歡迎各位新老顧客,新老程序猿朋友一起探討,在一個老程序猿下方留言,點贊,最後加個關注唄😂,我們一起花前月下討論代碼。


鷹眼財經wu


這個在現實中我是沒有發現。

我是一家互聯網公司的產品,做了有幾年了。接觸到的互聯網人也比較多。簡單分析下這個問題。

從生產力上講,這個問題的命題是不對的。首先,在一個公司產品開發上,需要的是協同工作,並不是依靠個人能力來完成的,正如打籃球,只有姚明的賽場,沒有隊友,你想想怎麼能夠帶領火箭。其次,一門開發語言,不存在特別的好或者特別的不好。原因在於,語言是用來服務產品開發的,只要開發人員用的順手都是可以的(ps:前提是看公司注重哪些語言或者需要哪些語言的開發人員)。

從語言本身來講,大家普遍認為C++ 比java好,Java比PHP要好,XXX比XXX要好。其實,要看公司的發展,中小公司使用PHP是足夠的,有沒有龐大的數據需要考慮太多的問題。再者,即便是淘寶、京東也不是隻應用Java或者PHP,往往都是多種語言相互結合的。

所以,這個問題是不對的。太片面。


醫療pm產品汪


cpp的難度在於語言本身,而java的難度在於大平臺的架構,java就是為開發大型平臺而生的,一個java工程師除了會使用語言本身外,還需要學習各種中間件,各種開源項目,設計模式,分佈式,高併發,以及各種雲架構,比如要開發一個雲平臺,普通工程師需要掌握j2ee,消息隊列,緩存,負載均衡,web,jpa,微服務,maven,git,junit,docker等等,如果平臺需要對接物聯網,直播等業務,為了保持語言的統一,那麼還需要用java實現百萬級socket併發連接,實現高效的視頻轉碼等工作,所以要作為一名java高級工程師並不輕鬆。


gjajgkjmdchuxm


這個說的也沒什麼錯。c已經半拋棄了,沒什麼庫,幹什麼都得從頭來,效率肯定低下。cpp基本就是大公司的選擇,比如Google。這就給cpp很大優勢,因為大公司會貢獻高質量開源項目。Java不錯,但是上規模就不成了,小公司用一下會敏捷一點,一旦做大就是招cpp工程師重寫,比如Facebook就是把PHP和Java大量用cpp重寫。

小公司用Java也是Java工程師比較便宜點,這裡並非歧視,行裡都知道。cpp需要更多體系結構的背景,學cs的很有優勢,寫的真的好的話不容易,Java需要的很少,更多的是面向對象和對各種包的瞭解。

另外個人認為語言之爭太低幼了。想要在這行混的好,應該看高點。學更宏觀和更微觀的東西,代碼,只不過是將思想述說出了而已,用法語能寫茶花女用漢語能寫紅樓夢,並不是語言本身的區別。


漁伯oO


誇大其詞……

唸書時曾有位打過交道的博士師兄說過一句話,寫的代碼跑不起來的是笨蛋,寫的代碼只能跑起來的是混蛋。今天,無論慣用哪一種編程語言,也不管眼下職務薪酬高低、名氣大小,能脫離混蛋範疇的其實沒有幾個……

C++學會基本語法對沒蠢到家的人來說不算難,但想不當個混蛋,只怕比其它高級語言還要困難很多。所以,大多數C++程序員,只是製造垃圾、拖累公司和繼任者或大或小的混蛋罷了。如果這番話傷害了某些喜歡C++的小朋友,權當愛之深責之切,與君共勉吧。


分享到:


相關文章: