Programa fuente es una noción que se emplea como sinónimo de código fuente. Se trata de las instrucciones que un programa informático transmite a una computadora para que pueda ejecutarse. Dichas instrucciones son líneas de texto escritas en un lenguaje de programación (una estructura capaz de impartir instrucciones informáticas a partir de una determinada base semántica y sintáctica).
Puede decirse que, en el programa fuente, un software detalla la totalidad de su funcionamiento. Un programador es quien desarrolla dichas instrucciones, respetando los principios del lenguaje de programación elegido. El sistema en cuestión, al acceder al programa fuente, interpreta las instrucciones y las pone en marcha.
La traducción del programa fuente
Hay que destacar que el programa fuente no es interpretado de manera directa por el hardware: las instrucciones son traducidas a un lenguaje diferente, que el hardware sí está en condiciones de ejecutar. El proceso de traducción se desarrolla mediante intérpretes, ensambladores y compiladores, entre diferentes sistemas de traducción.
Lo que hacen los intérpretes, ensambladores y demás es convertir el programa fuente en un código binario, formados por unos y ceros, que señalan cuándo debe transmitirse energía eléctrica, o no, mediante los dispositivos.
Su creación
La creación de un programa fuente está protegida por los derechos de propiedad intelectual. El programador decide si su programa fuente puede ser accesible a otros programadores o no. Cuando el código fuente es cerrado, se indica que sólo será accesible para su creador y para quienes éste autorice con anterioridad. Si el código fuente es abierto, en cambio, el programador autoriza que otras personas lean, modifiquen y redistribuyan el programa fuente.
Cabe señalar que si bien los lenguajes de programación existen en un número limitado y, en comparación con los idiomas, no tan extenso, la forma en la que cada programador puede usarlos es virtualmente ilimitada. Un lenguaje de programación está compuesto por una combinación de símbolos y reglas de tipo sintáctico y semántico, que establecen ciertos límites y ofrecen una serie de herramientas básicas para la elaboración de software.
El programa fuente y los programadores
Dependiendo de las habilidades, los conocimientos y la tenacidad de un programador, las posibilidades pueden parecer infinitas, aunque siempre utilice el mismo conjunto de símbolos y se vea limitado por las mismas reglas que el resto de las personas. Por esta razón, aunque dos individuos conozcan de memoria todas las palabras reservadas, los tipos de datos y los condicionantes (if, else if) y bucles de los que disponen (for, while), la manera en la que uno los utiliza puede resultar ilegible para el otro, ya sea por su complejidad o por determinadas decisiones de diseño.
En este sentido, el programa fuente es un reflejo de la personalidad y la manera de pensar de cada programador, con lo cual puede resultar muy revelador. Entre los rasgos más comunes se encuentran los siguientes:
- Indentación impecable: algunos desarrolladores no soportan la mera idea de olvidar una indentación (anglicismo correspondiente al término español «sangrado») a la hora de escribir su código. Es importante mencionar que en Python, por ejemplo, la indentación es esencial para la correcta interpretación, pero esto no es así en la mayoría de los lenguajes, por lo cual se trata de una decisión muy personal.
- Saltos de línea justos: similar al punto anterior, hay quienes no agregan un salto de línea si no es absolutamente necesario. Claro que esto responde también a un criterio personal, ya que no hay una regla universal que determine el número «correcto».
- Desorden: aunque el estereotipo de programador se caracteriza por la obsesión con el orden y el control, hay algunos que producen códigos que parecen ser «derrames aleatorios de caracteres», sin ningún tipo de regla o modelo a seguir. Sobra decir que no se trata de un fenómeno muy frecuente.