在 AI 時代,開發者需要思考新的開發範式:『AI 幫助我們快速生成 code ,但除錯與驗證仍需要開發者積極介入。』本系列文將從 Neovim + Fennel 切入,帶著讀者來進入「互動式開發」與「函數式編程」的新世界。
內容包含:
* Fennel 語言:語法、常用函式庫。
* Lisp 思維:S-expression 編輯、互動式開發 。
* 函數式編程:純函數、map/filter/reduce 等實務技巧。
* Neovim Plugin 開發:從簡單腳本到完整的 plugin。
讓我們在 AI 時代,一起探索更聰明、更優雅的程式開發之道。
Conjure Piglet Client 是我第二次開發 Neovim 插件的作品,略有一些難度。 問題概述 "Laurence, 你對 Pigl...
前一篇在開發 Conjure Piglet Client 時,提到了第三方函式庫 WebSocket 。我一開始還一度天真地以為,我只要找一些 Neovim p...
讀者剛聽到 CBOR時,也許覺得很陌生,難以理解。這邊快速解釋一下,讀者可以想象成,它就是一個類似 json encode 的函式庫,只是它編碼的方式是用二進位...
在我完成 auto-conjure 和 Conjure Piglet Client 這兩個專案的期間,開發過程中,最讓我痛苦的事,莫過於缺少了跳轉定義這個功能。...
考慮以下的需求:你有一個中文寫的純文字檔,裡頭是一篇中文的文章。基於某種理由,需要將文章裡的『如果』取代英文的 if 。很多人可能覺得,這還不簡單,字串取代就可...
在 day01 中,我們討論了 AI 時代的軟體開發,並提到了 Lisp 和 FP 如何透過減少測試與除錯時間,來提升軟體開發效率。它們之所以重要,是因為 AI...
軟體開發是充滿不確定性的工作,而不確定性通常來自於兩大方面: 使用者需求的釐清 零組件的應用挑戰 上述的不確定性在新開發專案時,往往特別明顯。 新開發專案有...
軟體開發的複雜性應該是軟體開發的眾多特性裡,最不需要特別証明的特性。隨便一個 5~10 行的函數,如果沒有寫好的話,都有可能讓工程師覺得難以理解。 而工程師有哪...
時間可以說是軟體的大敵。 只要過了一小段時間,就會有無數的外力壓迫軟體系統進行修改。使用者的需求可能會改變、某個應用的套件可能會發現安全性風險,必須替換、某個依...
在許多的組織,溝通與協作都是生產力瓶頸之一,而在軟體開發的領域,溝通與協作的特殊挑戰在於「內隱知識」。 曾經有一回,我與一位工程師 A 一同 pair prog...