2025 年的現在,GenAI 興起,長久以來的語言戰爭看起來是要劃上尾聲的樣子。贏家是英文(或其它自然語言),主流的中介產物將是 Python 及 JavaScript。為什麼在這個時間點, Elixir 依然是非常值得學習的程式語言呢?
提升認知層次,從拓展視野開始 #
Dave Thomas 在他的 Pragmatic Programmer 裡曾建議:「每個程式設計師每年都找一個跟你習慣的環境非常不同的東西來學習。」學著用新的視野來看待世界,就很有機會能發現原先難以接觸到的可能性。如果你習慣用 IDE,那麼找一段時間練習用輕量的編輯器(或是反過來)。如果你習慣動態語言,那麼可以找機會玩看看靜態的語言。而在物件導向蔚為主流的世界裡,就找一門函數式語言試試看吧。
有句話是這麼說的:「一旦你學會了 LISP,你可能沒有機會用 LISP 寫程式,然而你只是試著用其它程式的語法來實作出 LISP 概念而已。」這概念適用於各個函數式語言。就我們的經驗來說,學習 Elixir 的確讓我們開始用完全不同的方式在看待寫程式這件事。即便是回頭寫 Python, Ruby 等物件導向為主的語言,甚或是與函數式淵源更深的 JavaScript,都能夠習慣性的想到更棒的解法,寫出更加簡潔優雅的實作。
與生成式 AI 是天作之合 #
最壞的時代,有時候也真的是最好的時代。除掉學習新東西變得非常容易之外,當無數的人又在跟 AI 產生出來,那些加了幻覺調味的意大利麵程式碼博鬥時,函數式語言裡習慣拆分流程與計算的 pipeline 寫法,易於測試的無副作用純函式,以及先天就適合平行式運算的特點,都讓 AI 與函數式語言的組合有如咖啡加上牛奶,或是在小丑牌(Balato)裡拿到邁達斯面具與吸血鬼那樣強大。
Elixir = 對新手友善 #
那麼如果要選一門函數式語言上手時,Elixir 會是非常好的第一步。在 Stackoverflow 2022~2024 的年度調查中 ,Elixir 都獲得最喜歡/最想學的第二名 (輸給 Rust)。而 Phoenix 這個 Elixir 的網頁框架,更是蟬連了三年的冠軍。
究其原因, Elixir 有更加易於理解、類似於 Ruby 的現代語法,完善的開發工具鏈(如依賴套件安裝、文件、測試、文件、自動格式化等)。以及相較於其它函數式語言豐富、且持續維護的函式庫,而這又得力於發明人 José Valim 的包容風格,讓 Elixir 有著持續活躍,且對新手非常友善的社群運作。
Elixir Taiwan 的小聚 #
提到社群運作, Elixir Taiwan 持續定期舉辦小聚。自 2014 起,已累積了近百場的聚會。讓大家可以聚在一起分享與聊天,也能讓有興趣的新手發問參與。現在就到 小聚 頁面看看吧!