Software Libre: Concepto y Mercado – 2 El Problema del Lenguaje y el Código Fuente.

diciembre 16, 2008

Continuando con el traspaso del trabajo de mi memoria al blog, vamos con la segunda parte:

2.-El Problema del Lenguaje y el Código Fuente.

Otro concepto que es necesario aclarar, es el de “código fuente”. Sin embargo, antes de explicar lo que es el código fuente, y para entender su importancia, debemos aclarar el problema del lenguaje.

Las computadoras al ser máquinas que manejan información necesitan de un lenguaje. Teniendo en consideración que los circuitos de la máquina responden de manera simple y natural solamente a dos estímulos, esto es, la existencia o ausencia de voltaje, su lenguaje óptimo es uno binario. Esto significa que las letras, números, signos de puntuación y otros caracteres son sustituidos  por números de ocho dígitos, formados por la combinación de dos valores: ceros y unos que  se usan como abstracción de la presencia y ausencia de voltaje[1]. Existen varios lenguajes de máquina, pero el más utilizado es el lenguaje ASCII[2] y sus variantes.

Si el software es un conjunto de instrucciones para el computador, dichas instrucciones deben  estar escritas en lenguaje de máquina para que éste las entienda, pero, debido a la complejidad de dicho lenguaje (visualmente sólo se aprecian grupos de ceros y unos), trabajar con él es prácticamente imposible para el operador humano. Pese a lo anterior, en los primeros tiempos la interacción entre el computador y el operador  se hacía en lenguaje máquina, lo que acarreaba grandes problemas, y restringía de manera notable el campo de, la entonces incipiente, tecnología de la información. Este problema vino a ser solucionado con la invención de los compiladores.

Los compiladores son programas o herramientas encargadas de compilar. Un compilador toma un texto (código fuente) escrito en un lenguaje de alto nivel y lo traduce a un lenguaje comprensible por las computadoras (código objeto)[*].

La existencia de los compiladores permite a los programadores escribir sus programas en un lenguaje fácilmente comprensible para ellos y otras personas, lo que agiliza su trabajo y permite la rápida revisión en caso de errores, salvando todas las dificultades que el lenguaje máquina significa. Ese lenguaje se denomina lenguaje de programación de alto nivel[3].

El software antes de ser compilado, es decir cuando todavía se encuentra en lenguaje de programación, se denomina código fuente[*]. Teniendo acceso a éste, una persona con los conocimientos necesarios, puede  determinar el funcionamiento e incluso introducir modificaciones al software.

[1]La explicación del funcionamiento del lenguaje máquina escapa al objeto de este trabajo, pero, creemos que es necesario demostrar su complejidad, por lo que nos valdremos de un ejemplo, la palabra ANA en ASCII es 01000001 01001110 01000001.

[2]Sigla en inglés de “American Standar Code for Information Interchange” -Código Americano Estandarizado para el Intercambio de Información-. En estricto sentido el lenguaje ASCII consta de solamente 7 dígitos o bits, pero existen complementos que agregan un octavo dígito o bit con la finalidad introducir acentos y caracteres inexistentes en el idioma inglés, como por ejemplo el ISO-8859-1 que posee caracteres apropiados para el español, portugués, francés, danés y otras lenguas latinas

[3]Según el Diccionario Informático Alegsa, lenguaje de programación de alto nivel es un “tipo de lenguajes de programación que permite al programador escribir programas (algoritmos) que son más o menos independientes de un tipo particular de computadora (del hardware). Estos lenguajes son considerados de alto nivel porque son más parecidos al lenguaje natural humano y más lejanos al lenguaje de las máquinas.”

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: