Scala程序設(shè)計

出版時間:2010-8  出版社:人民郵電出版社  作者:[美]Venkat Subramaniam  頁數(shù):180  譯者:鄭曄,李劍  
Tag標(biāo)簽:無  

內(nèi)容概要

  Scala是一門混合了函數(shù)式和面向?qū)ο蟮撵o態(tài)類型語言。本書旨在使讀者在Scala上達(dá)到一定水平,可以用它編寫并發(fā)、可伸縮、有表現(xiàn)力的程序。主要涉及Scala的函數(shù)式風(fēng)格、自適應(yīng)類型、閉包、XML處理、模式匹配和并發(fā)編程等內(nèi)容。通過學(xué)習(xí)本書,你可以使用Scala的強(qiáng)大能力,創(chuàng)建多線程的應(yīng)用程序?! ∵@本書是為想了解Scala的程序員和有經(jīng)驗的Java程序員準(zhǔn)備的。本書可以幫助讀者快速領(lǐng)會Scala的精髓,用它構(gòu)建真實的應(yīng)用。

作者簡介

Venkat Subramaniam,Agile Developer創(chuàng)辦人,培訓(xùn)并指導(dǎo)了美國、加拿大、印度和歐洲多國的上千名軟件開發(fā)人員,并多次應(yīng)邀在各種大會上發(fā)表演講。他是《高效程序員的45個習(xí)慣:敏捷開發(fā)修煉之道》(2007年Jolt大獎作品)的第一作者,還著有.NET Gotchas(O’Reilly)、Programming Groovy(Pragmatic)等書。

書籍目錄

第1章 簡介  1.1 為何選擇Scala  1.2 何為Scala  1.3 函數(shù)式編程  1.4 本書的內(nèi)容  1.5 本書面向的讀者  1.6 致謝 第2章 起步  2.1 下載Scala  2.2 安裝Scala   2.2.1 在Windows上安裝Scala   2.2.2 在類UNIX系統(tǒng)上安裝Scala  2.3 讓Scala跑起來  2.4 命令行上的Scala  2.5 把Scala代碼當(dāng)作腳本運(yùn)行   2.5.1 在類UNIX系統(tǒng)上作為腳本運(yùn)行   2.5.2 在Windows上作為腳本運(yùn)行  2.6 在IDE里面運(yùn)行Scala  2.7 編譯Scala 第3章 Scala步入正軌  3.1 把Scala當(dāng)作簡潔的Java  3.2 Java基本類型對應(yīng)的Scala類  3.3 元組與多重賦值  3.4 字符串與多行原始字符串  3.5 自適應(yīng)的默認(rèn)做法  3.6 運(yùn)算符重載  3.7 Scala帶給Java程序員的驚奇   3.7.1 賦值的結(jié)果   3.7.2 Scala的==   3.7.3 分號是半可選的   3.7.4 默認(rèn)的訪問修飾符   3.7.5 默認(rèn)的訪問修飾符以及如何修改   3.7.6 Scala的Protected   3.7.7 細(xì)粒度訪問控制   3.7.8 避免顯式return 第4章 Scala的類  4.1 創(chuàng)建類  4.2 定義字段、方法和構(gòu)造函數(shù)  4.3 類繼承  4.4 單例對象  4.5 獨(dú)立對象和伴生對象  4.6 Scala中的static 第5章 自適應(yīng)類型  5.1 容器和類型推演  5.2 Any類型  5.3 關(guān)于Nothing的更多情況  5.4 Option類型  5.5 方法返回類型推演  5.6 傳遞變參  5.7 參數(shù)化類型的可變性 第6章 函數(shù)值和閉包  6.1 從普通函數(shù)邁向高階函數(shù)  6.2 函數(shù)值  6.3 具有多參數(shù)的函數(shù)值  6.4 Curry化  6.5 重用函數(shù)值  6.6 參數(shù)的位置記法  6.7 Execute Around Method模式  6.8 偏應(yīng)用函數(shù)  6.9 閉包 第7章 Trait和類型轉(zhuǎn)換  7.1 Trait  7.2 選擇性混入   7.3 以trait進(jìn)行裝飾  7.4 Trait方法的延遲綁定  7.5 隱式類型轉(zhuǎn)換 第8章 使用容器  8.1 常見的Scala容器  8.2 使用Set  8.3 使用Map  8.4 使用List  8.5 for表達(dá)式 第9章 模式匹配和正則表達(dá)式  9.1 匹配字面量和常量  9.2 匹配通配符  9.3 匹配元組和列表 9.4 類型和衛(wèi)述句的匹配  9.5 case表達(dá)式里的模式變量和常量  9.6 對XML片段進(jìn)行模式匹配  9.7 使用case類進(jìn)行模式匹配  9.8 使用提取器進(jìn)行匹配  9.9 正則表達(dá)式  9.10 把正則表達(dá)式當(dāng)做提取器 第10章 并發(fā)編程  10.1 促進(jìn)不變性  10.2 使用Actor的并發(fā)  10.3 消息傳遞  10.4 Actor類  10.5 actor方法  10.6 receive和receiveWithin方法  10.7 react和reactWithin方法  10.8 loop和loopWhile  10.9 控制線程執(zhí)行  10.10 在各種接收方法中選擇 第11章 與Java互操作  11.1 在Scala里使用Scala類  11.2 在Scala里使用Java類  11.3 在Java里使用Scala類   11.3.1 有普通函數(shù)和高階函數(shù)的Scala類   11.3.2 同trait一起工作   11.3.3 單例對象和伴生對象  11.4 繼承類 第12章 用Scala做單元測試  12.1 使用JUnit  12.2 使用ScalaTest  12.3 以Canary測試開始  12.4 使用Runner  12.5 Asserts  12.6 異常測試  12.7 在測試間共享代碼   12.7.1 用BeforeAndAfter共享代碼   12.7.2 用閉包共享代碼  12.8 FunSuite的函數(shù)式風(fēng)格  12.9 用JUnit運(yùn)行ScalaTest 第13章 異常處理  13.1 異常處理  13.2 注意catch順序 第14章 使用Scala  14.1 凈資產(chǎn)應(yīng)用實例  14.2 獲取用戶輸入  14.3 讀寫文件  14.4 XML,作為一等公民  14.5 讀寫XML  14.6 從Web獲取股票價格  14.7 讓凈資產(chǎn)應(yīng)用并發(fā)  14.8 為凈資產(chǎn)應(yīng)用增加GUI 附錄A Web資源 

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Scala程序設(shè)計 PDF格式下載


用戶評論 (總計44條)

 
 

  •   其定位決定了本書不會覆蓋Scala的方方面面,但是對于熟練的Java用戶而言,本書是最理想的Scala入門書。本書可以幫助用戶在短時間內(nèi)學(xué)會如何用Scala編寫線程安全的Java組件,而不是教人如何從頭用Scala編寫完整的應(yīng)用。
    限于篇幅,本書也沒有像其它Scala教材一樣涉及太多的算法和設(shè)計理論(由于Scala設(shè)計者的學(xué)術(shù)背景,很多參考書會比較深入的探討Scala的設(shè)計原理),這是遺憾,但畢竟是從定位出發(fā)的。

    Scala的版本變化對書中的例程有一定的影響,建議下載2.7版進(jìn)行練習(xí)。

    PS:很討厭“偏應(yīng)用函數(shù)”的說法,英文其實是“未完全實現(xiàn)的函數(shù)”之意,偏函數(shù)的說法讓人不知所云(但可惜已經(jīng)成了習(xí)慣譯法,所以說第一個譯者真的很重要)
  •   是對Scala中多核并發(fā)編程一種很好的詮釋,看完后感覺和Erlang非常相似,但又有差別,不過收益很少,了解了Scala應(yīng)用的一個重要方面
  •   概念清楚,條理清晰。很多在Java眼里很晦澀的概念解釋的非常合理和透徹,看完這本之后再看更深的書會容易的多。適合Java開發(fā)者,快速入門Scala。
  •   建議有Java和Scala基礎(chǔ)之后再閱讀
  •   用了很多種語言了,目的是想看一看各種新的語言有什么新的進(jìn)展。抱著想對Scala這個語言做一個基本的了解的目的買了此書。我覺得這本書的厚度剛好能滿足我的目的。讀起來不費(fèi)勁。

    這本書不是Scala的完全引用手冊。可作為入門的讀物。
  •   簡潔,突出重點(diǎn),適合有一定java基礎(chǔ)之后去看....
  •   眼見為實,入門絕佳好書,足以。。建議學(xué)習(xí)光看。
  •   可以收獲很多。
  •   學(xué)到新知識了
  •   挺薄的一本,入門還不錯吧~
  •   這本書內(nèi)容信息量比較大,內(nèi)容比較跳躍。需要反復(fù)來回看。主要Scala的三大重點(diǎn)、函數(shù)/閉包、匹配、Actor三塊來講。不是循序漸進(jìn)的那種。初學(xué)者 需要配合其它參考書
  •   一直使用java,對于一個0基礎(chǔ)scala的人來說,還是值得的,很高興在當(dāng)當(dāng)網(wǎng)買一本書也免了郵費(fèi)。
  •   書確實太薄了點(diǎn),而且字也比較大,可目前國內(nèi)沒有人寫這方面的書,就當(dāng)是看看吧。所說scala會是java的合法繼承者,那就拭目以待啰!
  •   這本書用來學(xué)習(xí)scala挺好,不太難。
  •   入門還可以,內(nèi)容稍微嫌少。
  •   不適合入門,建議配合其他的書一起看
  •   初生嬰兒視覺激發(fā)卡黑白
  •   昨天剛到,看了小部分,適合入門。
  •   和 oreily 的書是一個大小尺寸
  •   已經(jīng)看了,很不錯,精簡
  •   不是說書的問題,只是覺得這本書的內(nèi)容不是很全面。市面上scala的書很少,不過這本書也給我不少的啟發(fā),總體還不錯。
  •   對于入門scala,這是一本不錯的書,特別是在現(xiàn)在scala的紙質(zhì)書不多的情況下
  •   當(dāng)你開始深入的去理解和追逐他的腳步,認(rèn)識到他的原理
    再深入他的設(shè)計 你會為此著迷。
  •   書的內(nèi)容還在讀,還沒看到令人驚喜的地方
  •   運(yùn)送速度還可以,就是書好像被人翻過,總體來說還好
  •   粗略的看了下,感覺還不錯
  •   看完第六頁后,就到了第23頁,然后申請換貨,當(dāng)當(dāng)網(wǎng)竟然說沒有貨了。然后再看購買頁面又顯示庫存是有的
  •   書拿到了,薄薄的一本180頁;再一翻恩,字很大,四邊留白很多;
    還沒看內(nèi)容,此書給俺留下的印象就是...0的突破專用書籍
    這就是第一本中文版的scala書籍,其他評論等俺看完了再說.
    E文好的朋友還是去看原版吧,據(jù)說有700多頁;
    只是苦了俺等E文只能湊合的大眾
  •     本來是想借助它入門,結(jié)果,也僅僅是入了個門,對很多東西描述的太少。
      
       是很輕薄,但同時好多例子也不好理解,解釋的太粗。
      
       所以,我的觀點(diǎn):不管是入門,還是想深入研究,強(qiáng)烈推薦另一本《scala編程》,scala的作者寫的,不會錯的。
  •      大師們都推薦,每個人至少學(xué)第二門編程語言。在看scala之前,學(xué)C#的同學(xué)一直詬病Java的語法:一潭死水、不吸取新的特色。當(dāng)時,我只能用C#問世比Java晚借鑒Java的長處彌補(bǔ)不足為條件力辯--后來人依葫蘆畫瓢然后避免前人犯的一些錯誤就Ok,而且,你不能期待微軟模擬出來的東西有多差。另外,同學(xué)說,我不看好Java,但我看好強(qiáng)大的JVM。他這兩點(diǎn)的確說到點(diǎn)子上了!
       scala的確是對Java語法的很大彌補(bǔ),比如類型推演,Trait,Curring,函數(shù)式編程,對并發(fā)的更高級抽象,對XML的支持,對讀寫文件的便利操作等。這本書不似API,看完之后你還得另看一本詳細(xì)介紹的書然后才進(jìn)入實際開發(fā),它側(cè)重于講Scala的新特性和語法,而不是大范圍內(nèi)的囊括所有scala的知識點(diǎn),比如scala的圖形界面。但,看完后、敲一遍代碼,你絕對算對scala入門了。。。
  •     很薄而有精煉的一本書,通過ipad在上班的地鐵上把這本書E文版看完了。一個Java程序員,看完一遍,基本上可以比較順利的使用Scala了寫程序了。有了Scala,你還會期待慢騰騰的Java 7,8,9,10..的新特性么?打算在一些小的項目、工具和機(jī)器學(xué)習(xí)的實驗代碼中使用并熟悉scala語言。對于一個有Java和Ruby,少許Erlang經(jīng)驗的程序員,學(xué)習(xí)Scala或許不再像書中所說的那樣驚詫于Scala的簡潔和怪異的語法,但不得不驚詫于一個靜態(tài)語言能夠如此平滑的將面向?qū)ο蠛秃瘮?shù)式編程方式溶為一題,同時又能如此實現(xiàn)像Ruby一樣動態(tài)的功能。
      
  •     譯者的辛苦努力首先要得到承認(rèn)。但不得不說這本書的內(nèi)容有點(diǎn)雞肋。很多東西都沒寫清楚,行文不太流暢,有個別錯誤。作為一名Java程序員如果打算了解Scala,IBM developer有幾篇不錯的文章。如果打算全面了解Scala,這本薄薄的書的內(nèi)容實在太少。
      總之,買這本書,有點(diǎn)虧得慌!
  •     本書主要講了學(xué)習(xí)、使用 Scala 必備的知識點(diǎn)(編程要點(diǎn)、技巧),
      略去了太過“偏”的細(xì)節(jié),更加容易理解!
  •     目標(biāo)讀者定位很明確,就是幫助Java程序員熟悉Scala語言。
      
      可能是由于Scala的確有很多新穎(或者說不太適應(yīng))的東西,加上一些概念還沒有標(biāo)準(zhǔn)化翻譯,所以感覺還是稍欠打磨。
      
      不過這本書還是推薦作為Scala入門書籍,對初接觸Scala的人來說,還是很不錯。
      
      另外,我覺得譯作加上一些評注,是很好的嘗試。尤其是Scala這種快速成長中的技術(shù),翻譯的時候技術(shù)更新了,加上評注對讀者是很好的交代。
  •     快速入門書,沒看完呢,不過覺得譯者有點(diǎn)刻意想讓讀者知道自己看懂了原文的感覺,有點(diǎn)別扭,而且經(jīng)常是通過無意義的腳注來說明他們看懂了,不喜歡這種做法。
  •     這兩個關(guān)鍵詞:
      1、適合Java開發(fā)者
      2、快速入門Scala
      
      概念清楚,條理清晰。很多在Java眼里很晦澀的概念解釋的非常合理和透徹??赐赀@本之后再看更深的書會容易的多。
  •   其實,在我們現(xiàn)在的階段學(xué)Scala。用的很少,語法倒不是關(guān)鍵,
    我覺得有兩點(diǎn):第一,就是學(xué)習(xí)里面的函數(shù)式的特性,比如列表推演,不變類型這些。然后就是一些并發(fā)的實現(xiàn)。就是說那些思想。第二,就是面試的時候至少能說的東西多些 ^-^
  •   同感,尤其看到actor時就沒看下去,看這本有些浪費(fèi)時間,不如直接看馬丁二叔的PiS,轉(zhuǎn)讀動物世界那本...
  •   樓上問的是重點(diǎn)
  •   感覺翻譯的還不錯。
  •   準(zhǔn)備買了
  •   我去找電子版的算了,不能再買書了
  •   我也有電子版,只是平時整天對著電腦,實在有點(diǎn)受不了了。到ppurl.com上可以下載
  •   我是比較欣賞譯者,然后才去買書。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7