![]()
“當(dāng)我們發(fā)布 1.0 時,它將是一個真正不妥協(xié)的匠心之作。”
整理 | 蘇宓
出品 | CSDN(ID:CSDNnews)
一門編程語言,歷經(jīng)近十年開發(fā),至今仍沒有發(fā)布 1.0 正式版——按常理來說,這似乎意味著項目進展緩慢,甚至可能已經(jīng)陷入停滯。
但 Zig 恰恰相反。
從 2016 年誕生至今,這門由 Andrew Kelley 發(fā)起的編程語言不僅沒有消失,反而一步步走進主流開發(fā)者視野。終端模擬器 Ghostty、分布式數(shù)據(jù)庫 TigerBeetle、Uber 的跨平臺編譯體系等項目都開始采用 Zig,它還連續(xù)多年躋身開發(fā)者最喜愛的編程語言行列。
為了打造 Zig,Andrew Kelley 甚至在 2018 年辭去技術(shù)工作,全職投入這項事業(yè)。八年時間里,他依靠約 67 萬美元的社區(qū)資助和贊助維持項目運轉(zhuǎn),卻始終拒絕倉促發(fā)布 1.0。
為什么一門已經(jīng)被廣泛采用的語言,寧愿等待十年也不愿宣布“正式完成”?為什么 Zig 選擇離開 GitHub、限制 AI 參與社區(qū)開發(fā)?
近日,Zig 編程語言的發(fā)明者兼終身仁慈獨裁者 Andrew Kelley 接受了工具供應(yīng)商 JetBrains 的 Rust 生態(tài)系統(tǒng)負(fù)責(zé)人 Vitaly Bragilevsky 的采訪,他深度分享了 Zig 十年發(fā)展的幕后故事,以及他對編程語言、開源軟件和 AI 時代開發(fā)者生態(tài)的思考。
![]()
以下為訪談內(nèi)容:
![]()
有 C、C++、Rust、Go 了,為什么還要再造一門編程語言?
Vitaly Bragilevsky:我們已經(jīng)有了 C、C++、Rust、Go 這些語言,為什么你還是決定要再造一個 Zig 呢?
Andrew Kelley:你列出的這組語言恰好就是我在轉(zhuǎn)向開發(fā) Zig 之前,嘗試用來構(gòu)建數(shù)字音頻工作站(DAW)的全部語言。
在轉(zhuǎn)向開發(fā) Zig 之前,我曾深度嘗試過這些語言。在那個過程中,我發(fā)現(xiàn)每種語言都存在一些讓我覺得難以逾越的問題。最終我得出結(jié)論:并不是我的水平有問題,而是編程語言本身有問題。
于是,我產(chǎn)生了創(chuàng)造一種新編程語言的“狂妄之心”,覺得自己可以做得更好,比 C++、Rust、Go、JavaScript 都要好。
Vitaly Bragilevsky:具體遇到了什么問題?
Andrew Kelley:我最早嘗試的是在瀏覽器里用 JavaScript 開發(fā)數(shù)字音頻工作站。但很快我就發(fā)現(xiàn),它的抽象層次太高了,我無法真正掌控底層硬件能力,也做不出那些讓我覺得足夠驚艷的用戶體驗。于是我放棄了 JavaScript,開始尋找原生編程語言。
接著我試用了 Go。最先遇到的問題是,它和 C 語言庫的互操作性并不好。很多基礎(chǔ)工作,比如創(chuàng)建窗口、按鈕等圖形界面組件,做起來都不夠順手。更關(guān)鍵的是,Go 的垃圾回收機制讓我無法接受。音頻處理對實時性要求極高,必須在嚴(yán)格規(guī)定的時間內(nèi)完成計算。一旦超時,就會出現(xiàn)爆音、卡頓或者丟幀。在現(xiàn)場演出和直播軟件這類場景中,這種情況是完全不可接受的。
后來我又嘗試了 Rust,那還是在 Rust 1.0 正式發(fā)布之前。實際體驗并不理想。我很難寫出既符合 Rust 規(guī)則、又讓我滿意的代碼。即便好不容易通過編譯,稍微改動一點內(nèi)容,也可能觸發(fā)一連串新的編譯錯誤,把開發(fā)節(jié)奏徹底打斷。我記得當(dāng)時光是處理字體渲染就折騰了一個月,最后卻發(fā)現(xiàn)自己越來越深地陷進各種問題里,幾乎無法推進項目,于是最終放棄了 Rust。
再后來,我轉(zhuǎn)向了 C++。一開始感覺效率確實提高了不少,但很快新的問題又出現(xiàn)了。哪怕只是一個小小的拼寫錯誤,或者一次不經(jīng)意的疏忽,都可能導(dǎo)致內(nèi)存損壞。而排查這類 Bug 往往需要花上幾天甚至幾周時間。這種開發(fā)體驗讓我越來越難以忍受。項目本身已經(jīng)足夠復(fù)雜,我不想再把大量時間浪費在這些低級錯誤上。
我甚至還嘗試過采用更偏向 C 風(fēng)格的 C++ 寫法——用 C++ 編譯器編譯代碼,但使用 C 鏈接器進行鏈接。這樣做雖然能規(guī)避一些問題,但也意味著我只能使用模板等少數(shù) C++ 特性。
然而根本問題始終沒有解決:在 C++ 里,你實在太容易“搬起石頭砸自己的腳”。
就在那個時候,我突然意識到,也許我可以做出一種更好的語言——比 C 更安全,比 Rust 更容易上手,比 Go 更適合系統(tǒng)編程,也比 JavaScript 和 D 更符合我的需求。
這大概就是 Zig 最初誕生時的那個想法,或者說,用我的話來講,是一種“妄念”。
開發(fā)者“神裝”補給站|CSDN 讀者專屬福利
立即領(lǐng)取 1 00 小時 GPU 算力
瑞幸咖啡/肯德基早餐/麥當(dāng)勞套餐/下午茶等能量套餐任選其一
入群還可每月定期抽取旗艦顯卡、AI PC 等極客神裝
領(lǐng)取地址:https://s.csdn.cn/4nPsOp
![]()
Zig 有什么用?
Vitaly Bragilevsky:那么 Zig 現(xiàn)在的定位是什么?它解決了什么問題?
Andrew Kelley:當(dāng)你想完全掌控計算機時,就會用到 Zig。你不希望浪費任何一點性能,追求極致的運行速度和內(nèi)存利用率。最重要的是,你想為用戶打造最出色的體驗。
在啟動 Zig 項目之前,我為自己設(shè)定了一個哲學(xué):絕不在用戶體驗上妥協(xié)。
我不會因為使用了 Go 或 JavaScript 就說“由于語言限制,軟件只能做到這種程度”。如果需要,我會改變整個工具鏈,甚至自己造一個,從而讓計算機發(fā)揮出它本應(yīng)具備的能力,為用戶提供最好的體驗。
Vitaly Bragilevsky:目前 Zig 有哪些實際應(yīng)用?
Andrew Kelley:首先想到的是 Ghosty,這是一個由 Mitchell Hashimoto 開發(fā)的現(xiàn)代化終端模擬器,完全由 Zig 編寫,代碼質(zhì)量非常高。
還有 TigerBeetle,這是一個分布式的金融事務(wù)數(shù)據(jù)庫。他們通過批處理操作實現(xiàn)了在這個領(lǐng)域罕見的高效率。相比其他使用 PostgreSQL 或通用關(guān)系型數(shù)據(jù)庫的方案,TigerBeetle 快了上千倍。它非常注重預(yù)分配資源,一旦運行起來就絕不會發(fā)生動態(tài)內(nèi)存分配失敗,這保證了其響應(yīng)延遲非常穩(wěn)定且可預(yù)測。
此外還有 Bun,這是一個高性能的 JavaScript 運行時。雖然它使用了 JavaScript Core 和大量的 C++ 庫,但所有的膠水代碼都是由 Zig 編寫的。這個項目最近剛被 Anthropic 收購。
Vitaly Bragilevsky:我還聽說 Uber 也在使用 Zig?
Andrew Kelley:是的,Uber 正在使用 Zig 的工具鏈。他們使用 zig cc 來為 ARM64 架構(gòu)交叉編譯他們的 Go 代碼。
Go 語言雖然自帶交叉編譯,但一旦代碼中涉及到 C 語言部分,Go 就無能為力了。在這種情況下,你可以直接把 Zig 當(dāng)作 C 編譯器來配合 Go 使用,從而實現(xiàn)無縫的交叉編譯。
Vitaly Bragilevsky:順便問一下,為什么叫 Zig?
Andrew Kelley:當(dāng)時我想要一個簡短的單詞,隨后就在 Google 里面搜索“Zig 編程語言”時是沒有任何結(jié)果的。我寫了一個簡單的 Python 腳本來打印一些隨機單詞,當(dāng) Zig 出現(xiàn)時,它一下子吸引了我。
![]()
發(fā)布十年,一直缺席的 Zig 1.0 版本
Vitaly Bragilevsky:Zig 已經(jīng)位列開發(fā)者最喜愛的語言前五名了,但為什么誕生 10 年了還沒有發(fā)布 1.0 版本?阻礙是什么?
Andrew Kelley:1.0 對不同項目意味著不同的標(biāo)準(zhǔn)。
Go 在發(fā)布 1.0 后很長時間沒有觸動語言核心。Rust 1.0 發(fā)布較早,但他們有“版本(Editions)”機制。對于 Zig 來說,1.0 意味著一個向后兼容的承諾,代表語言已經(jīng)穩(wěn)定,未來不會破壞現(xiàn)有代碼。
Zig 軟件基金會(ZSF)不是一家初創(chuàng)公司,我們沒有投資壓力,沒有人在背后催促我們,我們也沒有退出計劃。我們是一家 501(c)(3) 非營利組織。我們不需要追求“快魚吃慢魚”或者急于變現(xiàn),我們的目標(biāo)是打磨一個偉大的項目并長期維護。我們有時間去穩(wěn)步改進,而不必被迫接受那些為了趕進度而產(chǎn)生的錯誤決策。當(dāng)我們發(fā)布 1.0 時,它將是一個真正不妥協(xié)的匠心之作。
Vitaly Bragilevsky:軟件開發(fā)中有一個概念叫“更糟就是更好”(Worse is Better),即追求快速上線再修復(fù),PHP 和 Go 都是這么成功的,而你卻反其道而行之,為什么?
Andrew Kelley:我對“Worse is Better”這個說法有點反感,因為在語言邏輯上這個觀點根本說不通。
我認(rèn)為更準(zhǔn)確的說法是“以簡勝繁(Doing more with less)”。我們依然想提供強大的功能,但我們追求的是復(fù)雜性與效用之間的平衡點。例如在 Zig 的工具鏈中,通過一個簡單的參數(shù)就能讓編譯器針對完全不同的操作系統(tǒng)和架構(gòu)進行編譯,這種高度的簡潔帶來了巨大的效用。
Vitaly Bragilevsky:你認(rèn)為缺少 1.0 版本會影響公司的采用嗎?
Andrew Kelley:我知道 1.0 的發(fā)布肯定會帶來用戶和企業(yè)采用率的激增。但我看重的是長遠(yuǎn)未來,我希望 Zig 成為未來五十年的通用語言。我們是一家精簡、高效的小型組織,我們不急于求成。
![]()
Zig 編程語言的生存之道
Vitaly Bragilevsky:聊聊基金會,2024 年你們的收入是 67 萬美元,主要的資助者是誰?
Andrew Kelley:如果你看我們的財務(wù)報告,會發(fā)現(xiàn)我們的收入來源非常多元。很大一部分贊助來自個人捐贈者,此外還有各種各樣的公司。我對此非常自豪,因為沒有任何一個單一實體可以對我們說:“你必須按我說的做,否則我就撤資。”如果是那樣,我們會直接拒絕并告訴他們,沒有這筆錢我們依然能生存。這種健康的邊界感讓我們保持獨立。
Vitaly Bragilevsky:贊助商能影響 Zig 的開發(fā)嗎?
Andrew Kelley:他們對開發(fā)的影響力和普通人是一樣的。他們可以參與 Bug 追蹤,提交 Pull Request 或者在開發(fā)頻道交流。大家在公平的基礎(chǔ)上通過技術(shù)實力對話,沒有所謂的“高優(yōu)先級秘密通道”。
Vitaly Bragilevsky:你的年薪是 15.4 萬美元,這僅相當(dāng)于一個高級工程師的水平。作為整個語言生態(tài)的奠基人,你覺得這個薪資合理嗎?
Andrew Kelley:這是由 Zig 軟件基金會的董事會在第一次會議上決定的。當(dāng)時參考了紐約市高級軟件工程師的中位薪資水平。
坦白說,我感覺自己已經(jīng)是中產(chǎn)階級上層了,我能買得起房,付得起生活費,這讓我已經(jīng)很知足。對我來說,擁有一個精簡高效、不被資本裹挾的非營利組織所帶來的“自主權(quán)”,比更多的金錢要珍貴得多。它讓我們更有韌性,甚至在去年整個科技行業(yè)大裁員的背景下,我們還能給外包開發(fā)者漲薪。
這種獨立性讓我們有底氣說“1.0 還沒準(zhǔn)備好,再等等”。
Vitaly Bragilevsky:如果有大公司愿意出 1 億美元買下 Zig 呢?
Andrew Kelley:1 億美元確實很多,畢竟我們每年的總收入還不到 100 萬美元,所以我當(dāng)然會拿。但我不會接受任何導(dǎo)致團隊盲目擴張的條件,我不想管理 100 人。目前我們只有一個員工,就是我,再加上 5 名全職外包。去年我們收入的 91% 都直接發(fā)給了這些開發(fā)者。我目前的管理上限大概是 10 個人,再多我就沒動力也沒精力了。如果真的收到了這筆錢,我會把它存進銀行,確保項目在未來 100 年都不需要再融資,但我依然會保持小規(guī)模開發(fā)。
Vitaly Bragilevsky:你在 2022 年離開了 Reddit 和 Twitter,為什么?
Andrew Kelley:我覺得在這些網(wǎng)站上發(fā)帖正變得像以前在 Slashdot 或 Digg 上一樣毫無意義。我們是軟件工程師,希望盡可能減少所謂的“市場營銷”。社交媒體上充斥著杠精和受算法控制的內(nèi)容。相比之下,我們現(xiàn)在更愿意把精力投入到 Zig Day 這種線下活動和社區(qū)建設(shè)上,這比在社交媒體上浪費時間更有價值。
Vitaly Bragilevsky:2025 年末,你把 Zig 的主倉庫從 GitHub 遷移到了 Codeberg,原因是什么?
Andrew Kelley:GitHub 對我們來說已經(jīng)不好用了,我們的持續(xù)集成(CI)運行經(jīng)常報錯或停止工作。Codeberg 是一個總部位于德國的非營利、社區(qū)驅(qū)動的平臺。作為一個程序員,我發(fā)現(xiàn)使用非營利組織的服務(wù)比使用大公司的服務(wù)要穩(wěn)定得多。大公司總是在追求下一個季度的利潤,而非營利組織的目標(biāo)就是維持服務(wù)。這種穩(wěn)定性正是我想要的。
Vitaly Bragilevsky:即使因此丟失了 GitHub 上的贊助商也無所謂嗎?
Andrew Kelley:這是一個艱難的抉擇,因為涉及資金風(fēng)險。但我們的首要任務(wù)是寫軟件,如果 GitHub 的 CI 壞了,我們就必須找個能用的地方。事實證明,我們的支持者非常寬容且理解。
Vitaly Bragilevsky:你們也在脫離 LLVM?
Andrew Kelley:是的。我常拿 arcade 游戲《Killer Queen》舉例,開發(fā)者用了 Unity 引擎,但由于引擎底層哪怕只有微小的變化,都會徹底改變職業(yè)選手的操作手感,甚至修個 Bug 都會引起社區(qū)抗議。核心產(chǎn)品如果依賴外部工具,是非常危險的。對 Zig 來說,LLVM 曾經(jīng)像自行車的輔助輪。現(xiàn)在我寫代碼已經(jīng)十年了,對編譯器開發(fā)的了解遠(yuǎn)超當(dāng)年,我可以把輔助輪拆掉了。
通過擁有自己的 x86 后端,我們實現(xiàn)了增量編譯,即使是百萬行級別的代碼庫,重新編譯也只需要 50 毫秒或更短。這是 LLVM 永遠(yuǎn)無法做到的。
![]()
Zig 嚴(yán)格禁止 AI 滲透
Vitaly Bragilevsky:Zig 為什么有著極其嚴(yán)格的“反 AI 政策”?
Andrew Kelley:首先,AI 生成的代碼貢獻基本上都是垃圾。它們不僅沒有價值,甚至有負(fù)價值,因為它們耗費了我們核心團隊極其有限的 Code Review 時間。我們現(xiàn)在積壓了超過 200 個 PR 等待審核,如果有人發(fā)一個他們自己都不知道在寫什么的 AI 代碼,我們在評審幾次后發(fā)現(xiàn)真相,那完全是在浪費生命。
更重要的一點是,開源貢獻的核心意義在于“導(dǎo)師制”(Mentorship)。我們希望通過 Code Review 讓貢獻者成長,最終成為核心團隊成員或更優(yōu)秀的系統(tǒng)程序員。而發(fā)送 AI 生成代碼的人并不學(xué)習(xí)任何東西,這完全背離了我們作為教育項目的初衷。我們寧愿要一個笨拙但愿意學(xué)習(xí)的人,也不要一個只會投喂 AI 的搬運工。
Vitaly Bragilevsky:但 Zig 代碼庫使用的是 MIT 協(xié)議,這意味著任何人都可以用你的代碼去訓(xùn)練 AI,這和你禁止 AI 貢獻是否矛盾?
Andrew Kelley:這不矛盾。我堅信 MIT 許可證那種“不附加任何條件”的精神。如果有人想用 Zig 訓(xùn)練 AI,請便。這反而說明 Zig 是有價值的。雖然我不喜歡這些大公司的某些做法,但這不影響我開源。我只是不允許這種低質(zhì)量、不負(fù)責(zé)任的產(chǎn)出反過來污染我們的項目。
Vitaly Bragilevsky:有一種說法是 LLM 很難理解 Zig,因為它的語法比較獨特?
Andrew Kelley:我沒怎么試過,但我聽說效果還可以。Mitchell Hashimoto 就在 Ghosty 項目中大量使用 AI 輔助。但我的標(biāo)準(zhǔn)是不妥協(xié)的完美,而不是“它好像能動了”。
Vitaly Bragilevsky:你在 Mastodon 上說“Vibe Coding”很無聊,像看餐館評論而不是看大廚做菜。你對“生成式 AI 編程”怎么看?
Andrew Kelley:有些博客吹噓用 AI 幾分鐘寫個 App,那真的很沒啟發(fā)性。我對軟件的追求是“極致的完美”,而不是“居然沒出 Bug”這種低水準(zhǔn)的驚喜。我希望看到的是一個人為了解決一個難題,去學(xué)習(xí)、去掙扎、去突破,那種人與計算機產(chǎn)生的共鳴是 AI 給不了的。
Vitaly Bragilevsky:你對編程的未來感到悲觀嗎?
Andrew Kelley:完全不會。人類永遠(yuǎn)不會停止編寫代碼,因為編程本身就很有趣。我最喜歡的 App 往往都是別人在業(yè)余時間純粹為了愛好而開發(fā)的。商業(yè)公司的軟件總是在試圖賣給你東西,或者通過算法控制你,而愛好者開發(fā)的軟件會尊重你,讓你做計算機的主人。這種關(guān)系永遠(yuǎn)不會消失。
Vitaly Bragilevsky:你最欽佩的三個軟件項目是什么?
Andrew Kelley:第一是 Linux,很難想象沒有它的世界會多么糟糕。第二是 Blender,它作為一個開源項目,能和那些財大氣粗的商業(yè)軟件同臺競技并勝出,簡直太偉大了。第三是 VLC,它的組織架構(gòu)和長期穩(wěn)定性非常值得學(xué)習(xí),我有幸在大學(xué)時期還去巴黎參加過他們的活動。
Vitaly Bragilevsky:Zig 決定脫離 LLVM 自研后端,這聽起來很大膽。
Andrew Kelley:LLVM 就像自行車的輔助輪。我已經(jīng)研究編譯器十年了,現(xiàn)在是時候摘掉它了。擁有自己的后端讓我們實現(xiàn)了“增量編譯”(Incremental Compilation),即使是百萬行級別的代碼庫,修改后的重新編譯也能縮短到 50 毫秒以內(nèi)。這是 LLVM 永遠(yuǎn)無法做到的。
![]()
C 語言會被取代嗎?
Vitaly Bragilevsky:Zig 常被視為 C 的替代者。你覺得 C 真的能被取代嗎?
Andrew Kelley:想要取代 C,你必須在 C 最擅長的領(lǐng)域擊敗它。Zig 沒有放棄 C 所提供的任何底層能力,同時改進了它的弱點。在 Zig 里,你可以完成 C 能做的所有事情——從系統(tǒng)內(nèi)核、嵌入式到 WebAssembly,而且 Zig 做得更好。它減少了“搬起石頭砸腳”的機會,代碼更易于調(diào)試。例如在 C 語言中,如果你遇到段錯誤,程序通常會瞬間退出,什么都不告訴你。但在 Zig 中,你會得到一個完整的調(diào)用棧追蹤,告訴你錯誤發(fā)生的具體行數(shù)。
Vitaly Bragilevsky:那 Zig 和 Rust 的核心區(qū)別是什么?
Andrew Kelley:最核心的區(qū)別是類型系統(tǒng)。Zig 比 Rust 簡單得多,因為它沒有那種描述“什么類型可以傳給什么函數(shù)”的元語言。
此外是內(nèi)存管理。Rust 傾向于 RAII 和所有權(quán)模型,這在邏輯上更接近面向?qū)ο螅欢?Zig 選擇將分配器(Allocator)顯式化。在 Zig 中,你會思考“我希望 CPU 做什么”,然后寫出對應(yīng)的代碼,這是一種更底層的思維方式。
Vitaly Bragilevsky:你認(rèn)為 Zig 的“殺手锏”是什么?
Andrew Kelley:是工具鏈。Zig 沒有任何系統(tǒng)依賴,你在任何電腦上運行 zig build,它就一定能工作。我們把編譯器、鏈接器和構(gòu)建系統(tǒng)統(tǒng)一在了一個工具里。
Vitaly Bragilevsky:有人抱怨 Zig 對“未使用的變量”報錯太嚴(yán)格了,為什么不把它做成警告?
Andrew Kelley:這能捕捉大量 Bug。雖然初學(xué)者會覺得煩,但一旦你開始重構(gòu)大規(guī)模代碼,你就會感激這個設(shè)計。而且現(xiàn)在的編輯器(如 ZLS)都能自動幫你處理這些標(biāo)記,所以這不再是負(fù)擔(dān),而是生產(chǎn)力。
![]()
對開發(fā)者的建議以及未來暢想
Vitaly Bragilevsky:初學(xué)者應(yīng)該如何學(xué)習(xí) Zig?
Andrew Kelley:強烈推薦 Ziglings。這是一個非常棒的項目,你通過修復(fù)一個個故意出錯的代碼片段來學(xué)習(xí)語言特性。如果你想了解計算機底層是如何工作的,學(xué) Zig 會讓你受益匪淺,因為你在學(xué)習(xí)計算機的規(guī)則,而不僅僅是某種語言的規(guī)則。
Vitaly Bragilevsky:你是 Zig 的 BDFL(終身仁慈獨裁者),這種模式有什么優(yōu)劣?
Andrew Kelley:層級控制比委員會制度更簡單、更高效。委員會傾向于妥協(xié),而妥協(xié)往往會導(dǎo)致平庸的產(chǎn)品。獨裁者模式能保持愿景的一致性。當(dāng)然,我也在思考長期的可持續(xù)性,畢竟我不能永遠(yuǎn)干下去。
Vitaly Bragilevsky:你的個人開發(fā)配置是怎樣的?
Andrew Kelley:我的配置非常簡單且傳統(tǒng):終端加 Vim。因為我經(jīng)常對語言進行破壞性的重大改動,所以我需要一個足夠穩(wěn)健、不依賴復(fù)雜語言服務(wù)器的工具。Vim 非常可靠,即使我改了語法,我依然能編輯代碼。當(dāng)然,我要感謝 ZLS(Zig 語言服務(wù)器)團隊,他們?yōu)樯鐓^(qū)提供了極佳的 IDE 支持。
Vitaly Bragilevsky:作為一名開發(fā)者或領(lǐng)導(dǎo)者,你經(jīng)歷過職業(yè)倦怠嗎?
Andrew Kelley:我認(rèn)為職業(yè)倦怠發(fā)生在當(dāng)你付出了巨大努力卻看不到回報的時候。我很幸運,我熱愛我的工作。每天醒來想到能改進 Zig,我都感到興奮。即使有時候某些底層改動需要耗費半年時間去重寫標(biāo)準(zhǔn)庫,過程非常枯燥且辛苦,但當(dāng)我最終發(fā)布版本,看到用戶滿意的反饋時,那種成就感會驅(qū)散所有的疲憊。
Vitaly Bragilevsky:除了編程,你還有什么愛好?
Andrew Kelley:我以前是個“碼農(nóng)宅男”,甚至在 OkCupid 工作期間還要利用周末加班搞 Zig。現(xiàn)在 Zig 成了全職工作,我終于有了業(yè)余時間。我跑了一場馬拉松,在 21 英里處被一個 70 歲的大爺“超車”,我當(dāng)時想:“天哪,他是怎么做到的?”這給了我很大的動力,以后我想嘗試全程跑完。
另外,我正在學(xué)習(xí)日語,因為我非常喜歡日本動畫,也很享受這種學(xué)習(xí)新語言挑戰(zhàn)自我的過程。我每天會花一個小時學(xué)習(xí),我的日語老師 Yuko 對我?guī)椭艽蟆?/p>
Vitaly Bragilevsky:你認(rèn)為 Zig 最終的成功是什么樣子的?
Andrew Kelley:我認(rèn)為有兩個層面的答案。從某種意義上說,我們已經(jīng)成功了。我們實現(xiàn)了財務(wù)獨立,擁有開心的用戶群體,并保持著穩(wěn)定的發(fā)布節(jié)奏,這種狀態(tài)是可持續(xù)的。從另一個層面來說,我希望看到 Zig 的采用率能達(dá)到 Go 或 Rust 的水平。我希望計算機是為人類服務(wù)的,而 Zig 就是我送給世界的禮物,希望能讓人們在與計算機相處時感受到這種尊重和掌控感。當(dāng)我們最終發(fā)布 1.0 時,那將是一場不留遺憾的精彩演出。
Vitaly Bragilevsky:最后,如果回到 2015 年,你還會開始 Zig 這個項目嗎?
Andrew Kelley:絕對會。辭掉工作全職開發(fā) Zig 的那一天,是我人生中最棒的一天。我終于可以做自己的老板,這種成就感和獨立性讓我感到無比幸福。我不僅是在寫代碼,我是在為社會做貢獻。我現(xiàn)在非常快樂。
來源:https://www.youtube.com/watch?v=iqddnwKF8HQ
開發(fā)者“神裝”補給站|CSDN 讀者專屬福利
不論你是想跑通最新的本地 LLM,還是想實測一套 Agent 自動化工作流,算力與補給,我們都為你備齊了!
立領(lǐng)三重進階大禮:
注冊即領(lǐng) 100 小時云端算力券
瑞幸咖啡/肯德基早餐/麥當(dāng)勞套餐/下午茶任選其一
掃碼即刻領(lǐng)取,今日額度有限,手慢無!
領(lǐng)取地址:https://s.csdn.cn/4nPsOp
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.