在 Twitter 上流傳著一個迷因,聲稱「程式設計已經被解決了」。我不確定這個說法在多大程度上屬實,但有一件事相當清楚:熟悉一種語言的過程本身已不再重要,而過去對人類而言是種阻礙的某些摩擦力,對代理(agents)來說也不再是問題。
結果就是,LLM 讓語言選擇的影響力遠不如以往。如果你不喜歡目前的語言選擇,似乎可以將其重寫成另一種語言,並讓它選擇一種你身為程式設計師完全不熟悉的語言。
這反過來意味著,人們可以,而且確實正在更多地基於語言的行銷宣傳來做選擇。身為一個長期的 Rust 程式設計師,我發現看到現在有人發布 Rust 程式碼,而他們以前可能不會選擇它,這相當令人著迷。我認為至少有一部分原因歸功於最近的兩種氛圍轉變:關於想要快速軟體的討論越來越多,以及 LLM 在優化程式碼且不影響行為方面表現出色。
像 Mitchell Hashimoto、Charlie Marsh、Jarred Sumner、Daniel Lemire 等人,以及其他許多人,一直以來都對快速且高效能的軟體抱持著某種程度的執著,而且他們碰巧都對代理編寫程式碼持開放態度。也許是因此,或者無關聯地,其他人現在也加入了。這是因為有了像 autoresearch 這樣的工具,你甚至不必知道所有技巧:你只需要讓代理去處理它——儘管知識的掌握會大有幫助!
環顧四周,有許多專案都希望做到快速且小型,它們越來越傾向於選擇「艱深的語言」。而且不僅僅是 Rust 受益。即使是 Zig——儘管其創始人和核心社群的一部分人對整個 AI 議題持相當負面的態度——也是如此。例如,Cloudflare 的新 Artifacts 服務使用純 Zig 的 Git-protocol 引擎,編譯成大約 100 KB 的 WebAssembly 模組,而 Vercel 發布了 fx,一個聲稱小型且快速的 Zig 編碼代理。從我所見,所有這些專案在很大程度上都得到了 LLM 的協助。
但這不僅僅是人們選擇較不常見的語言,而是他們也越來越多地與「更艱深」的技術合作。突然之間,我看到人們使用 DWARF 檔案、eBPF、客製化網路驅動程式、客製化加密技術和非常舊的計算硬體,做了一些真正令人印象深刻的事情。其中許多事情以前對許多開發者來說是遙不可及的。在某些情況下(例如加密),你甚至會被勸退,因為這些事情被內部人士故意設下了門檻。
所以,也許這個世界會變得更隨便一些,但它也可能會有更多開發者加入,他們希望事物能做到快速且小型。