官术网_书友最值得收藏!

推薦序

2016年,微軟發布了.NET Core以擁抱開源,Java則停留在2014年發布的Java 8上。相較于笨重的Java,C#效率極高的語法讓很多人耳目一新,不論是LINQ帶來的集合查詢能力,還是Lambda表達式帶來的簡易匿名函數聲明,都為開發人員帶來了極大的效率提升。雖然這些“語法糖”一度也被詬病為甜膩,但仍為.NET Core平臺吸引了更多的粉絲,也讓Java這位老大哥切實感受到了來自微軟的威脅。

同時,在前端領域,VueJS還沒有問世,但是React已經逐漸取代Angular成為主流前端框架。在React+Redux的單向數據流理念影響下,數據流的操作性變得越來越重要,隨之應運而生的underscore.js和immutable.js風靡一時。集合的鏈式操作和不可變性在一部分前衛開發者心目中成為新的開發范式。

在這樣的背景下,由于項目需要,我們的團隊急切地期望在JVM平臺找到一門能夠提升開發效率的語言。Java 8的笨重讓我們舍棄了它,而JVM平臺的另一門語言Scala又太過于靈活且學習曲線相對陡峭,因此很難在新團隊中廣泛使用。于是Kotlin進入了我們的視野。2017年,我們第一次接觸并在項目中使用Kotlin。

Kotlin在開發效率和學習難度之間找到了很好的平衡,我們的骨干程序員僅用一天時間就完成了簡單的demo,并向團隊成員講解了Kotlin各種有趣的用法,團隊很快接受了這門新語言。隨之我們也發現了問題:由于Kotlin對于大部分的Java語法特性都是支持的,因此很多團隊成員開始寫出Java風格的Kotlin代碼——使用復雜的循環操作而不是對集合的鏈式操作,大量使用可變量而不是不可變量,數據校驗throw exception而不是使用require語句……不一而足。團隊開始對新語言產生質疑,盡管之后在我的堅持下,團隊逐漸適應了Kotlin的工作方式,但這件事情也開始讓我們意識到:新技術的引入要作為一項系統性的工程來管理,而不能僅憑借幾位優秀程序員的一腔熱情。

所以,當看到本書時,我倍感親切。書中的內容真實地呈現了我們團隊在當年所遇到的困境,如果那個時候能有這樣一本指導手冊,相信我們的技術轉型工作會事半功倍。

我也很開心能把這本書推薦給各位讀者,今天的編程語言相較于數年前又有了長足的發展。Kotlin在成為Android官方語言后得到了越來越多開發者的使用。感謝凱捷中國數字化團隊的各位譯者和參與審校的同學,相信這本指南能夠幫助更多像我們一樣的數字化團隊,更快地解決在引入新技術時遇到的諸多問題,更早地享受優秀語言所帶來的各項便利。

開卷有益,是為序。

——曲哲,凱捷沈陽數字化研發中心負責人

主站蜘蛛池模板: 商河县| 会泽县| 卢龙县| 远安县| 永修县| 墨脱县| 阳朔县| 东台市| 丰都县| 英吉沙县| 白山市| 定安县| 清水河县| 阿克苏市| 阿坝| 灵寿县| 普兰店市| 苗栗市| 太原市| 牙克石市| 扶余县| 额济纳旗| 页游| 留坝县| 大关县| 平乐县| 铜鼓县| 高密市| 青冈县| 静乐县| 阿拉善盟| 新绛县| 宁津县| 利川市| 荣昌县| 苍山县| 霍城县| 加查县| 莲花县| 家居| 平塘县|