El código fuente es la lista de instrucciones legibles por humanos que escribe un programador, a menudo en un programa de procesamiento de textos, cuando está desarrollando un programa. El código fuente se ejecuta a través de un compilador para convertirlo en código de máquina, también llamado código de objeto, que una computadora puede entender y ejecutar. El código de objeto consiste principalmente en 1s y 0s, por lo que no es legible para humanos.
El código fuente y el código de objeto son los estados antes y después de un programa de computadora que se compila. Los lenguajes de programación que compilan su código incluyen C, C ++, Delphi, Swift, Fortran, Haskell, Pascal y muchos otros. Aquí hay un ejemplo del código fuente del lenguaje C:
No es necesario ser un programador informático para saber que este código tiene algo que ver con la impresión de "Hello World". Por supuesto, la mayoría del código fuente es mucho más complejo que este ejemplo. No es inusual que los programas de software tengan millones de líneas de código. Se informa que el sistema operativo Windows 10 tiene alrededor de 50 millones de líneas de código.
El código fuente puede ser propietario o abierto. Muchas compañías guardan de cerca su código fuente. Los usuarios pueden usar el código compilado, pero no pueden verlo ni modificarlo. Microsoft Office es un ejemplo de código fuente propietario. Otras compañías publican su código en Internet, donde cualquiera puede descargarlo gratuitamente. Apache OpenOffice es un ejemplo de código de software de código abierto.
Algunos lenguajes de programación como JavaScript no se compilan en código máquina, sino que se interpretan. En estos casos, la distinción entre código fuente y código objeto no se aplica porque solo hay un código. Ese código único es el código fuente, y puede leerse y copiarse. En algunos casos, los desarrolladores de este código pueden cifrarlo intencionalmente para evitar su visualización. Los lenguajes de programación que se interpretan incluyen Python, JavaRuby, Perl PHP, Postscript, VBScript y muchos otros.