iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 1
1
Software Development

Kotlin 島深度之旅 30 天系列 第 1

[Day 1] Kotlin Journey - Why Kotlin ? (for Java Backend Developer)

https://ithelp.ithome.com.tw/upload/images/20200912/20129902it5DyfG6sa.png

Programming 真的是一個博大精深的藝術,從以前學的 C/C++,Java 的 Object Oriented Programming (OOP) 到現今反而興盛起來的 Functional Programming (FP),或更新的 Reactive Programming,在在顯示了,工程師們追求簡單方便效率的 開發體驗穩固可靠的 系統

後端 Java Developer 的開發體驗

如果你是一名 Java Developer,如果有接觸過 JS 這類 Functional Programming 的語言,是不是會覺得Java 冗長的語法寫久了很痛苦呢?(當然 JS 的坑...也很多XD

是不是常常想著,如果可以寫得輕鬆一點...寫少一點 code,幾行程式碼就可以完成工作呢?

Kotlin

Kotlin 是一門由俄羅斯聖彼得堡的 JetBrains 開發團隊所發展出來的程式語言,如同 Java 和有名的套件 Lombok 是由印尼小島命名而來的,Kotlin 其名稱來自於俄羅斯聖彼得堡附近的 Kotlin Island

Kotlin 一門靜態語言,Apache 2.0 開源,最初目的是在 JVM 上運行,現在 Kotlin 還支援了眾多平台的運行,Kotlin 可以轉譯成 JS,還有不用透過 JVM,藉由 LLVM 編譯後能夠在各平台上運行

https://ithelp.ithome.com.tw/upload/images/20200912/201299029JtPPKBGAl.png

Kotlin 能幫助 Java Developer 更好的開發體驗

為什麼說 Kotlin 能做到更好的開發體驗呢?

1. 避免過多千篇一律的程式碼

舉例來說,我們常常為了要達到 OOP 所謂的封裝要寫很多 getter,setter,想要避免這些工,還要裝個 lombok lib,學習很多 @annotation,來幫我們做到這些事,這些 Kotlin 都幫我們想好了!可以用更單純精簡的語法方式,避免重複的樣板語法,專注在商業邏輯上的開發!

2. Kotlin 是一個真正的 Functional Programming

在 Java 8 後,也有了 Lamda 的 Functional Programming 的元素加入,很多語法可以用更簡潔的方式表達,但不可否認的是,的確寫起來有時候覺得後像在做 "半套" 的 Functional Programming,Kotlin 則提供了真正的 Functional Programming 的最佳開發體驗

3. Null Safety

不管是寫什麼語言,幾乎都有令人頭痛的 NullPointerException,常常造成程式的崩潰和不可預期的錯誤,Kotlin 在一開始就提供了良好的 Null Safety 的語言設計,可以讓 null 的狀況在寫程式的過程中無形中就避免掉,我覺得是一個很棒的設計!

4. Kotlin 不怕跟其他語言學習

從 Kotlin 的語法可以看得出來,其中借鑒了許多其他語言(像是 Java、C#、JavaScript、Scala、Groovy 等等)的優點和簡潔的撰寫方式,我認為這對 JVM 生態圈是一件很好的事,因為我們有機會用 Kotlin 來運用其他的語言的語法優點來進行相容於 JVM 的開發,這真是一大福音

5. Java 界的大神們都開始投入 Kotlin 了,還不快跟上嗎?

寫 Spring Boot 的人應該對 Josh Long 不陌生吧,還有他寫的 Cloud Native Java 也是開發 Java 微服務必看的書籍之一,Josh Long 在近幾年也是大力推廣 Kotlin 應用在 Spring Boot 上的開發,他本人最近也當選了 Kotlin GDE, 或許目前 Kotlin 對後端 Java Developer 還很新,但我相信跟著大神的腳步走準沒錯啊

除了以上提到的優點外,我個人覺得還有一個更重要的重點是...

台灣最棒的讀書會就是 Kotlin.tips

學習的路途上最重要的是有一群熱血的志同道合的朋友或團體,學習程式語言也是

我個人不諱言要學習一門新語言時,多少也會覺得有些掙扎,但有天看到 Kotlin tips 這個讀書會是由 JetBrains 傳教士聖佑主導的,想說去試聽看看,畢竟平時大量使用 Intellij IDEA,覺得 JetBrains 這個公司出的產品真的很棒,結果一試聽真的覺得驚為天人

第一次看到讀書會可以專業到像線上課程一樣,還是免費的,現在甚至還有練功場,可以帶領新手們在熟悉 Kotlin 語法後迅速進入像是 Android,Ktor,刷題,Spring boot,資料科學等等後續的開發領域,俗話說的好,好的老師帶你上天堂,好的讀書會帶你迅速入門語言甚至更上一層樓,我個人大大推薦Kotlin.tips ,歡迎大家一起加入!!

30 天深度旅遊的方向

因為我算是一個 Kotlin 的新手,所以希望再接著的 30 天內, 我能以初學的角度,仔細的講解 Kotlin 的語法搭配一些 leetcode 的小練習應用,最後在進入到 Spring boot 和 Kotlin/JS 的部分

為避免誤人子弟,以下是我會參考的書籍以及資源

如果在內容上有什麼錯誤的,也希望大家指教,讓我可以更正

最後! 讓我們接著在 30天深度探索這未知的 Kotlin Island 吧!我們明天見


下一篇
[Day 2] Kotlin Journey - 第一個 Kotlin 程式
系列文
Kotlin 島深度之旅 30 天31

尚未有邦友留言

立即登入留言