Twitter開源其Scala最佳實踐Effective Scala
http://twitter.github.com/effectivescala/
Scala是Twitter的主要應用程式語言之一,大部分基礎架構是使用Scala編寫,我們有幾個大型庫包在支援應用,Scala是一種大型高效語言, 我們的經驗告訴我們在實踐中要謹慎使用. 它的陷阱在哪裡,哪個特性我們很喜歡,另外哪些應該注意迴避?當我們在實現“純函式風格”時, 又要注意些什麼呢?換句話: 我們已經實踐發現的有利於這個語言的高效使用嗎?這個指南試圖提煉出我們的實踐經驗為隨筆,提供一系列最佳實踐. 我們的Scala使用主要是建立大量形成分散式系統的服務,我們的建議可能有偏見,但是大部分建議可以轉為其他領域,這不是法律文書,有偏差請諒解。
Scala提供了需要工具用於簡化表達,少打字代表少閱讀,少閱讀代表能快速閱讀, 簡潔能夠增加清晰度(大道至簡). 但是簡潔也是一種雙刃劍,會導致其反面效果,導致閱讀者的正確理解度不夠。
綜上所及,Scala作為一個程式語言,你不是在寫Java,Haskell, Python; Scala並不像這些語言中任何一種,為了能夠有效使用這個語言,你必須使用其術語解決你的問題,將java語境帶入Scala是沒有用的,有違背其最初意圖。
閱讀這本指南,我們是假設讀者熟悉下列教程:
Scala是Twitter的主要應用程式語言之一,大部分基礎架構是使用Scala編寫,我們有幾個大型庫包在支援應用,Scala是一種大型高效語言, 我們的經驗告訴我們在實踐中要謹慎使用. 它的陷阱在哪裡,哪個特性我們很喜歡,另外哪些應該注意迴避?當我們在實現“純函式風格”時, 又要注意些什麼呢?換句話: 我們已經實踐發現的有利於這個語言的高效使用嗎?這個指南試圖提煉出我們的實踐經驗為隨筆,提供一系列最佳實踐. 我們的Scala使用主要是建立大量形成分散式系統的服務,我們的建議可能有偏見,但是大部分建議可以轉為其他領域,這不是法律文書,有偏差請諒解。
Scala提供了需要工具用於簡化表達,少打字代表少閱讀,少閱讀代表能快速閱讀, 簡潔能夠增加清晰度(大道至簡). 但是簡潔也是一種雙刃劍,會導致其反面效果,導致閱讀者的正確理解度不夠。
綜上所及,Scala作為一個程式語言,你不是在寫Java,Haskell, Python; Scala並不像這些語言中任何一種,為了能夠有效使用這個語言,你必須使用其術語解決你的問題,將java語境帶入Scala是沒有用的,有違背其最初意圖。
閱讀這本指南,我們是假設讀者熟悉下列教程:
Learning Scala in Small Bites
......
待續
相關文章
- 使用Scala開發Apache Kafka的TOP 20大最佳實踐!ApacheKafka
- 開源Spring Scala介紹Spring
- 【Scala】Scala之ObjectObject
- Twitter 開源其 MySQL 優化成果MySql優化
- 實驗 2 Scala 程式設計初級實踐程式設計
- 【Scala】Scala之TraitsAI
- 基於 Scala 的產品開發實踐 | 掘金技術徵文
- 【Scala】Scala之Packaging and ImportsImport
- Scala學習(六)---Scala物件物件
- 【Scala篇】--Scala初始與基礎
- 【Scala篇】--Scala中的函式函式
- Scala學習(八)---Scala繼承繼承
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- Scala學習總結(from scala for the Impatient)
- Scala學習 2 Scala物件導向物件
- Scala學習(五)---Scala中的類
- Scala學習 1.1 Scala基礎與語法入門實戰
- Scala開發Hadoop示例Hadoop
- 搭建scala開發環境開發環境
- Scala實現乘法口訣
- 用Scala macros實現DCIMacROS
- IDEA開發Spark應用實戰(Scala)IdeaSpark
- scala入門之編寫scala指令碼指令碼
- 有贊開源專案最佳實踐
- Scala學習1.2 Scala中Array Map等資料結構實戰資料結構
- 用Scala和Akka實現DDD
- Scala(四):物件物件
- Scala操作Map
- Scala操作MongoDBMongoDB
- scala學習
- Scala模式匹配模式
- Type classes in Scala
- Scala語法
- scala函式函式
- 【Scala篇】--Scala中集合陣列,list,set,map,元祖陣列
- 有趣的 Scala 語言: 簡潔的 Scala 語法
- Intellij IDEA開發Scala程式IntelliJIdea
- Scala開發之1:環境搭建