Difference between revisions of "303: Compiling"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Explanation)
(Explanation)
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
Simply writing the source code is not sufficient. You have to {{w|Compiler|compile}} this, turning it into {{w|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 {{w|Linux Kernel}} contains over 15 million lines of code, a hard job for the compiler.
+
When programming, simply writing the source code is not sufficient. One must {{w|Compiler|compile}} the code, turning it into {{w|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 {{w|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 ({{w|PHP}} is only 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 all been translated into the proper binary language. But compiling code can be a long task, including to fix some {{w|syntax error|syntax errors}}. Cueball does not care about this so far, because he is only waiting for a slow machine to finish its job.
+
In general, programming languages are implemented in two ways: interpreters and compilers. Interpreters convert the code at the time when it is currently running ({{w|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 {{w|syntax error|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 did steal LCD displays, but only because he had to wait for the compiler.
+
In the title text, Cueball admits that he stole LCD displays, but only because he had to wait for the compiler.
  
 
==Transcript==
 
==Transcript==

Revision as of 20:04, 25 November 2013

Compiling
'Are you stealing those LCDs?' 'Yeah, but I'm doing it while my code compiles.'
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.
comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!

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)