周末的"Hello World咖啡館"還是熱鬧非凡。?
Ruby 一邊喝咖啡一邊和對(duì)面的Python聊天: “兄弟,我覺(jué)得這屆程序員真的不行!”?
“此話(huà)怎講?”?
“主要沒(méi)眼光,你看我1995就誕生了,一直沒(méi)什么程序員搭理我,他們就是發(fā)現(xiàn)不了我的好,就這么過(guò)了25年,整整二十五年啊,人生有幾個(gè)二十五年? 兄弟,之前我傍上Ruby on Rails火了一把, 可是好日子沒(méi)過(guò)上幾年,他們又把我給忘了。你說(shuō)說(shuō),這屆程序員是不是有問(wèn)題?”?
“得了吧, 你才二十五年,我1990年問(wèn)世,一直不溫不火,這都三十年過(guò)去了,我才靠著人工智能的東風(fēng)火爆起來(lái)。但是我內(nèi)心非常糾結(jié),因?yàn)槟切┤斯ぶ悄艿暮诵膸?kù)是C++寫(xiě)的, 我只是一張皮,不知道哪天程序員就把我給換了?!?/p>
?“哈哈,換成我也挺不錯(cuò)啊,我的語(yǔ)法比你優(yōu)雅多了,我看到你方法中那self就心煩!” ?Ruby喝了一口咖啡, 心里幻想著把Python替換掉的那一天。?
“兄弟,不是我說(shuō)你,你要是想再火起來(lái),很有難度, 別的不說(shuō),你的性能實(shí)在是不敢恭維,連我都不如!更別說(shuō)Java和C/C++了?!?/p>
Ruby 嘆了口氣,繼續(xù)喝咖啡。?
Python有點(diǎn)同情Ruby, 故意活躍氣氛: “雖然你不幸‘陣亡’了, 但是你們RoR留下了兩項(xiàng)寶貴的遺產(chǎn),‘約定重于配置’,‘不要重復(fù)你自己’, 我們會(huì)擦干眼淚,高舉你的偉大旗幟,繼續(xù)前進(jìn)!”
Ruby 笑了: “滾吧你?!?
Java端著咖啡走過(guò)來(lái):“你們倆啊,主要是不知道套路啊,要想火起來(lái),必須得抱大腿??!”?
“可不是,你先抱Sun的大腿,再抱Oracle的大腿,一個(gè)比一個(gè)粗?!?Python譏諷道。?
“這算什么, 我還是Google的主力編程語(yǔ)言,IBM的主力編程語(yǔ)言,誰(shuí)的腿粗我就抱誰(shuí)的?!盝ava對(duì)Python頗為不屑,“有了這些大公司的支持和信用背書(shū),才好發(fā)展啊,那些程序員才會(huì)相信,才敢使用啊?!??
“你這么說(shuō)也不對(duì),我抱微軟大腿已多年,怎么還追不上你Java?” C#表示不同意。?
?“誰(shuí)讓你只抱微軟這條腿!太封閉了,做什么都是微軟那一套,生態(tài)系統(tǒng)不行??!”Java 嘲笑道。“要四處出擊,多點(diǎn)開(kāi)花。這樣才能東邊不亮西邊亮,利于不敗之地。你看我本來(lái)只是后端編程,移動(dòng)互聯(lián)網(wǎng)來(lái)了以后,我以為要完蛋了,沒(méi)想到Google又用Android把我推上了新高峰?!?/p>
“那人家Objective-C也只是抱蘋(píng)果的大腿,怎么這么火?” ?C#問(wèn)道。
“蘋(píng)果你能比嗎,看看人家的產(chǎn)品iPhone, iPad,你有嗎? 再說(shuō)那也是老黃歷了,Objective-C已經(jīng)沒(méi)那么火了,只抱一個(gè)大腿是注定不行的!”?
看到無(wú)人反駁自己,Java十分得意,繼續(xù)侃侃而談:“另外要經(jīng)常地開(kāi)技術(shù)會(huì)議,不斷制造新概念,保持熱度,還要找大量的布道師幫你布道,你看,沒(méi)有大腿的支持行嗎?”
?“誰(shuí)說(shuō)要開(kāi)技術(shù)會(huì)議,你們聽(tīng)說(shuō)過(guò)我C語(yǔ)言的技術(shù)會(huì)議嗎?” ?
C老頭兒不知道什么時(shí)候過(guò)來(lái)了。 Java 一愣,是啊, 我聽(tīng)說(shuō)過(guò)Ruby 大會(huì), Python大會(huì), JavaOne大會(huì),React 大會(huì), Vue大會(huì),這C語(yǔ)言怎么就不開(kāi)會(huì)呢??
“前輩您不一樣,您出身名門(mén),早已名滿(mǎn)天下,這種小技巧您肯定不用了!” Java立刻變得謙恭起來(lái), 因?yàn)橛?jì)算機(jī)的絕大部分基礎(chǔ)設(shè)施都是C/C++寫(xiě)的, 包括Java虛擬機(jī)。
“我也沒(méi)有抱大腿???還有,現(xiàn)在的JavaScript也沒(méi)有抱大腿??!”C老頭兒窮追不舍。?
?“嗯...... 這大腿也不一定抱,這個(gè)...... 我去續(xù)杯咖啡?!??Java沒(méi)有想到這搞最底層開(kāi)發(fā)的C語(yǔ)言居然和最上層開(kāi)發(fā)的JavaScript搞到了一塊兒,趕緊找個(gè)借口溜走一會(huì)兒。?
看著Java的背影, C老頭兒說(shuō):“這小子,最近有點(diǎn)兒飄了,我活了這么久, 看到這么多語(yǔ)言的興衰,這語(yǔ)言的發(fā)展吧,雖說(shuō)有個(gè)人努力,但是運(yùn)氣成分也不小?!?
“就說(shuō)這JavaScript吧,” C老頭兒指著旁邊的小伙字說(shuō)道:“他的親爹在設(shè)計(jì)他的時(shí)候,那叫一個(gè)倉(cāng)促,但是架不住互聯(lián)網(wǎng)的風(fēng)口啊,一下子就飛上天了,我聽(tīng)說(shuō)你還和Node.js一起進(jìn)軍服務(wù)器端是不是? ”?
JavaScript點(diǎn)點(diǎn)頭:“是的,我運(yùn)氣確實(shí)不錯(cuò),占據(jù)了先發(fā)優(yōu)勢(shì),即使后來(lái)出了很多Script語(yǔ)言,像TypeScript,CoffeeScript,都沒(méi)法和我競(jìng)爭(zhēng)了?!?
“桌面時(shí)代VB, Delphi(Object-Pasacal)占了上風(fēng),互聯(lián)網(wǎng)時(shí)代是Java和JavaScript, 移動(dòng)互聯(lián)網(wǎng)時(shí)代是Java、Objective-C,大數(shù)據(jù)是Python、Java, ?將來(lái)的人工智能時(shí)代可能是Python和C++, 誰(shuí)知道呢? ”?
Ruby 嘆息:“唉,我還是覺(jué)得這屆程序員不行,不識(shí)貨。”?
“那哪一屆程序員行呢? 別沮喪,每個(gè)語(yǔ)言都有自己的特點(diǎn),都有自己的活法。 ?我貼近硬件,運(yùn)行效率高,做系統(tǒng)級(jí)開(kāi)發(fā)沒(méi)人和我競(jìng)爭(zhēng); Java剛出生的時(shí)候比我和C++都簡(jiǎn)單,性能不錯(cuò),在兩者之間做了一個(gè)很好的平衡,雖然寫(xiě)GUI不怎么樣,但是很適合服務(wù)器端編程; Python簡(jiǎn)單易用,哪里都能用,現(xiàn)在終于用到了AI上;你Ruby 很優(yōu)雅,依然是做Web快速開(kāi)發(fā)的最好選擇, 還是有很多鐵桿粉絲的,比如寫(xiě)碼農(nóng)翻身的老劉。再說(shuō)了,現(xiàn)在的很多系統(tǒng)都有混合語(yǔ)言開(kāi)發(fā)的需求?!??C老頭兒安慰道。?
“說(shuō)什么呢???! 我才是世界上最好的語(yǔ)言!”?門(mén)口傳來(lái)了一聲大吼。?
大家相對(duì)一笑,都知道那個(gè)人來(lái)了。?
“我是一名從事了10年開(kāi)發(fā)在退休邊緣垂死掙扎的高齡程序員,最近我花了一些時(shí)間整理了一個(gè)完整的學(xué)習(xí)C語(yǔ)言、C++的路線(xiàn),項(xiàng)目源碼和工具。對(duì)于想學(xué)習(xí)C/C++的小伙伴而言,學(xué)習(xí)的氛圍和志同道合的伙伴很重要,筆者推薦我專(zhuān)欄的C語(yǔ)言/C++編程愛(ài)好者的聚集地>>>C語(yǔ)言/C++進(jìn)階之路 - 專(zhuān)題 - 簡(jiǎn)書(shū)!
歡迎初學(xué)和進(jìn)階中的小伙伴。希望你也能憑自己的努力,成為下一個(gè)優(yōu)秀的程序員。工作需要、感興趣、為了入行、轉(zhuǎn)行需要學(xué)習(xí)C/C++的伙伴可以一起學(xué)習(xí)!”? ? ? ? ? ?
關(guān)注我,帶你遨游代碼世界!