scala 入門

基于scala的框架

play: web框架, 仿制rails

spark: 大數(shù)據(jù)分析

動態(tài)類型和靜態(tài)類型

動態(tài): 運行時, 進行類型檢查

靜態(tài): 編譯時, 進行類型檢查

簡單地說,在聲明了一個變量之后,不能改變它的類型的語言,是靜態(tài)語言;能夠隨時改變它的類型的語言,是動態(tài)語言.

為什么要靜態(tài)類型

  • 編譯檢查, 安全類型
  • 工具提示
  • 性能好
  • Java/C#

為什么要動態(tài)特性

  • 輕量和靈活, 可根據(jù)框架自動生成代碼
  • 運行時改變程序的行為
  • Python/Ruby, JavaScript

什么是碼農(nóng)? 人肉編譯器, 把業(yè)務場景編譯成代碼

為什么要面向?qū)ο?/h1>

解決問題更方便, 快捷?

面向?qū)ο蟾玫孛枋鰳I(yè)務邏輯, 與人認知世界的方式相似(總結(jié))

三大特征, 解決三個問題

Java數(shù)據(jù)和行為分開(Dao和Model), 不太面向?qū)ο? ruby on rails把數(shù)據(jù)和行為一同封裝(面向?qū)ο?.

TODO: 喪鐘為誰而鳴?

為什么要函數(shù)式編程

什么是純函數(shù)

函數(shù)可以當做參數(shù)傳遞, 表述清晰

函數(shù)式編程特性, 如何解決 可維護性, 可重用性, 可擴展性?

面向?qū)ο? 對象在做事情; 函數(shù)式, 函數(shù)在做

| 解決問題 | 面向?qū)ο?| 函數(shù)式 |
|-------------------|
| 重用單位 | 類 | 方法 |
| 可維護性 | 信息封裝 | 信息不變化 |
| 可擴展性 | 類組合 | 方法組合 |

深入函數(shù)式,請猛擊

為什么函數(shù)式編程沒有流行起來?

圖靈完備: 可計算的都可計算. (遞歸, 需要無限的計算資源)

物理限制, 計算資源有限, 內(nèi)存有限

現(xiàn)今內(nèi)存和 cpu 運算速度指數(shù)增長, 以及對并行運算的需求

scala特性

動態(tài)性: REPL, 運行時編譯

tuple: 可以存儲不同類型的集合

學習資源

twitter scala 指南

typesafe scala 交互學習

scala官方文檔中文

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容