不要和Java“结婚”
軟件大神Bill 聽(tīng)說(shuō)張大胖要和女友Java舉辦婚禮,他非常吃驚,趕緊跑去阻止,可是為時(shí)已晚,張大胖已經(jīng)把戒指戴到了滿臉幸福的Java的手上。?
Bill警告張大胖:“你的苦日子開(kāi)始了!”
張大胖不以為然,他太喜歡Java了,喜歡Java那嚴(yán)謹(jǐn)?shù)恼Z(yǔ)法,優(yōu)美的Lambda表達(dá)式,漂亮的注解,無(wú)所不包的類庫(kù)。還有,一個(gè)簡(jiǎn)單的單例模式用Java都有七種寫(xiě)法!這是其他語(yǔ)言根本無(wú)法比擬的!?
他發(fā)誓以后只愛(ài)Java一個(gè)人,不僅愛(ài)她眾多的優(yōu)點(diǎn),也包容她各種各樣的缺點(diǎn)。
不僅愛(ài)Java,他還愛(ài)屋及烏,很喜歡和Java的七大姑八大姨打交道,像Spring了,MyBatis了,Tomcat了,Netty了, 都是他家里的常客。
張大胖用這種方式向Java媳婦表達(dá)自己的忠貞不渝,生是Java的人,死是Java的鬼。?
他的Java媳婦也經(jīng)常給他灌迷魂湯:我們Java家族常年在TIOBE上排名第一,靜態(tài)類型,正統(tǒng)的面向?qū)ο缶幊陶Z(yǔ)言,后端開(kāi)發(fā)、移動(dòng)開(kāi)發(fā)、大數(shù)據(jù)開(kāi)發(fā)的絕對(duì)統(tǒng)治者!
不僅如此,每當(dāng)張大胖流露出一點(diǎn)對(duì)其他語(yǔ)言的好感,Java都會(huì)對(duì)他毫不留情地予以打擊,直至他懸崖勒馬,回頭是岸。
有一次逛街,張大胖瞥了一眼迎面走過(guò)的Python,就被Java媳婦狠狠踹了一腳:一個(gè)動(dòng)態(tài)語(yǔ)言有什么可看的?! ??你看看那強(qiáng)迫癥似的縮進(jìn),丑陋的self,性能大累贅GIL,怎么能和我相比??
張大胖怕回去跪搓板,趕緊附和:就是就是,雖說(shuō)都有字節(jié)碼,但是Python那虛擬機(jī)就是個(gè)玩具,完全不能和Java虛擬機(jī)相比。?
早些年張大胖對(duì)Ruby頗有好感,覺(jué)得語(yǔ)法優(yōu)雅,元編程強(qiáng)大,至今家里還偷偷存放著給Ruby的幾封情書(shū)。??
那一天安裝Visual Studio Code,張大胖不知道發(fā)了什么神經(jīng), 居然用Ruby而不是Java 寫(xiě)了一行代碼:
print "Hello World";
很不幸,Java媳婦就在身后,雷霆震怒。?
張大胖還想抵賴,紅著臉辯解說(shuō)這是Python代碼,結(jié)果被明察秋毫的Java媳婦當(dāng)場(chǎng)識(shí)破:“Python程序根本就不用分號(hào),Python3的print函數(shù)必須加括號(hào)才能調(diào)用,還有你這文件擴(kuò)展名明明是.rb還想抵賴......”
除了罰他用Java刷一百道LeetCode題之外,Java媳婦還翻箱倒柜徹底給家里消了毒,把C,C++, Python等各種代碼,包括那幾封情書(shū)都當(dāng)作垃圾掃地出門(mén), 這讓張大胖傷感了好幾天。?
不過(guò)Java媳婦對(duì)JavaScript網(wǎng)開(kāi)一面,不知道是不是名稱中也帶個(gè)Java的緣故, Java媳婦寬宏大量地規(guī)定張大胖以后可以基于HTTP的RESTful的服務(wù)和JavaScript進(jìn)行書(shū)信往來(lái),書(shū)信的格式必須是JSON,必須交由她先審查再定奪張大胖能不能看。?
后來(lái)Java覺(jué)得用JSON交談不妥,又升級(jí)為GraphQL, 張大胖真搞不懂她心里在想什么。?
時(shí)間一天天地過(guò)去,張大胖掉進(jìn)了Java的溫柔陷阱,落入了Java織就的信息繭房。他覺(jué)得Java語(yǔ)言的一切都是好的。?
張大胖無(wú)論寫(xiě)什么程序都用Java。寫(xiě)服務(wù)器端程序,肯定用Java, 寫(xiě)桌面程序,還得用Java。就是寫(xiě)個(gè)處理文件的小程序,也是Java,雖然用Python可能10行以內(nèi)就能搞定。
有一次,公司要開(kāi)始一個(gè)新的項(xiàng)目,嘗試用Go語(yǔ)言的技術(shù)棧,根本不了解Go語(yǔ)言的張大胖極力反對(duì):用什么Go語(yǔ)言啊,Java多好,生態(tài)系統(tǒng)多成熟!
不僅如此,他還每天琢磨著去“統(tǒng)一”公司的編程語(yǔ)言 ,公司有個(gè)爬蟲(chóng)程序,專門(mén)把競(jìng)爭(zhēng)對(duì)手網(wǎng)站上的數(shù)據(jù)給爬下來(lái),本來(lái)是用Python開(kāi)發(fā)的,因?yàn)镻ython在這方面的工具非常多,開(kāi)發(fā)很方便。可是張大胖有一天居然用Java給它重寫(xiě)了,把經(jīng)理氣得夠嗆。
張大胖拒不承認(rèn)動(dòng)態(tài)語(yǔ)言在快速開(kāi)發(fā)方面的優(yōu)勢(shì),看不到迅速完成一個(gè)系統(tǒng),推到市場(chǎng)上驗(yàn)證所產(chǎn)生的價(jià)值,他總是拿“動(dòng)態(tài)一時(shí)爽,重構(gòu)火葬場(chǎng)” 來(lái)攻擊Python,Ruby等動(dòng)態(tài)語(yǔ)言。他不停地上網(wǎng)和別人論戰(zhàn),維護(hù)Java的正統(tǒng)地位。
張大胖經(jīng)常聽(tīng)到同事在討論新的技術(shù),比如火熱的Go語(yǔ)言的Goroutine,Erlang的Actor模型,? 還有LISP的函數(shù)式和元編程,JavaScript的閉包,柯里化...... ?? 每次張大胖都嗤之以鼻, 什么Goroutine,什么Actor,最有用的還是Java的線程!
慢慢地,大家不再搭理他,周末去喝酒也不帶著他了,可憐的張大胖被孤立了。
落寞的他回到家,打開(kāi)《Java 4-ever》這部老電影開(kāi)始復(fù)習(xí),他一邊喝著酒,一邊陷入了深深的沉思......
后記:
寫(xiě)這篇小品文是因?yàn)槲?strong>看到有些人太癡迷于一種語(yǔ)言,對(duì)別的語(yǔ)言根本看不上眼,不屑一顧,就以張大胖和Java結(jié)婚做了一個(gè)比喻,批駁一下。現(xiàn)在這個(gè)世界上哪有無(wú)所不能的語(yǔ)言呢?每個(gè)語(yǔ)言都有自己的優(yōu)點(diǎn)和適用范圍,如果只是固守一個(gè)語(yǔ)言,不去看看外邊的美好世界,就太可惜了。ps: 《Java 4-ever》 是油管上一個(gè)非常搞笑的短片,點(diǎn)擊閱讀原文可以觀看。
總結(jié)
以上是生活随笔為你收集整理的不要和Java“结婚”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 强!分库分表与分布式数据库技术选项分析
- 下一篇: 300 行代码带你搞懂 Java 多线程