唯寫語言

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

電腦幽默英語computer humor中,唯寫語言(英語:write-only language)是一個貶義詞,指的是一種程式語言,據稱它的語法或語意足夠密集和奇怪,以至於任何大規模的例行程式都很難被其他程式設計師理解,因此無法安全地編輯。[1]類似地,唯寫代碼是一種非常神秘、複雜或結構不良的原始碼,除了作者之外,任何人都無法可靠地修改或理解它。[1]唯寫代碼也稱為line noise,這表明該代碼看起來像通訊線路中訊號噪聲中的偽字元。在這樣的語言中,閱讀、理解和修改現有的原始碼比從頭開始重寫更困難。

唯讀語言這個術語使用得更少,它是指具有很多邊界條件的系統,只能通過不斷的實驗而不是根據第一原理來編寫代碼。其他程式設計師完全可以讀懂這樣的代碼,但想把同樣的代碼放到別的場景執行幾乎註定會失敗。

例子[編輯]

被戲稱為唯寫語言的程式語言有APL動態除錯技術英語Dynamic debugging technique(DDT)、Perl[2]Forth文字編輯和校正器英語Text Editor and Corrector(TECO)[3]MathematicaIGOR Pro和各種語言中使用的正則表達式語法。這些語言的共同屬性包括大量的運算子集和鼓勵或至少允許編寫非常密集的代碼的語法。有些語法與其他語言非常不同,有些使用不同的字元集。

下面的代碼就是用APL2編寫的康威生命遊戲[4]

⍎'⎕',∊N⍴⊂S←'←⎕←(3=T)∨M∧2=T←⊃+/(V⌽¨⊂M),(V⊖¨⊂M),(V,⌽V)⌽¨(V,V←1 ¯1)⊖¨⊂M'

參見[編輯]

參考文獻[編輯]

  1. ^ 1.0 1.1 write-only language. Jargon File. [2015-03-28]. (原始內容存檔於2019-09-10). 
  2. ^ Write Only Language. [2015-03-28]. (原始內容存檔於2015-04-02). 
  3. ^ Finseth, Craig A. The Craft of Text Editing. Lulu. 2006 [2019-12-18]. ISBN 978-1-4116-8297-9. (原始內容存檔於2020-12-28). 
  4. ^ Conway's Game of Life in one line of APL. Dr.Dobbs. February 2006 [2015-03-28]. (原始內容存檔於2015-03-24).