學習 Haskell 的十本好書(上)

學習 Haskell 是條漫長又艱辛的道路,在學習過程中,隨身總會攜帶著幾本,可以應付不同時期需求的讀物,已經有人列出十本於不同領域和層次的書藉,試著翻譯 Top 10 Books To Learn Haskell Programming 這篇文章。

進入正文吧!


函數編程有趣地方,是能夠快速成型以及擴展新想法,但對毫無經驗新手而言,不容易去學習。剛開始使用程序編程的知識去開發很容易,可是一旦轉換到函數編程,便會發現更多樂趣。

Haskell 是個好玩的函數程式語言,如果你用心學習,保證將會感受到 Haskell 的威力。該從那裡開始呢?這篇文章會列出十本學習 Haskell 的好書,含蓋初學到進階,符合各階段對象的需要。

Real World Haskell

Real World Haskell

這或許是我見過以來,最終級的學習手冊。從2008年發佈第一版,到現在整本已超過700多頁的入門教學和新手指南。 Real World Haskell 會帶領你透過函數編程,按步就班地完成各種實際練習,來指引你前進,不僅是學習如何寫 Haskell 程式,還學會如何像函數程式師思考,建置 Haskell 應用程式的方法,既可以完全當個初學者,又可以遊走於實用知識,不過你須大致瞭解一些編程概念,像是變數、函數,以及類型等。

由於這本書太豐富,你會從正規化表達式到網路編程和 web/desktop 應用開發,每一樣都學一點,這無疑是無廢話學 Haskell 的最佳入門指南。

譯者注:線上閱讀 Real World Haskell。 英文版中文版

Learn You a Haskell for Great Good!

Learn You a Haskell for Greet Good!

也許在函數編程的書海中,你會發現這本是最好的 Haskell 入門書。作者巧妙運用插圖和喜劇幽默,打造出一個愉快的讀物,寫作風格非常平易近人,並以一種開玩笑的教學方式引入 Haskell 概念。

Haskell 零基礎以 Learn You a Haskell for Great Good! 為開始,帶你走訪每個重點特色,最後會學習從無開始建置自己的類型類和模組。有一些命式式/程序式編程知識可以加快協助你閱讀這本書,若沒有任何編程知識的人也適合,只是花的時間會比別人長。

搞笑天性、超棒插圖,以及逗趣幽默的流行對話文化,我可是這本書的大粉絲。全書 360頁,實際上它把學習 Haskell 變成有趣的冒險。

譯者注:線上閱讀 Learn You a Haskell for Great Good!。 英文版中文版

Haskell: The Craft of Functional Programming

Haskell: The Craft of Functional Programming

函數編程不是一個容易進入主題,Haskell 剛開始可能會很複雜,除非有良好的學習資料。Haskell: The Craft of Functional Programming 目前第三版手冊已達600多頁,我認為這本是最佳的函數編程入門書,從基礎帶到進階,裡面很多應用是需要有堅韌不拔精神才能克服,也許要要花上幾個月,甚至是幾年,才能完全瞭解 Haskell,特別喜歡這本書的原因是從最基本開始教函數編程。

你可以在毫無預備知識下讀這本書,隨手翻翻就好了,但要注意,這會耗上專門的學習時間和令人非常受挫的挑戰部份。

Beginning Haskell: A Project-Based Approach

Beginning Haskell: A Project-Based Approach

從實作專案中學習,可以讓人瞭解 Haskell 在現實世界環境如何運作,Beginning Haskell: A Project-Based Approach 將 Haskell 分成一小步一小步合理的學習過程,依然會學到所有的理論概念,像是 arrows 和 monoids ,不過是以實用性方式來學習,就算是 Haskell 零經驗的人打開此書,一樣能學到良好的函數編程知識。

你可以任意選擇三大主流作業系統的 IDE,作者採用部份熟悉的編程概念,雖然不太可能有人會拿 Haskell 作為第一個學習的語言。

雖然這本書步調確實快,但我強烈推薦給已有函數或程序編程知識,並想從專案練習中,學習 Haskell 的任何人。

Thinking Functionally with Haskell

Thinking Functionally with Haskell

Thinking Functionally with Haskell 是另一本介紹熱切地學生進入 Haskell 世界的函數編程書,學習如何用正確的數學模型方式來撰寫函數程式碼,有超過 100 多種不同的練習題,可以學到所有開發 Haskell 的細節,你會建置一個很棒的解數獨器和方程式運算。

實用的範例有利於加強作業流程中的好習慣,這本教科書是針對大學生,但也適用於任何想坐下來好好研究 Haskell 的人。

(未完待續)