
Brunost 登場:以新挪威語編寫的程式語言
AI 生成摘要
我開發了 Brunost,這是一種用 Zig 編寫的函數式程式語言,它強制要求所有程式碼元素都必須使用新挪威語,是一個將挪威文化與軟體開發結合的幽默專案。
背景
挪威開發者 Lindbakk 推出了一款名為 Brunost 的程式語言,其命名源自挪威最具代表性的棕起司。這款語言最大的特色在於強制使用「新挪威語」(Nynorsk)撰寫,從關鍵字到變數名稱都必須符合該語言的拼寫與語法規範,否則直譯器將會報錯。
社群觀點
在 Hacker News 的討論中,這項專案引發了關於語言學、在地化編程以及挪威文化認同的熱烈辯論。許多北歐開發者對此感到親切且有趣,瑞典開發者表示雖然最初將其視為一種藝術創作或玩笑,但實際閱讀程式碼後,驚訝於其語法在北歐語系中的可讀性與舒適感。然而,針對「新挪威語」的精確性,社群展開了嚴謹的校對。有評論指出作者在關鍵字的使用上混雜了「書面挪威語」(Bokmål)或非標準拼寫,例如原先使用的變數宣告詞在語法上並不精確。作者對此回應,由於自己在學校的新挪威語成績並不理想,這確實是個挑戰,並在後續更新中將變數狀態改為更直觀的「開啟」(open)與「鎖定」(låst)。
更有趣的討論集中在如何將複雜的語言語法融入程式邏輯。有留言建議應進一步利用挪威語的三種冠詞來區分資料型別,例如用中性冠詞表示可變數、陽性冠詞表示常數、陰性冠詞則專指集合型別。甚至有芬蘭開發者受到啟發,提議開發一種強制執行芬蘭語複雜格變化的語言,認為這能為開發者提供極高的「工作保障」。
此外,討論也觸及了程式語言在地化的歷史與實務。部分資深開發者回憶起早期 Word Basic 或 Excel 會根據作業系統語系自動翻譯關鍵字的往事,這在當時造成了跨國協作的巨大災難,因為不同語系的關鍵字無法直接互通。儘管如此,仍有觀點認為在特定領域(如挪威社會福利署 NAV 的內部系統)使用母語命名變數與函數,確實有助於減少業務邏輯上的誤解。
最後,關於新挪威語的地位也引發了社會階級的辯論。有留言提到書面挪威語在歷史上曾被視為精英階層的象徵,而新挪威語的推廣則帶有強烈的文化抗爭色彩。雖然大多數開發者仍偏好使用英文作為全球通用的程式語言,但 Brunost 成功地將嚴肅的語言政策議題轉化為一場充滿技術趣味的實驗。
延伸閱讀
在討論串中,參與者提到了幾項相關資源:
- Ski Queen:Brunost 起司在美國市場的商品名稱,常出現在 Whole Foods 等超市。
- Lingua::Romana::Perligata:一個將 Perl 語法拉丁語化的趣味專案。
- navikt GitHub:挪威社會福利署的開源專案庫,內含大量使用挪威語命名的實務程式碼。
相關文章
其他收藏 · 0
收藏夾