小弟介紹自己語言的圖譜。
1.寫 Java 三年(沒在寫了)。
2.被公司逼寫 Nodejs 寫了五年(現在還在寫)轉換成本半年。
3.被公司逼 TS 四年(現在還在寫)轉換成本一個月。
4.被公司逼 GO 兩年(現在還在寫)轉換成本兩周。
從一開始Java觀念轉成 Js 超級不習慣,莫名奇妙,不知道哪裡來的屬性,就生出來了,
轉換了半年才習慣,習慣被虐的感覺之後,覺得這個語言真夠自由奔放,只有想不到的寫
法,沒有達不到的寫法,真地爽。
後來幾個專案用 TS 開發又有種回到 Java 的感覺,後來發現 any 之後,真是一邊虐人
一邊給型態提示,又利用 any 突破限制,真得爽。
然後後來新公司要寫 GO 真的寫的好不爽,DB 資料全部都要定義,光是定義都覺得自己
失去開發的速度,還有不能 runtime import 讓 DI 跟 IOC 變得要用很複雜的寫法來做
,還有要做多型或是掩藏其他沒必要曝露的func 就要再宣告個 interface。
光是處理這些東西就要宣告,再宣告,心是真的很累。
從 Java 要從寫五六個檔案開始,遇到 Js 發現只要兩個就解決。
初遇 TS 發現一些強性別之前良好的特性可已選用之後,覺得愛上它。
後來的 Go 是一半愛一半不愛,感覺回到 Java 五成像的語言,宣告沒有 Java 煩,但是
在 DB 部分真的覺得寫的厭世,對造 DB 型態宣告對應的結構,還有寫框架都覺得煩躁了
,如果單純使用是還能接受範圍,比較愛它的 ppof 等等原生工具,這是比 Js , Ts 強
一千萬倍的點。
Js, Ts 雖然是動態語言,很好入門,但是學的精是真的比 Java, Go 還要再更難。
Java 入門比較高,後續寫的很煩,回頭寫覺得自己宣告那些東西,很浪費時間跟生命,
但是初期還是有覺得自己是 OO 大師的錯覺。
Go 入門其實有語言基礎,很簡單,就是寫的煩,ppof 多用就知道自己哪裡寫的有問題,
就能快速提升了。
對了,初學 Go 曾經用 interface 來當作 Ts 功能打折後的 any 來使用,也有一陣子快
樂過,後來發現效能跟屎一樣,就乖乖宣告了。
後來負責架構設計之後,才沒在管那個語言,服務之間怎麼跑的順,那個語言都能交叉實
現。
玩了四個語言心得,老闆叫你用啥,你就要去學。
附帶一個心得,老闆不知道的時候,用那個實現快就用那個,用那個效能好就用那個,多
學才有選擇,堅持一種語言薪水高不起來的,相同的邏輯撰寫下,有時候 Go Benchmark
真的會跑輸 Js 喔,大部分還是贏啦 XD
Java 還是很棒的也有適合的場景跟團隊,只是老了,還是選擇適合自己的語言好了。
黑其他語言的人,不要劃地自限了,這樣你的薪水也被你自己限制了。
通常看到語言戰爭都覺得很可笑,是應用場景跟遇到的團隊文化太少,才會一直拿A語言
優點打B語言的缺點。
半桶水響叮噹。
這篇純使用上的心情分享,不代表真的亂寫,要自以為你的自以為,那我也沒空跟你回。