Código fuente es el grupo de líneas de texto escritas en un cierto lenguaje de programación que indican a una computadora cómo debe ejecutar un programa informático. Para que la máquina pueda interpretarlo, es necesario traducirlo a través de un intérprete, un compilador u otra herramienta.
Antes de avanzar con la definición de código fuente, es importante analizar los términos que componen la expresión. Un código combina caracteres como números y letras que tienen valor en el marco de un determinado sistema. La idea de fuente, en tanto, alude en este marco al origen o sostén de algo.
El código fuente, de este modo, es desarrollado por un programador en un lenguaje que resulta legible para las personas con el propósito de brindar instrucciones a una computadora. Este código fuente luego se convierte a un lenguaje máquina para que el hardware del dispositivo pueda, efectivamente, concretar la ejecución de la orden.
Cómo funciona el código fuente
Quien escribe el código fuente de un software es un programador o un experto en ingeniería de software. Este especialista recurre a un lenguaje de programación para crear las instrucciones correspondientes, que se registran en este código fuente y se almacenan a modo de archivo.
Una vez escrito el código fuente, esa información puede ser procesada de distintas maneras según la necesidad. En este punto aparecen diferentes tipos de programas, como los intérpretes, los compiladores y los ensambladores.
Los intérpretes traducen las instrucciones paso a paso según los requerimientos y por lo general no almacenan el resultado de su intervención. Los compiladores, en tanto, se encargan de la traducción del código fuente a un lenguaje diferente, produciendo el llamado código objeto. Los ensambladores, finalmente, proceden a traducir del código fuente elaborado en un lenguaje ensamblador a un código objeto con lenguaje de máquina.
Los lenguajes de programación
Los lenguajes de programación se clasifican como lenguajes formales. Esto quiere decir que utilizan símbolos primitivos, los cuales se vinculan entre sí mediante reglas que se encuentran especificadas de manera formal.
Apelando a un lenguaje de programación, un ser humano puede escribir órdenes a modo de algoritmos para controlar el funcionamiento de una computadora o un sistema informático, indicándole la ejecución de diversas tareas. El código fuente, de este modo, es una colección de líneas de texto creadas con un lenguaje de programación.
Lo que se entiende por programa informático es un conjunto de instrucciones desarrolladas con un lenguaje de programación. Cada programa, pues, tiene su código fuente.
Cuando el lenguaje de programación sirve para dar instrucciones que controlan directamente el hardware, estando condicionado por los componentes físicos, se lo califica como lenguaje de bajo nivel. Un lenguaje de alto nivel, en cambio, hace posible la expresión apropiada de algoritmos para que resulten legibles al ser humano.
Diversos paradigmas
Los lenguajes de programación pueden clasificarse de distintas maneras de acuerdo a sus características. Esta clasificación da lugar a diversos paradigmas.
La programación orientada a objetos, por ejemplo, se basa en la noción de objeto. Un objeto es un ente con datos organizados a modo de campos y codificados mediante métodos.
En la programación de eventos, la estructura y la ejecución del programa se determinan a partir de sucesos que tienen lugar en el sistema. El usuario es el responsable de estos sucesos.
La programación funcional, la programación imperativa, la programación declarativa, la programación estructurada, la programación concurrente y la programación modular son otros paradigmas de programación.
Depuración del código fuente
La depuración del código fuente es fundamental para la corrección de los eventuales fallos de programación. Para llevar a cabo este proceso, se necesita un depurador.
A la hora de la programación pueden cometerse diversas clases de errores. Problemas aritméticos, equivocaciones tipográficas, bucles infinitos y fallas de sintaxis pueden producir el mal funcionamiento del software.
Un depurador, de esta manera, es un programa cuya función es la detección de los errores de programación. El programador puede recurrir a esta herramienta para identificar los inconvenientes con facilidad y corregirlos de una manera sencilla, llevando a cabo el proceso denominado debugging.
Los depuradores, en definitiva, posibilitan la optimización del código fuente. Lo que hacen es encontrar las anomalías mediante diferentes técnicas, contribuyendo a la aplicación de las correcciones necesarias.
La importancia de las bibliotecas
Para facilitar la escritura de un código fuente, los programadores pueden utilizar una biblioteca. También llamadas librerías, se trata de instrucciones ya recopiladas que se pueden emplear en distintos programas.
Una misma biblioteca, así, puede usarse en más de un software. Puede decirse que cada biblioteca se forma con una serie de códigos que brindan funciones comunes ya desarrolladas y probadas por otros programadores.
Debe considerarse que una biblioteca no es un programa informático: es decir, no se puede ejecutar de manera autónoma, sino que tiene que ser usada por otros programas.
El código fuente y las licencias del software
El software puede distribuirse según distintas clases de licencias. Se entiende por licencia al contrato que el propietario de los derechos del programa (el licenciante) establece con el usuario (el licenciatario)
Por lo general, el código fuente no está a disposición del usuario, quien por lo tanto no puede modificarlo. Sin embargo, en el caso del software con licencia de código abierto, el código fuente sí puede alterarse y luego redistribuirse con libertad.
La idea de un código abierto es que el código fuente en cuestión pueda enriquecerse con los aportes de muchas personas. Con esta metodología, el desarrollo es colaborativo. Lo habitual es que el resultado de este trabajo colectivo esté a disposición de la gente en general a través de Internet.
No se debe confundir el software de código abierto con el software gratuito. Que el código fuente pueda modificarse con libertad suele asociarse a una ampliación de la participación de la comunidad, motivada por razones éticas o prácticas. Un software con licencia de código cerrado, de todos modos, puede distribuirse sin que el usuario tenga que pagar.