1. 程式人生 > >如果平行宇宙也有程式語言

如果平行宇宙也有程式語言

C++最近不太開心,自己曾經也是紅極一時的程式語言,參與構建了無數的基礎設施軟體。但隨著網際網路時代的崛起,以PHP和Java為首的語言在Web開發領域以勢如破竹,摧枯拉朽之勢收穫了一大票的追隨者。 曾經的王者難道已經廉頗老矣了嗎?C++鬱鬱寡歡,今晚多喝了幾杯,竟做起夢來,夢裡,他來到了一個平行宇宙······ ## 初遇Java' 眼前的白光慢慢褪去,不多時,一個熟悉的身影出現在C++的面前。 “這不是Java老弟嗎,你怎麼也在借酒消愁啊”,C++上前打了個招呼。 “你認錯了,我是Java',唉日子過不下去了,大家都不用我做開發了”,說完又喝了一杯。 “你別開玩笑了,你Java有那麼多追隨者,`SSH`框架和`SSM`框架大行其道,過不下去的應該是我C++才對,來我陪你喝”,C++說完也喝了一杯。 Java'放下了手裡的酒杯,“什麼是SSH和SSM,我怎麼聽不懂啊?” ![](https://imgkr.cn-bj.ufileos.com/e2e54138-82ad-469c-8645-2dfdfd7dcd37.png) C++指著Java'說道:“你就別裝了,`SSH就是Spring+Struts2+Hibernate,SSM就是Spring+SpringMVC+Mybatis`,這是你Java做Web開發的看家寶貝,你怎麼會不知道” ![](https://imgkr.cn-bj.ufileos.com/933e4d39-6e48-4411-a51f-fd82f0e246a7.png) “我沒有裝,我是真不知道,我從來就沒有這些啊” C++有些疑惑,繼續問道:“`反射`你總該知道吧” Java'還是搖搖頭。 看著他一臉真誠不像是在撒謊,C++突然恍然大悟,這裡難道不是我原來的世界?原來呼風喚雨的Java在這個世界裡怎麼就成了這個樣子,C++不禁發出了感嘆。 “那你知道這裡人氣最高的程式語言是什麼嗎?” “大哥,這個你就沒有必要問了吧,不就是你C++'嗎” 聽到這個回答,C++大喜,沒想到自己在這裡人氣最高,嘴角不經意的上揚。 ## 新世界 告別了Java',繼續前行,想看看在這個世界裡,自己究竟為什麼這麼受歡迎。 路上,他看到了一段這個世界的C++'程式碼,竟惹得他有些不快。 “這裡怎麼不能多重繼承了?這個interface關鍵字又是什麼東西?”,他邊看邊吐槽。 這時旁邊一位熱心的路人告訴他,“多重繼承早就被廢除了,這玩意兒用起來容易出事兒。取而代之的是用介面,就是你說的interface定義的東西。” ![](https://imgkr.cn-bj.ufileos.com/74d94df8-224d-4df7-8521-72a65ddfe20d.png) “照你這麼說,純虛擬函式也沒有了?” “有了介面定義,還要什麼純虛擬函式” C++略微點了點頭,雖然有些變化,但還是可以接受。不過繼續看下去,他開始不淡定了。 “這裡的C++'程式碼為什麼沒有指標,這可是我的看家本領啊”,他吐槽到。 ![](https://imgkr.cn-bj.ufileos.com/cc0ce513-efaf-44c0-8a8e-5478968fe146.png) 路人笑著告訴他,“看來你是外地來的吧,許多年前就沒有指標了,不僅如此,現在都用垃圾回收了,不用直接管理記憶體了,日子別提有多快樂了”。 旁邊來了一堆圍觀群眾,紛紛嘲笑C++的土裡土氣。 C++氣憤的回擊:“祖宗之法不可變,直接操作記憶體才是C++的精神” “指標那是人家C的東西,也不是C++原創的啊”,群眾繼續嘲笑他。 C++不再理會,繼續低頭研究起這裡的程式碼。隨著對這個世界的不斷了解,C++心裡的怒氣越來越大。 ![](https://imgkr.cn-bj.ufileos.com/d261910d-b56f-480f-87b7-d5a9d6b309c2.png) ## C++' 周圍的人群逐漸散去,卻獨有一人站到最後。 “你好,我是C++',我注意你很久了”,那人說到。 “原來你就是C++'啊,你看你乾的這叫什麼事兒”,C++沒有好臉色的說到。 “你這是從何說起?” “你怎麼把C++的核心精神都丟光了,指標也沒有,泛型程式設計也沒有,多重繼承也沒有,你還有個啥?” “那些東西太複雜門檻太高,我有垃圾回收,我有反射,我還能跨平臺,你不思進取早晚必敗” C++不甘示弱,“誰說我沒有進步,我在保留基礎原則不動搖的基礎上引入了很多變化啊,像自動型別推導、lambda表示式、move轉移語義,甚至還弄了智慧指標,我很努力的好嗎” C++'嘆了一口氣,“看來你確實很努力,不過你知道程式設計師想要的是什麼嗎?” C++愣了一下,沒有回答。 “走,帶你去一個地方”,C++'帶著C++到了一座巨集偉的宮殿。 C++'緩緩的推開了宮殿的大門,無邊無際的程式碼海洋出現在了他倆的面前。 ![](https://imgkr.cn-bj.ufileos.com/95f938e7-1a68-40fa-ac87-14c573e7d9fa.jpg) “看到了嗎?這裡面是無數個標準的庫元件,遠處那幾座顯眼的高樓就是應用最廣的幾大框架,有web的,資料庫的,網路通訊的,使用者介面的,在這裡,程式設計師能找到他們想要的一切······” C++被眼前的景象驚呆了,這是多麼龐大的工程。 “別再去折騰語法糖和奇奇怪怪的特性了,好好為程式設計師服務,讓他們高興才是生存之道。”,C++'繼續說到。 C++若有所思的點了點頭,接下來深入到這些程式碼海洋中,詳細瞭解了這個世界的C++'和他的不同。 ## 酒醒之後 不知過了多久,C++從夢中醒來,夢裡發生的一切歷歷在目。 回想起那個世界C++'說過的話,他舉著旁邊的酒杯問自己:變成了那樣的C++,還能叫C++嗎? 一聲苦笑,一飲而盡······ ## 彩蛋 > 在回去的路上,又碰到了Java' > > Java'說到,“怎麼樣,我們這裡人氣最高的程式語言是不是名不虛傳?” > > 這時,不知哪裡冒出一人應道:“誰在背後議論我” > > Java'趕緊催促C++,“快走,他又來了” ## 往期熱門回顧 [雜湊表哪家強?幾大程式語言吵起來了!](https://mp.weixin.qq.com/s/h0FqX9AZByfpgUZrsRVTWg) [核心地址空間大冒險4:執行緒切換](https://mp.weixin.qq.com/s/v6nc9aIBY_R1S6ToPzj5Qg) [震撼!全網第一張原始碼分析全景圖揭祕Nginx](https://mp.weixin.qq.com/s/XrtH9-Eo7pzJu-Fzt89voQ) [一個整數+1引發的災難](https://mp.weixin.qq.com/s/gZPxqZzY2rnngxvvzexWTw) [你離黑客的距離,就差這20個神器了](https://mp.weixin.qq.com/s/xIRD3K46tYZDI-R9CFqI4A) [一網打盡!每個程式猿都該瞭解的黑客技術大彙總](https://mp.weixin.qq.com/s/V7wBdl-5W4ehTAnACQFjGQ) [看過無數Java GC文章,這5個問題你也未必知道!](https://mp.weixin.qq.com/s/Bb2ugXYPR6r11QaGKbNBSw) [一個Java物件的回憶錄:垃圾回收](https://mp.weixin.qq.com/s/xp2S4_3UQTZ0TOIlVqM8uw) [誰動了你的HTTPS流量?](https://mp.weixin.qq.com/s/lxpHhHVIh6DktoHzrRLaKA) [路由器裡的廣告祕密](https://mp.weixin.qq.com/s/7gM31s4-hTJTprJnxsHgEA) [DDoS攻擊:無限戰爭](https://mp.weixin.qq.com/s/JTr1-5nPtseAYXfvJdamVg) [一條SQL注入引出的驚天大案](https://mp.weixin.qq.com/s/lerhjpAEdp4RiwsmetyqPg) [一個HTTP資料包的奇幻之旅](https://mp.weixin.qq.com/s/suzicCzb2g5b8NN71S5Ngw) ###
掃碼關注,更多精彩
--- ![](https://imgkr.cn-bj.ufileos.com/5de7751a-9e38-4718-994a-6136f7804