函數式編程交流會 2016 粗略
@閱千人而惜知己 有錄製解析度比較高的視頻, 等他消息吧. 我錄的視頻清晰度很差的, 當音頻查閱. 除了最後一個 @parker liu 的範疇論分享, 其他都按照這篇文章"第2屆函數式編程分享"進行.
幻燈片只有一部分有, 我本地備份了一下 http://pan.baidu.com/s/1i4MN5BJ
視頻部分
上午的視頻, Cloud Haskell 和 Haskell 類型系統, "上午視頻"(2 個分享)
下午第一個視頻關於渣打銀行, 一些銀行相關的內容所以沒有錄製. 然後下邊 @邵成 的分享, 用 LiveCoding.tv 錄製幻燈片: "視頻前部分", "視頻後部分"(1 個分享)
後面是 @紅燒Lo 分享的 Clojure 宏教程以及另一個是範疇論 "函數式編程交流會下午視頻"(2 個分享).
花椒的音頻還能聽, 視頻很不清楚, 畢竟是播妹子用的, 不是播 PPT 上的字... 清晰視頻等組織者官方消息...
吐槽部分
行家就不用看了, 我只是個做界面的, 對分享理解不深. 在清華感覺沒有去年在網易來得逍遙, 今年教室位置挺多, 學生也多些, 不過感覺質量看上去可能差不多, 畢竟都是很理論化的內容.
- 第一場 Clould Haskell 講 Haskell 模仿 Erlang, 然後遠程調用雲上的進程, 各種抽象等等.
- 第二場 Haskell 類型系統, 從類型的零元幺元和加法乘法一步步往上講解 Haskell 的類型生成.
- 第三場介紹渣打使用的 Haskell, 主要是想說明, 人家大銀行對數據要求高, 對公式複合要求高, 類型安全要求高, 其實是很適合 Haskell 這種設計的語言的, 作為一個 Haskell 不是理論的玩具這樣個事情的重要證明.
- 第四場表達式擴展性問題, 大家知道 OO 和 FP 擴展方法擴展構造器各有難出, 所以介紹了一些更靈活新穎的辦法
- 第五場介紹 Clojure 宏的用法... 我在弄 Sepal.clj 的時候大部分接觸過了, 邊聽邊休息.
- 第六場板書講解範疇論, 最後的部分沒聽懂.
真要說有什麼感想, 我想我應該藉助剩下不多的空閑儘快消化掉上個月 Clojure West 的視頻了. 畢竟 Clojure 和我目前的工作比較接近. Haskell 到底不像是圖形界面這種靈活比可靠更迫切的領域的領域, 研究的好多東西是我這樣的年輕程序員仍然沒有業務接觸的. 其實 ClojureScript 在現在的情況下稍微加強一下跟 nil 跟 hash-map 相關的靜態檢測我覺得就已經很好了, 比如 Maybe Monad, 比如嚴謹一點的 record 之類的.
也許老會被前端圈同學問函數式編程到底能幹什麼? 還是很難說上來, 再者 JavaScript 語境下的函數式編程, 比如 Clojure 和 Haskell 差上一大截. 但對我個人來說, 我只要知道未來幾年各種工程領域都會吸收運用很多 FP 里的知識, 這已經足夠. 何況我大 React 整個生態都在山寨 FP.
當然我很希望前端圈能多看看 FP 的東西, 了解一下 JavaScript 的世界以外, 那些發 PhD 論文的傢伙到底搞出了什麼東西, 他們會把編程往什麼方便推, 最終搞成什麼樣. 你想一輩子安安心心搞 JavaScript, 憑什麼, 人家讀了 PhD 然後寫程序你玩得過人家?
還有我能吐槽一下清華跟我想像的差距很大嗎, 雖然單單幾個研究 Haskell 的人我大精弘確實沒人能比, 但這個啥, 是不是太艱苦奮鬥了, 轉了一圈還看了兩個池塘, 我好懷念小和山那條四季各種天氣各種景色的小溪有沒有. 校園裡情侶也非常多, 我這種杭州山裡讀大學的很不習慣. 大概真的是另一個層次的世界不好理解吧, 就像不理解明明上街都戴口罩的, 北京的街上還是能看到比杭州上海更多更擠的人.
推薦閱讀:
※Haskell 不適用於生產環境嗎?
※函數式編程如何優雅的處理很多 多個函數都要用到的 參數?
※Dependently Typed Programming with Singletons