Difference between Source Code and Object Code
1. Source Code:
Source code refers to high level code or assembly code which is generated by human/programmer. Source code is easy to read and modify. It is written by programmer by using any High Level Language or Intermediate language which is human-readable. Source code contains comments that programmer puts for better understanding.
Source code is provided to language translator which converts it into machine understandable code which is called machine code or object code. Computer can not understand direct source code, computer understands machine code and executes it. It is considered as fundamental component of computer. In simple we can say source code is a set of instructions/commands and statements which is written by a programmer by using a computer programming language like C, C++, Java, Python, Assembly language etc. So statements written in any programming language is termed as source code.
2. Object Code:
Object code refers to low level code which is understandable by machine. Object code is generated from source code after going through compiler or other translator. It is in executable machine code format. Object code contains a sequence of machine understandable instructions to which Central Processing Unit understands and executes.
Object file contains object code. It is considered as one more of machine code. Some object file examples are common object file format (COFF), COM files and “.exe” files. It is the output of a compiler or other translator. We can understand source code but we can not understand object code as it is not in plain text like source code rather it is in binary formats.
The below figure illustrates the source code and object code:
Difference between Source Code and Object Code :
|S. No.||SOURCE CODE||OBJECT CODE|
|01.||Source code is generated by human or programmer.||Object code is generated by compiler or other translator.|
|02.||Source code is high level code.||Object code is low level code.|
|03.||Source code is written in plain text by using some high level programming language.||Object code is translated code of source code. It is in binary format.|
|04.||Source code is human understandable.||Object code is not human understandable.|
|05.||Source code is not directly understandable by machine.||Object code is machine understandable and executable.|
|06.||It is written in a high-level language like C, C++, Java, Python, etc., or assembly language.||It is written in machine language through compiler or assembler or other translator.|
|07.||It can be easily modified.||It can not be modified.|
|08.||It contains comments for better understanding by programmer.||It does not contain comments for understanding by machine.|
|09.||It contains less number of statements than object code.||It contains more number of statements than source code.|
|10.||It is less close. towards machine.||It is more close towards machine.|
|11.||Performance of source code is less than object code as it is less close towards machine.||Performance of object code is more than source code as it is more close towards machine.|
|12.||Source code is input to compiler or any other translator.||Object code is output of compiler or any other translator.|
|13.||Source code is not system specific.||Object code is system specific.|
|14.||It can be changed over time.||Source code needs to be compiled or translated by any other translator to get modified object code.|
|15.||Language translators like compiler, assembler, interpreter are used to translate source code to object code.||Object code is machine code so it does not require any translation.|
|16.||The source lines of code gives the readability and understandability to the user. Use of fewer lines of code gives better performance by giving same results in most cases.||This is not the case with object code.|