303: Compiling
Compiling |
Title text: 'Are you stealing those LCDs?' 'Yeah, but I'm doing it while my code compiles.' |
Explanation
When programming, simply writing the source code is not sufficient. One must compile the code, turning it into executable files. For larger projects, this can take a long time depending on the size of the project and the power of the computer. As of 2013, the Linux Kernel contains over 15 million lines of code, a massive job for any compiler.
In general, programming languages are implemented in two ways: interpreters and compilers. Interpreters convert the code at the time when it is currently running (PHP for one example), but compilers convert the source code all at once into executable files. After compiling, the resulting code will run much faster than interpreted code, since it has already been translated into the proper binary language. However, compiling code can take a long time, especially if the compiler is set up to correct syntax errors. When Cueball is caught wasting time at work, he is able to successfully deploy this knowledge in order to avoid reprimand from his superiors.
In the title text, Cueball admits that he stole LCD displays, but only because he had to wait for the compiler.
Transcript
- The #1 Programmer Excuse for Legitimately Slacking Off: “My code's compiling.”
- [Two programmers are sword-fighting on office chairs in a hallway. An unseen manager calls them back to work through an open office door.]
- Manager: Hey! Get back to work!
- Cueball: Compiling!
- Manager: Oh. Carry on.
Discussion
I was sooo amused when I heard about the most common error report when Delphi was released to the linux platform: "the compile button doesn't do anything"...
The "fix" was to introduce a checkbox that defaulted to not close the compile window once complete :-)
For being so open-sourced they are quite close-minded ;-)
Usually interpreters don't create any code but use the source language as instructions to the interpreter. The situation is complicated by the existence of compilers which compile to an intermediate code (Java byte code for example), then compile the byte code to machine code.
Jstout (talk) 21:54, 13 December 2013 (UTC) 141.101.81.4 07:04, 10 November 2013 (UTC)Nicklas
- (In response to the JavaByte thing, whoever said that) I just revamped the explanation (because it looked like two different explanations mashed together). Now it's not repetitious, but longer than I had intended it to be. It would have been even longer had I gone into Java, so I left that out. However, I would say that Java (human writable) source code is 'compiled' into Javabyte code, which is then 'interpretted' by the Java Engine on the end-user's machine. But the original compilation puts it in an easier-to-interpret form than any human-written version would be, even whilst being still flexible across differing platforms. However, it can be a fuzzy line, these days, what exactly does what. YMMV. 141.101.99.114 00:30, 8 September 2015 (UTC)
"Liquid Crystal Display Displays" This bothers me. 173.245.55.85 19:59, 13 March 2014 (UTC)
- https://en.wikipedia.org/wiki/RAS_syndrome -- Wesha (talk) 19:36, 11 May 2015 (UTC)
Made it into a wiki link and removed Displays. Kynde (talk) 20:10, 28 March 2014 (UTC)
must admit back when i was in high school learning how to code i played minesweeper and when the teacher passed by i said "it's compiling!" An user who has no account yet (talk) 15:49, 5 September 2023 (UTC)