路轉(zhuǎn)粉:不可替代的JAVA

1.

我不能算是一個(gè)Java程序員,因?yàn)樽饕粋€(gè)合格的Java程序員要熟悉各種通用框架,而我工作的8個(gè)年頭里真正開始用Java編碼和調(diào)試卻始于我的第二任雇主介粘,做嵌入式Android的移植和Debug喷鸽,甚至連APP都很少寫乐设。但卻由于對(duì)Android框架調(diào)試時(shí)的耳濡目染讼庇,對(duì)Java各種設(shè)計(jì)模式和思路也就漸漸的熟悉了起來。

雖然大學(xué)4年有一整個(gè)學(xué)年都在學(xué)Java近尚,但由于我最初的崇拜是C/C++蠕啄,對(duì)Java都很不屑。直至今日戈锻,工作和業(yè)余能用C++寫的絕不用其他語言歼跟。但是這幾年Windows的衰敗以及Linux、嵌入式格遭、Mac的崛起哈街,讓我對(duì)Java的看法有了很大的轉(zhuǎn)變。

2.

相信每一個(gè)程序員的成長過程中拒迅,都糾結(jié)過該專注于哪門語言骚秦。各種業(yè)內(nèi)新聞也為了博得眼球而故意挑起了各大語言的爭戰(zhàn)。類似于Java的沒落衰敗璧微,將要被取代作箍,甚至還有鼓吹Python要替代Java成為服務(wù)端首選語言之類的偏見報(bào)道不計(jì)其數(shù)。我由于當(dāng)年在微軟實(shí)習(xí)接受過.Net的洗腦往毡,甚至一度認(rèn)為.Net不遠(yuǎn)的將來就會(huì)替代JVM蒙揣,C#也將替代Java成為最流行的跨平臺(tái)語言靶溜。后來時(shí)間證明了微軟的尾大不掉开瞭,谷歌帶領(lǐng)著開源社區(qū)將閉關(guān)鎖國的微軟和蘋果兩家企業(yè)踩在了腳下,成功將Java再次推向了神壇罩息。事實(shí)證明了不要錢的開源的才是最容易深得人心的嗤详。言外,在Java撫養(yǎng)權(quán)爭奪戰(zhàn)中瓷炮,谷歌生了個(gè)二胎Kotlin葱色,但畢竟依然是同父異母JVM的親兄弟,就將Java和Kotlin看成是一國的吧娘香。

3.

我路轉(zhuǎn)粉的原因苍狰,并非是被Java(Kotlin)語言特性之類的宣傳折服。因?yàn)樵谖铱磥砗嬲溃瑳]有什么語言特性是完美無缺的淋昭,C++雖然也經(jīng)常被人所詬病,但用起來順手安接,沒有什么是不可接受的翔忽。最多也只能說對(duì)新手不友好罷了。Java最強(qiáng)大的魅力在于他的完美跨平臺(tái)的特性,這是沒有任何語言可以替代的歇式。我在這幾年為雇主公司戰(zhàn)略選型時(shí)候驶悟,調(diào)研用過了多種平臺(tái)組合:

C# & .Net雖然也鼓吹了自己的跨平臺(tái)特性,但可笑的是至今都不支持ARM平臺(tái)材失,非Windows系統(tǒng)的移植進(jìn)程也慢之又慢痕鳍,兼容cocoa以及l(fā)inux平臺(tái)的開源.net幾年過去了依然無法開箱即用。微軟真該考慮換帥了龙巨。要不是有個(gè)Mono的死忠社區(qū)额获,我想.Net現(xiàn)在早已經(jīng)從地球上消失了。

以QT為首的各大跨平臺(tái)GUI框架恭应,也可以說是烽火一時(shí)抄邀,畢竟他們都是可以用我最熟悉的C++編碼。但當(dāng)我在為Arm平臺(tái)移植QT而編譯了幾十個(gè)G的代碼昼榛、為QT做優(yōu)化的時(shí)候境肾,我就已經(jīng)開始懷疑人生了 -- 整套QT源碼和Android框架有啥區(qū)別呢,為什么我要費(fèi)這么多時(shí)間去移植優(yōu)化一套沒人優(yōu)化的QT而放棄了Android已經(jīng)移植優(yōu)化好的框架呢胆屿?而當(dāng)我又嘗試在我的Mac上用QT寫通用工具時(shí)候奥喻,我再一次的懷疑起QT的必要性,過時(shí)的GUI控件非迹,跨版本甚至無法兼容的庫环鲤,無法交叉編譯,跨平臺(tái)我甚至還得要找到一臺(tái)目標(biāo)機(jī)才能編譯和調(diào)試憎兽。最終一狠心冷离,建議老板還是放棄QT吧。

當(dāng)然很多人喜歡Python纯命,python的開箱即用的特性確實(shí)讓我很感動(dòng)西剥,很多C++需要寫幾百行的功能,Python一兩行就搞定了亿汞,也得益于開源社區(qū)工程師的經(jīng)驗(yàn)積累瞭空,python的很多抽象方式依然值得我在C++、Java上借鑒和學(xué)習(xí)疗我。甚至公司某一年的項(xiàng)目我直接帶著團(tuán)隊(duì)用Python開始做咆畏,也正是因?yàn)樵擁?xiàng)目,讓我感受到了Python的很多不足吴裤。Python最大的問題就是他的解釋性運(yùn)行方式旧找,一個(gè)經(jīng)驗(yàn)豐富的Python工程師是可以用最好的架構(gòu)和邊編碼邊編寫單元測試用例來規(guī)避該問題,但是你沒有辦法控制整個(gè)團(tuán)隊(duì)都經(jīng)驗(yàn)豐富嚼摩。寫到項(xiàng)目最后钦讳,已經(jīng)讓我無法整合他人的代碼了矿瘦,很多新手寫Python單元測試的覆蓋率不足50%,很多的代碼邏輯在開發(fā)時(shí)候走不到愿卒,卻在測試運(yùn)維時(shí)候走到缚去,然后崩潰了,后期Debug的代價(jià)相當(dāng)?shù)拇笄砜芏嗟腷ug都是非骋捉幔可笑的語法問題,而這些問題在編譯性語言的編譯階段都能完美的規(guī)避檢查掉柜候。所以我非常不建議使用Python來做大型團(tuán)隊(duì)項(xiàng)目搞动。

4.

最終,調(diào)研了一圈比較流行的跨平臺(tái)方案后渣刷,重新拾起了一直不被我看好的Java鹦肿,才慢慢發(fā)現(xiàn)了他的諸多優(yōu)點(diǎn)。JRE完美跨平臺(tái)特性辅柴,一次編寫隨處執(zhí)行箩溃,JNI調(diào)用Native c/c++編寫的庫也能很有效的規(guī)避了性能問題,最關(guān)鍵的是其穩(wěn)定性碌嘀,開源社區(qū)的多種框架涣旨,UI的統(tǒng)一,大部分的系統(tǒng)都默認(rèn)安裝了JRE股冗,也極大的方便了項(xiàng)目的部署霹陡。嵌入式平臺(tái)上還有谷歌大佬精心優(yōu)化的ART虛擬機(jī),加上公司這幾年的android框架優(yōu)化的積累止状,很快就能完美的將項(xiàng)目運(yùn)維起來烹棉。之前一直很不看好的windows和osx上jar的后綴,覺得其很小眾导俘,后來發(fā)現(xiàn)網(wǎng)絡(luò)上其實(shí)是有各種工具能將jar打包成exe和app程序的峦耘,配合上當(dāng)下流行的JavaFX的窗口應(yīng)用框架,直接讓我拋棄了.net/mfc/cocoa/gtk之類的框架旅薄,路轉(zhuǎn)粉投向了Java家族的懷抱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末泣崩,一起剝皮案震驚了整個(gè)濱河市少梁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌矫付,老刑警劉巖凯沪,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異买优,居然都是意外死亡妨马,警方通過查閱死者的電腦和手機(jī)挺举,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烘跺,“玉大人湘纵,你說我怎么就攤上這事÷舜荆” “怎么了梧喷?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長脖咐。 經(jīng)常有香客問我铺敌,道長,這世上最難降的妖魔是什么屁擅? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任偿凭,我火速辦了婚禮,結(jié)果婚禮上派歌,老公的妹妹穿的比我還像新娘笔喉。我一直安慰自己,他們只是感情好硝皂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布常挚。 她就那樣靜靜地躺著,像睡著了一般稽物。 火紅的嫁衣襯著肌膚如雪奄毡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天贝或,我揣著相機(jī)與錄音吼过,去河邊找鬼。 笑死咪奖,一個(gè)胖子當(dāng)著我的面吹牛盗忱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播羊赵,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼趟佃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了昧捷?” 一聲冷哼從身側(cè)響起闲昭,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎靡挥,沒想到半個(gè)月后序矩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡跋破,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年簸淀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓶蝴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡租幕,死狀恐怖舷手,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情令蛉,我是刑警寧澤聚霜,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站珠叔,受9級(jí)特大地震影響蝎宇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祷安,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一姥芥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧汇鞭,春花似錦凉唐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至读整,卻和暖如春簿训,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背米间。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國打工强品, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屈糊。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓的榛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親逻锐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子夫晌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容