INTERCAL编程:请勿使用此语言

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


因此,您已经过去了JavaScript教程,并附加了错误的PHP代码。您已经深入研究了Ruby,但是发现您真的很喜欢Python。您并不是很喜欢Python来构建应用程序,但是您真的很喜欢脚本.

从脚本编写开始,您开始探索Linux,这使所有人都对自由和开源软件产生了兴趣,因此您开始阅读有关Richard Stallman和GNU项目的信息。.

在不知不觉中,您正在与IRC聊天,嘲笑每个XKCD中的所有笑话,并且您已经阅读了行话文件的每一页。两次。怎么办?

您想提高自己的编程技能和黑客街头信誉。您已经考虑过学习C,但这似乎太有用了.

您希望阅读《计算机编程的艺术》,但是您决定等到最终版本发布.

那么下一步是什么? Geek Scout腰带上的下一个优点徽章是什么?

INTERCAL!

您是否曾经想学习一种完全没有用的计算机语言?并非像90年代的JavaScript那样无用,而是因为它太简单或太无用,因为它太轻便而没有用.

小时候,您学会了说克林贡语还是精灵语?您是否想带着所有的寂寞和书呆子焦虑来重复这种经历,但是要减少乐趣?

INTERCAL!

什么是INTERCAL?

有人说INTERCAL是一种语言。其他人则说INTERCAL是个玩笑。也许INTERCAL只是一个谣言,一个骗局,一个城市传奇。亚瑟王传奇,也许?

所有这些。这些都不是。有人知道吗?好吧,实际上很多人都知道。一切都有据可查。但是文档最终可能是谎言.

INTERCAL!

我们对INTERCAL有什么了解?

首先,我们知道INTERCAL甚至不是该语言的真实名称。该语言的真实名称是“没有可发音的缩写的编译器语言”。当然,INTERCAL是一个明显的缩写。这意味着它不是真正的缩写.

我们还知道INTERCAL是1972年在普林斯顿发明的。两位发明者Don Woods和James M Lyon最初是想模仿它。它设计用于打孔卡,这是一种起源于布织机的奇异而过时的技术。.

INTERCAL设计

INTERCAL的设计不同于所有其他现有的计算机编程语言.

使一种计算机编程语言与所有其他计算机编程语言不同的最有效方法是创建一种实际上易于使用,易于阅读,完成您想要完成的事情而没有完成这些事情的语言你不希望它完成.

但是,INTERCAL的设计师却走了另一条路.

INTERCAL是有意的。几乎不可能读写。完成最琐碎的任务非常耗时且容易引起头痛.

语法没有意义。词汇没有意义。怪异的编译器怪癖几乎可以肯定,用INTERCAL编写的程序在首次运行时将不会表现出预期的效果.

换句话说,实际上,INTERCAL与所有其他计算机编程语言一样—至少在那时是这样。那或多或少是关键.

一点历史

INTERCAL的发明者实现了它,笑了一下,很快就忘记了它.

但是,语言手册仍然存在。文档本身比语言有趣。这是有道理的,因为文档是用英语编写的,并且该语言是完全无法理解的.

语言手册的副本在极客之间传递,并且沿途抚摸了无数胡乱的胡须.

最终,该语言在C-INTERCAL实施中找到了新的生命,至今仍然存在.

还有第二种实现,称为CLC-INTERCAL。这意味着至少有两个不同的计算机程序员(可能更多,而且花了更多的钱)在有限的生命周期中花费了不小的百分比来阅读,理解和实现针对毫无意义且无法实现的语言的文档实际上做了很多.

甚至比这更令人惊讶的是,要使任何一个这样的东西成为正反面都需要足够的亮度和数学智能。.

语言特征

如前所述,INTERCAL语言本身几乎是难以理解的。 INTERCAL中实际上有用的任何东西几乎肯定是一个错误,而文档中任何易于理解的部分几乎肯定是在开玩笑.

语法范例

以下是直接从INTERCAL文档获取的一些示例代码:

请,1 <- #2
做.1 <- #2
DO,1 SUB .1 <- #1
做,1 SUB#1 <- ,1个子#2
请; 1 <- #2通过#2
做; 1 SUB#1#2 <- ,1 SUB,1 SUB .1
读出; 1SUB#1.1
放弃

我可以告诉你这段代码的作用,但这并不重要.

样本错误

也许INTERCAL中最著名的错误与关键字PLEASE有关。 INTERCAL程序必须包含“请”一词足够多次。但是,尚不清楚足够的数字是多少.

如果程序员说的不够频繁,则由于不够礼貌,编译器将拒绝该程序。但是,如果程序员过多使用“请”一词,该程序将因为太礼貌和过于渴望而被拒绝。.

如果这是您要在编译器中看到的那种行为,则您是个有病的人.

其他非常有用的错误包括:

  • E111共产主义情节被发现,编译器正在自杀

  • E277您只能扭曲如此遥远的数学定律

  • E405计划的心理健康原因计划

  • E666编译器已指示

  • E774随机编译器错误.

最后一个错误(随机编译器错误)实际上可以通过在启动程序时传入特定选项来关闭。这是“阅读本手册的奖励”。 (这就是为什么我没有告诉您特定选项的原因。)

语言资源

  • INTERCAL编程语言参考手册— 1973年的原始文本.

  • INTERCAL编程语言修订参考手册—修订的现代文本.

  • INTERCAL资源页面-您可能需要了解的有关INTERCAL的所有信息.

  • 行话档案-我的人民的文化历史.

  • INTERCAL —以该语言命名的同名艺术家的房屋/舞蹈音乐专辑.

向前进

您不想继续使用INTERCAL。这是一种模仿语言,旨在突显1960年代末和1970年代初存在的编程语言存在的问题。但这仍然很好地提醒了我们如何不设计编程语言.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map