函式程式設計 Functional Programming

    Professor Frisby's mostly-adequate-guide to Functional Programming

    5.0
    • 從JS的角度學習函數程式語言

    • 函數式程式語言的特性

    免費

    這本書的主題是函數範式(functional paradigm),我們將使用JavaScript 這個世界上最流行的函數程式語言來講述這一主題。有人可能會覺得選擇JavaScript 並不明智,因為當前的主流觀點認為它是一門命令式(imperative)的語言,並不適合用來講函數式。但我認為,這是學習函數程式語言的最好方式,因為:


    • 你很有可能在日常工作中使用它

      這讓你有機會在實際的寫程式過程中學以致用,而不是在空閒時間用一門深奧的函數式程式語言做一些玩具性質的項

    • 你不必從頭學起就能開始寫程式

      在純函式程式語言中,你必須使用monad 才能打印變量或者讀取DOM 節點。JavaScript 則簡單得多,可以作弊走捷徑,因為畢竟我們的目的是學寫純函數式程式碼。JavaScript 也更容易入門,因為它是一門混合範式的語言,你隨時可以在感覺吃力的時候回退到原有的撰寫習慣上去。

    • 這門語言完全有能力書寫高級的函數程式碼

      只需借助一到兩個微型類庫,JavaScript就能模擬Scala或Haskell這類語言的全部特性。雖然面向物件導向(Object-oriented programing)主導著業界,但很明顯這種在方式JavaScript裡非常笨拙,用起來就像在高速公路上露營或者穿著橡膠套鞋跳踢踏舞一樣。我們不得不到處使用bind以免this不知不覺地變了,語言裡沒有類可以用(目前還沒有),我們還發明了各種變通方法來應對忘記調用new關鍵字後的怪異行為,私有成員只能通過閉包(closure)才能實現,等等。對大多數人來說,函式程式語言看起來更加自然。


    以上說明,強類型的函數式語言毫無疑問將會成為本書所示範式的最佳試驗場。JavaScript 是我們學習這種範式的一種手段,將它應用於什麼地方則完全取決於你自己。幸運的是,所有的接口都是數學的,因而也是普適的。最終你會發現你習慣了swiftz、scalaz、haskell 和purescript,以及其他各種數學偏向的語言。


    章節目錄

    • 1-1
      介紹
    • 1-2
      簡單的例子

    試閱影片

    | 尚無內容

    常見問答

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    猜你喜歡

    購買前問答

    | 尚無內容

    銷售方案