[心得] java 還是很猛的

看板java作者 (全新開始)時間9年前 (2016/01/03 01:48), 9年前編輯推噓5(503)
留言8則, 5人參與, 最新討論串1/1
一時有感,抒發七年前學 java 到現在的心得感想,文長請斟酌服用。 ------- 早在 2005 年左右,不少深刻了解 java 優缺點的美國頂尖開發者就在出書或撰文 討論 java 的未來。 當時許多人除了提出很多建議之外,唱衰的也非常多。 嫌它慢、嫌它語法囉嗦、嫌它動不動就在拿大炮打蒼蠅、嫌開發工具落後, 總之就是老爺車啦! 1995 問世的東西好像就該被淘汰一樣.... 尤其是 2007~08 左右,android 開發還未完全火熱的那陣子是 .net 的大進擊, 撲天蓋地的宣傳和好評以及 Visual Studio 的功能展示令求學中的我懷疑 java 是不是要完蛋了,學這個會不會以後很難找工作。在看到學長用 .net 寫出 windows 作業系統上漂亮的視窗應用程式,而我的系統分析課卻只能交出很延遲的 java swing 應用程式之後,我更是在想 java 是不是要塌了... 就算後來 android 開發大紅大紫使得 java 在 TIOBE 的使用者比例再次回到 15% 我仍舊懷疑 android 開發不再紅之後的 java 到底能活多久。 這種心情令我雖然畢業後進入以 java 開發 ERP為主的大公司,但還是不信任 java, 我經常想找機會去當前端工程師,用網路很紅很潮的 nodejs 平台相關工具開發 應用程式。兩年後我也成功了,上面讓我可以直接拿上班時間專心學 nodejs 的東西。 這兩年之間也不是混吃等死,隨著我越來越熟悉 java 世界,特別是開發相關的工具, 我才開始注意到 java 的社群好像還是很有活力,jvm 上面各類型的工具與函式庫 幾乎都有,而且往往還是不錯的解決方案,只是在台灣不知道為什麼開發者們多半 很低調,不像 .net、javascript、ruby、python 等社群的人經常表露出一副我們 就是比較酷的樣子,寫 java 的感覺就比較土。 例如同事和我前陣子在尋找適合開發 cordova 平台應用程式的 IDE, 他對 visual studio 完整的文件、高度的整合性與智慧的整合方式讚嘆不已, 當然也順便抱怨了 java 世界近幾年發展緩慢的 eclipse (intellij 不錯我知道, 但因為要花不少錢就被同事忽略了)。 他欣賞 VS 的程度高到就算我們後端系統是以 spring 為基礎的 java 應用程式, 他還是想把我們團隊的 IDE 都換成 visual studio,即使他知道這可能會讓開發環境 的建置更加麻煩,新進人員的上手速度可能也會減慢.... 至於我呢... 一開始看到 visual studio 的強大威武差點被征服,但試玩兩三天之後, 回家想想雖然它好威,但這麼多功能又不是每個都是用來開發我們應用程式的, 如果只討論特定類型應用程式的開發功能,那 java 社群的解決方案未必比較差。 於是我仍堅持引進 IDE 的衷 - 必須能同時開發 cordova 與 java web, 這 IDE 不旦要好用,最好還不要什麼錢。 運氣好的我也找到了,它就是六年前被我嫌慢,前 sun 公司主導開發的 netbeans。 多年不見沒想到它已非吳下阿蒙,ui 比以前流暢許多,功能完整、資源的整理有系統, 尤其是看到它前端的開發功能以一個免費的 IDE 來說真的還不錯。 接連幾件事看下來.... java 社群還是很有活力嘛~ 也許 java 再過幾年會因為語法的問題而沒什麼人想寫,但 jvm 上的應用程式應該 還可以活很長一段時間。 最近幾天我在學 nodejs 平台上的主流任務執行工具 (task runner) grunt 與 gulp 又有一些體悟。我發現前者被人家嫌沒有用串流 (stream) 處理建置檔案問題, 而後者雖然引入 stream api,還在官方的檔案庫煞有其事地分享為什麼用串流處理 建置過程的文章,但 gulp 的功能好像還是沒有 java 的 gradle 完整.... grunt 與 gradle 的特性大概要結合在一起才能比較接近 gradle 的水準。 此外,過程中我也猛然想起 java 早在十幾年前發展平台時就已經將 I/O 以串流的 概念抽象化,學習 java 的人非常習慣使用 stream 來承接資料以減少記憶體消耗, 沒想到這種概念在 nodejs 這樣的新平台卻不是每個開發者都很熟悉。 忽然.... 我感覺到有點驕傲啊...! 或許 java 不會在每個平台都很快、它語法囉嗦、它動不動拿大炮打蒼蠅、 它開發工具不是最好用的.... 前陣子 .net 開發者甚至在 soft_job 板笑 java 無法 在 iOS 上面開發應用程式,哪能算得上 write once run everywhere.... 但是 java 語言配上 jvm 執行環境終究還是一個 工具與函式庫完整、高度透明、充滿許多厲害又開源免費工具的開發平台, 只是因為發展成熟,就業市場的需求比較 M 型化而已。 想到這裡我就想替那些學習 java 與 jvm 的新手加油打氣。 java 還是一個很不錯的工具,只是為了應付專業需求而比較複雜, 不能像一些設計單純的平台三兩下就完成你的需求,但只要願意投入時間去跳過 那不低的門檻,終究還是能用非常低廉的代價學到很多先進的技術, 努力絕對不會白費的! 與大家共勉! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.196.240 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1451756936.A.D6A.html

01/03 15:04, , 1F
一出生就是老頭的java 越來越年輕的過程
01/03 15:04, 1F

01/03 19:33, , 2F
intelij 社群版不用錢
01/03 19:33, 2F
重要開發功能只在進階版提供

01/04 12:07, , 3F
IntelliJ 我用過 Ultimate 版的,真的蠻好用的
01/04 12:07, 3F

01/04 12:08, , 4F
還可以吃多種程式語言,現在變成我的主力 IDE
01/04 12:08, 4F

01/04 15:34, , 5F
淚推netbeans
01/04 15:34, 5F
我覺得現在 netbeans 很猛了,只是 java 世界待久的人常常印象還停在五六年前, 那時候的 netbeans 真的被 swt 做出來的 eclipse 屌打。 ※ 編輯: dream1124 (118.168.74.247), 01/04/2016 21:43:53

01/06 09:49, , 6F
7.4跟8.1使用中,我也覺得很好用阿QQ
01/06 09:49, 6F

02/05 12:06, , 7F
netbeans跟IntelliJ都有用,但真心覺得In
02/05 12:06, 7F

02/05 12:06, , 8F
telliJ 可以讓我更早下班。
02/05 12:06, 8F
文章代碼(AID): #1MY0s8rg (java)
文章代碼(AID): #1MY0s8rg (java)