Editing 1755: Old Days

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 27: Line 27:
 
|-
 
|-
 
|Compile things for different processors
 
|Compile things for different processors
|{{w|Compiler}}s convert code from a human-readable programming language into a binary code that can be directly executed by computer processors.
+
|Compilers convert code from a human-readable programming language into a binary code that can be directly executed by computer processors.
|Many popular modern programming languages are either interpreted - meaning that they run directly from source code - or compile to an intermediate bytecode, like Java or common Python implementations. Programs written in such languages are portable across processor architectures - x86 to ARM, for example. {{w|Low-level programming language|Lower-level languages}} must take into account the features available on a given processor architecture and operating system. Before that, programs needed to compile directly into the native machine language for each processor they were intended to run on.
+
|Many popular modern programming languages are either interpreted - meaning that they run directly from source code - or compile to an intermediate bytecode, like Java or common Python implementations. Programs written in such languages are portable across processor architectures - x86 to ARM, for example. Lower-level languages must take into account the features available on a given processor architecture and operating system. Before that, programs needed to compile directly into the native machine language for each processor they were intended to run on.
Native {{w|Machine code|machine language}} is dependent on processor architecture. Therefore different processors designed around different architectures will not run the same compiled code (unless the architectures are compatible; AMD64 processors will run i386 code natively, for example.) If the same code needs to be run on multiple architectures, it must be compiled separately for each supported architecture.
+
Native machine language is dependent on processor architecture. Therefore different processors designed around different architectures will not run the same compiled code (unless the architectures are compatible; AMD64 processors will run i386 code natively, for example.) If the same code needs to be run on multiple architectures, it must be compiled separately for each supported architecture.
 
|-
 
|-
 
|To compile your code, you had to mail it to IBM. It took 4-6 weeks.
 
|To compile your code, you had to mail it to IBM. It took 4-6 weeks.
 
|Similar to sending Kodachrome slide film to Kodak to be developed.
 
|Similar to sending Kodachrome slide film to Kodak to be developed.
|While IBM has released multiple compilers, they sent the compiler to you, you did not send the code to them. There is some kind of truth in the statement, though: when programming on mainframes, programmers submitted their source code in the evening for compilation overnight. When there was an error in the code, they did not get a compiled version of it back, and had to resubmit their code. Sometimes there were time slots available for compilation, and in universities, students would have to wait for their next time slot for another try.
+
|While IBM has released multiple compilers, they sent the compiler to you, you did not send the code to them. There is some kind of truth in the statement, though: When programming on mainframes, programmers submitted their source code in the evening for compilation overnight. When there was an error in the code, they did not get a compiled version of it back, and had to resubmit their code. Sometimes there were time slots available for compilation, and in universities, students will have to wait for their next time slot for another try.
 
|-
 
|-
 
|Before garbage collection, data would pile up until the computer got full and you had to throw it away.  
 
|Before garbage collection, data would pile up until the computer got full and you had to throw it away.  
|A {{w|Garbage collection (computer science)|garbage collector}} is a piece of the software that cleans the memory of data that is no longer being used in the execution of a program.  
+
|A {{w|Garbage collection (computer science)|garbage collector}} is a piece of the software that cleans the {{w|RAM}} of data that is no longer being used in the execution of a program.  
 
|Garbage collection is a form of memory management that generally destroys objects or frees up memory once a program no longer needs it. In languages without automatic memory management, like C, the program itself must keep track of what memory has been allocated, and free it once it is no longer needed. If the program does not, it can end up trying to use more memory than the computer has, and may crash. This was, however, a ''temporary'' condition. In the worst case, a simple reboot will clear the computer's memory.  
 
|Garbage collection is a form of memory management that generally destroys objects or frees up memory once a program no longer needs it. In languages without automatic memory management, like C, the program itself must keep track of what memory has been allocated, and free it once it is no longer needed. If the program does not, it can end up trying to use more memory than the computer has, and may crash. This was, however, a ''temporary'' condition. In the worst case, a simple reboot will clear the computer's memory.  
 
|-
 
|-

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)