只写语言

本页使用了标题或全文手工转换
维基百科,自由的百科全书

计算机幽默英语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).