[303] Compiling

Title Text:’Are you stealing those LCDs?’ ‘Yeah, but I’m doing it while my code compiles.’

Origin:https://xkcd.com/303/

https://www.explainxkcd.com/wiki/index.php/303:_Compiling

編譯中

「你在偷 LCD 嗎?」「對,不過我是趁 code 還在編譯的時候偷的」

https://xkcd.tw/303

计算机编程涉及以特定的编程语言编写用于计算机的指令,该指令主要是人类可读和可写的,至少对于理解该语言的程序员而言。然而,对于计算机遵循指令,他们需要给出机器代码 – 计算机“说”的实际“语言”和可以用正确的工具直接编写的“语言”,但是它太繁琐且容易出错。几乎任何存在替代品的实际现代项目,除了Hello World之外的任何东西都可能很难直接实现到机器代码中。

从更方便的人类可写代码到计算机可执行文件的转换由解释器或编译器执行。解释器(例如,对于一个示例的PHP)通常在需要时一次读取代码或脚本,并且必须对各种处理开销以及命中无效指令的风险进行大量工作。它无法处理的语法错误。它还要求在必须运行脚本的任何机器上存在相关版本的解释器,并且最终用户可能需要一些额外的知识。

对于广泛分布的(尤其是商业的)程序,将使用某种形式的编译。编译可能只有一个计算机系统通过人工编写的代码读取和(禁止错误)产生等效的独立和直接机器可读代码,适用于给定范围的计算机。此过程可能涉及多次传递,以检查代码中的“明显”错误,以及将一些最易于人类理解的编程概念转换为可能更容易使用的等效概念。

因此,编译在生产时需要一定的时间。通常,这需要几秒钟,但是,根据项目的大小和进行编译的计算机的功能,编译程序所需的时间可以在几分钟甚至几小时内测量。截至2015年,Linux内核包含超过1900万行代码,可以说是任何编译器的大量工作,但如果正确完成,它将为最终将使用其输出的所有人节省时间。

因此,当Cueball在工作中浪费时间时,他认为此类活动并不比其他任何可能的活动更糟糕。如果他的工作是编写代码并编译代码,那么他现在可能没有其他任何东西可以做。在完成编译并检查预期结果之前,他无法有用地调整代码。

标题文本更进了一步。 Cueball声称所有活动在代码编译时同样是良性的,并且包括犯下非法行为,例如窃取LCD。

这部漫画发行九年后,兰德尔制作了一部名为“1755:旧日”的漫画,讲述了过去编译的工作原理。是Cueball问道。接下来的漫画,1756年:我和她在一起,在2016年美国总统大选之前的周一被释放。在那个漫画中,一个带有剑的Cueball在办公椅上就像在这部漫画中一样。看起来很现实,兰德尔已经准备好了一段时间的政治装载漫画,当找到并决定使用这个旧版本的Cueball时,他可能已经受到编辑主题的启发而制作了Old Days。

Leave a Reply

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

Categories