選單

C+為什麼比不上Java?

C+為什麼比不上Java?

有一個經典問題是:作為一個初學者,到底應該是學c++還是Java?

這時候,就會有“高手”站出來告訴你,你應該學習C++啊!

他捋一下自己的花白鬍須,光禿禿的腦門在太陽底下閃出耀眼的光芒,一霎那間竟然有“大神”的風範!

他會告訴你,C++才是修真正道。它會讓你對計算機的奇經八脈的氣血運行了如指掌,深刻到每一個骨髓。當你學通了C++,舉手投足之間,威力巨大,即使有瑕疵,反而能夠讓你在改正之後功力大漲。另外還有一點,天下武功,唯快不破,C++就是最快的功夫。

然後,他拍拍你的肩膀,少年,看你骨骼精奇,計算機業的未來就看你了,連騰訊WX後臺都是C++寫的喲!假以時日,你神功大成,入職TX,迎娶白富美,人生巔峰指日可待!

說真的,我曾經信過這些話,當然那時候還沒有騰訊,更沒有WX,只有一個Visual C++6。0!

懷著對人生成功的渴望,我進入了VC6的時間!我認真研究C++的語法,看看VC6的講解。

然後,我發現程式設計真的不是那麼容易。就是我一個在Turbo C 2。0時代能編寫俄羅斯方塊的人,對著VC6也只能發呆。

為什麼微軟的那些程式那些炫酷,他們的工具欄按鈕怎麼有文字,怎麼有那麼多圖片,它的可懸浮側邊欄是怎麼做出來的?為什麼它的Outlook有那麼好用的Navigation Bar?

我的VC6工具欄卻連畫一個工具欄按鈕都需要手工完成,手工一點一點地畫畫素?

為什麼一個普通的MFC程式就要來個Model-View架構?難道微軟所有的程式都是這樣的嗎?

為什麼我要實現一個給你如此困難?我怎麼訪問資料庫,我如何訪問網路?我怎麼處理圖片?

我在哪裡?

真的,這個C++程式設計讓我覺得確實有那麼一丟丟困難!

於是,我就轉向了Delphi,離開了C++。

進入了Delphi的世界,我才明白了原來程式是可以多姿多彩的。程式可以是資料庫程式,可以是網路Socket程式,可以簡單的編寫COM元件,還讓我編寫資料庫程式的同時,更進一步知道資料庫的各種“鎖”,知道了Socket的分類。

當一個程式編寫都困難的時候,根本就不會讓你接觸更高層次-應用層的東西。

在我認識了Python以後,更是如此。Python可以讓我在一個簡短的程式裡面就可以實現自己的功能。

後來,我就慢慢明白了。實現一個就執行幾次的功能,真的不需要關心什麼記憶體,記憶體能大到哪裡去;不需要關心什麼效率,就執行幾次。

就這樣一個小程式,我也要按照造火箭的流程來一遍?

最重要的是,python提供了各種庫,讓我方便的呼叫,一個pip命令就搞定,而且是針對全平臺的。

再看看C++。使用一個C++庫,需要下載下來,根據平臺編譯一下,再包括標頭檔案,再配置Lib檔案,然後才能開始執行,偶爾再來個painc error!

隨著時代的發展,我發現比較現代的語言,都採取Python類似的語言機制。記憶體自動收集、豐富的應用庫、方便的語法都成了標配。

Java就是裡面的代表!非常快的速度,一安裝就帶著網路訪問庫,檔案訪問庫,還可以使用純Java的資料庫驅動,有一個開源的Maven集中庫!

再回頭看看C++,C++你是個人嗎?要啥啥沒有,啥事都手工,呼叫別人還麻煩!

有時候覺得c++就是那些你求而不得的女神,真TM的事多,而且幹不了什麼事情。當你醒悟過來,這哪裡是女神啊!分明就是一個債主!

誰會留戀它呢?

Python、Go、Java反而是那個和你兩情相悅的人兒,樸實無華,卻又給你最貼心的照顧,幫你快速完成各種事情!

這才是那些跟我們過日子的人啊!

最後,總結一下。別聽人吹,珍惜生命,遠離C++。