自從 Kotlin 被 Google 認定為 Android 的首選語言後,它便經常與 Java 進行比較。我從2018年開始學習 Kotlin,當時它被視為 Java 的接班者。現在, 2023/ 09當下 Java 21 LTS 即將推出,其中許多特性似乎受到 Kotlin 的啟發,也有了virtual thread。開始有人討論這是暗示著 Kotlin 的未來暗淡
看待 Kotlin 應該是一個獨立的語言,才能正確的認識他。只是他同時支援了 OO 和 FP, 而且現在積極的在 support JVM, mobile 以外的 platform (KMM) 。君不見 F# 和 C# 之間有這樣取代性的討論。從我過去五年的經驗中,最初是用 Java 的思維寫 Kotlin。但隨著對 Kotlin 風格和設計的深入理解,我開始更加重視不可變性 (Immutable) 和純函數的思維,這也讓我開始有了不同的思考角度。
其實學習程式語言就像學真的語言一樣,一開始模仿,到真的用這個語言來思考,需要時間的累積。
每種語言都有自己的哲學,這決定了其設計決策。Kotlin哲學的核心是實用主義。這意味著,最終,所有的選擇都需要滿足商業需求,例如:
所以會看到很多其他語言的影子,Kotlin 本身也注重開發者經驗。所以有工具友好性並能與 Java 的互操作性
Bruce Eckel,也就是《Thinking in Java》的作者,2021 年出版了《Atom Kotlin》。他曾說:「一開始,我寫 Java 的方式就像 Kotlin。」這也是他後來寫下《Thinking in Java》的原因。同樣地,我早期寫 Kotlin 的方法太像 Java,這促使我想在這次的鐵人賽中記錄這樣的轉變。
另外想挑戰每日一推 (G)I-DLE, 今天就推讓舒華大放異彩的 Lion 吧。