iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 1
10
Software Development

Functional Programming in JS系列 第 1

開始用 javaScript 學 Functional Programming 囉之前言

https://ithelp.ithome.com.tw/upload/images/20200901/20106426x5NtQxjHPB.jpg
↑ 一定要知道的 FP 核心之概念 one input, one output

自我介紹一下

完全跟軟體無相關科系畢業,非常非常喜歡前端這個工作 (這行大家都喜歡分享也熱情投入),這四年專精在寫 JS, 覺得寫邏輯比切版有趣太多。

至從夢想到美國矽谷工作後,就非常認真的練功跟刷 LeetCode,感謝去年的鐵人賽 前端工程師用 javaScript 學演算法 ,讓我在短短一兩個月中就能持續鞭策自己吸收基本的演算法知識,也在鐵人賽結束後的三個月找到理想的矽谷工作。但進入擁有世界最頂尖軟體工程師地矽谷後才知道自己有多麼的弱,只能繼續帶著謙卑並願意學習的心慢慢成長。

寫這個主題的動機?

新公司對我來說有非常多挑戰,其中最大的就是 整個產品都是用 Functional Programming,而我很不熟

以前以為會 map、reduce、filter 就代表會 Functional Programming 了!真的是大錯特錯啊。FP 世界古老又博大精深,但認真想研究時卻不得門而入,網路上文章每一篇都艱澀難懂,真的不好入門。但用過 FP 的人卻都說回不去了因為好處真的很多!所以希望用這 30 天能夠以淺顯的圖文說明,以及如何實際應用在工作上幫助大家入這個坑。

infoQ 有整理 2020 的一些前端趨勢,其中在 Standards / Patterns 類別可以看到 Functional Programming 也在清單裡,足以可見 FP 在這幾年越來越受到重視
https://ithelp.ithome.com.tw/upload/images/20200901/20106426cG8hNOpAIV.jpg

目錄

許多主流語言都具備 FP 特性,但這一系列文章只會以 JavaScript 為範例,目錄清單之後會持續更新

為什麼要學 FP

用傳統 OOP 有什麼不好嗎

初探 Functional Programming

FP 難入門其中一部分是很多專有名詞,但他們並沒有想得這麼難,這一系列會介紹 FP 界很 Fashion Vocabulary ,像 Pure Function、Side Effect、Immutable 等等

HOF、Curry、Composition

Functor

開始進入玄幻的領域 Functor、Applicative

Monad


Remote work Life

若還有剩餘文章其實蠻想分享一些被迫 Remote 超過半年的日子

這一系列誰適合看

  • 適合閱讀者
    對 javaScript 這門語言有一定掌握度,正在尋找如何寫能更容易讓他人理解、好測試、易於維護與保持彈性的寫法
  • 不適合閱讀者
    連程式都沒寫過,或是剛學 javaScript 的人
如有錯誤或需要改進的地方,拜託跟我說。
我會以最快速度修改,感謝您。

其實今年很沒自信能完成 30 篇因為實在太爆炸忙了,不過誰不是這樣呢
希望還是能撐完啊 orz

也歡迎追蹤我的部落格,除了技術文也會分享一些在矽谷生活的甘苦


下一篇
為什麼要學 Functional Programming?
系列文
Functional Programming in JS30

尚未有邦友留言

立即登入留言