[378] Real Programmers

Title Text:Real programmers set the universal constants at the start such that the universe evolves to contain the disk with the data they want.

Origin:https://xkcd.com/378/

https://www.explainxkcd.com/wiki/index.php/378:_Real_Programmers

真正的程式設計師

真正的程式設計師會設定好宇宙常數,讓宇宙演化成裡面會有一顆內含需要的資料的硬碟。

https://xkcd.tw/378

这部漫画是对真正的程序员的想法的讽刺。引用维基百科“…计算机民俗术语真正的程序员已经开始描述原型’硬核’程序员,他们避开当代现代语言和工具,转而使用更直接,更有效的解决方案 – 硬件输入者。”这意味着现代程序员被当今的交易工具所淹没,这避免了对简单工作流程的详细理解。

第一个数字是在另一个程序员嘲笑他使用GNU nano时编写一段代码。 Nano是一个文本编辑器 – 一个经常用来编辑其他程序源代码的程序;它现代,简单,易于使用。他继续说“真正的”程序员使用Emacs。 GNU Emacs是一个流行的编辑器,以其丰富的功能和扩展而闻名,可以执行除简单文本编辑之外的各种功能,并且被广泛认为是最好的软件示例之一。漫画继续从这里开始,因为一系列程序员逐渐陈述更加模糊或过时的方法。最终程序员声称“真正的”程序员使用蝴蝶,最终达到高潮。

他对他的相当超​​现实的编程方法的描述是荒谬的复杂的,并且需要一种荒谬的知识和远见,以接近无所不知。在最后一个面板中,Emacs程序员声称有一个Emacs代码可以做到这一点。

Emacs和Vim都是文本编辑器。 ed是一个行编辑器。这些代表了编辑代码问题的逐步更多的“旧学校”解决方案。 cat是一个连接和输出文件内容的Unix程序;它通常从Unix shell运行,它允许将其输出写入或附加到文件中。

使用磁化针在硬盘驱动器上翻转位需要纳米级精度和直观掌握二进制代码,但在编程的早期阶段,人们确实使用针来修复打孔卡上的错误。

当最后一个角色暗示使用蝴蝶的完全超现实的想法时,他指的是蝴蝶效应,这是一种“在环境中微小变化会导致结果发生巨大变化的现象”,如短篇小说“雷霆之声”所示。此时的笑话依赖于扩展“难以使用”和“需要详细了解基本原则”这一概念之间的联系,以表明真正的程序员不仅知道计算机如何工作的一切,而且他们知道如何以精心设计的方式操纵环境物理环境,使计算机做他们想做的事,类似于执行完成编程功能的技巧镜头。

事实上,Emacs已经掌握了这一命令,这简化了程序员对现代编程工具的挫败感。

GNU Emacs虽然充满了特征性疾病,但仍然取得了成功。

Emacs命令通常由激活它们所需的键序列引用,例如“C-x M-c”(Control-x Meta-c,尽管这个精确的键序列与大多数Emacs命令略有不同)。引用的宏是戏剧/电影中标题为“M. Butterfly”的双关语。蝴蝶程序员说“Dammit,Emacs”扮演Emacs的厨房水槽设计方法的恶名,抛弃了任何人可能想到的所有功能和选项。举例来说,Emacs的后续版本实际上添加了一个完全没用的“M-x蝴蝶”命令作为复活节彩蛋,参考这个非常漫画:参见YouTube演示和屏幕演示。

标题文本进一步建议操纵通用常量,以便创建一个所需的计算机数据将存在的宇宙。这种编程需要类似于亚伯拉罕神的力量和知识。

根据逻辑,所示的程序员甚至可以代表这个主程序员计划的实现。宇宙的设计可能是这样一种方式,即程序员的祖先会产生他的父母,他们会遇到并生一个孩子,他们会学习编程并最终发现自己处于创建程序任务的位置,用所需数据填充磁盘。当然,所有参与创建和开发所有必需的硬件,软件,原材料,计算机科学,电力,逻辑(等等)的人都必须成为总体规划的一部分。 。简而言之,使用Emacs可能更简单。

使用磁化针也可以参考Apollo AGC制导计算机,其指令被物理地写为环绕或通过圆柱形磁体的导线图案,以便记录二进制代码。

这部漫画暗示了“编辑大战”,这是对Vim和Emacs用户的争论,两位编辑中哪一位是最好的。编辑战争在1823年再次提到:最热门的编辑。

You May Also Like

[2981] Slingshots

[2980] Lava Lakes

[2979] Sky Alarm

More From Author

[2981] Slingshots

[2980] Lava Lakes

[2979] Sky Alarm

Leave a Reply

Your email address will not be published. Required fields are marked *