前言
最近想了解下akka椭微,鑒于scala是一門融合了FP和OO的語言,目前發(fā)展不錯蝇率,所以決定學習一下刽沾。本文整理了一些不錯的入門資料排拷。
找資料
在開始一門新的語言的學習時,首先會想著在網(wǎng)上了解一下這門語言的現(xiàn)狀和發(fā)展监氢,然后就會開始找相關資料進行入門學習。
結(jié)合我之前學習其他語言的經(jīng)驗浪腐,我認為的學習過程可以分為:
- 認識基本語法
- 看懂小知識點對應的小例子(2-10行)
- 模仿寫出小例子(2-10行)
- 看懂綜合多個知識點的大例子(100-3000行不等)
- 針對某個具體問題,結(jié)合多個知識點給出相關解決方案
- 認識流行框架
- 開始使用優(yōu)秀框架構建項目解決問題
- 開始讀優(yōu)秀源碼
- 思考語言設計
- ...
首先我在知乎上找了相關問題如何學好Scala议街?請給出一條科學的時間線,該問題下的很多回答都是相當靠譜的隔盛,感謝這些回答者!
遍歷答案結(jié)合之前的經(jīng)驗篩選出了我認為不錯的一些參考資料:
書籍
- twitter的入門手冊,這個手冊知識點列舉得比較簡單腊脱,基本上屬于掃一眼然后對相關語法有個大概的認識
- Scala for the Impatient/快學scala,這本書按難度進行的編排陕凹,可以稍微看掃一下多章加深認識
- Scala編程 創(chuàng)始人MO寫的書,當做手冊看即可
小例子
- Ninety-Nine Scala Problems 在你看了一些語法想練手的時候杜耙,這99個例子給了你好機會搜骡,當然我貌似只做了30個左右(沒時間)
大例子
- A pipelined, non-blocking, extensible web server in under 1400 lines of Scala 這個大例子是極好,java的同學基本可能都了解過jetty的實現(xiàn)佑女,看過《How Tomcat Works》,而這個例子用不到1400行代碼構建了一個基于Nio的采用流水線設計团驱、可擴展的web server,真是給力嚎花!后面可能會以這個大例子為入口紊选,介紹scala中涉及到的語法點
博客
- hongjiang的博客 大牛宏江的博客
優(yōu)秀源碼
開干
經(jīng)過差不多一個禮拜下班+周末的學習献烦,才達到了看懂web server那個大例子的程度,進度有點慢仿荆,加油!