viernes, 8 de marzo de 2013

Los lenguajes de programación

En la actualidad estamos tan acostumbrados a trabajar con ordenadores que nos parece lo más sencillo del mundo. Realmente la mayoría de las personas conocen la tecnología, la utilizan para su beneficio, pero no suelen preguntarse qué hay detrás de todo esto.

La historia de la computación es realmente interesante, hemos pasado de esto:


a esto:
Visualmente la diferencia es abismal, hemos logrado concentrar en un aparatito mil veces menos más funciones y más potencia, pero esta vez vamos a centrarnos en el interior. Sin dudas uno de los más grandes logros en la computación es la programación, la comunicación entre el hombre y la máquina.


¿Qué es un lenguaje de programación?

Para que el ordenador entienda nuestras instrucciones necesita recibirlas en código máquina, que consiste en cadenas de 0 y 1. Para el ser humano es realmente complicado trabajar con ese código, y por eso se crearon “traductores” que transformaban palabras en código máquina. Estos traductores se fueron perfeccionando hasta llegar a los lenguajes de programación actuales.

Existen diferentes tipos de lenguajes y diferentes clasificaciones,por ejemplo:  según su nivel (alto o bajo), según la forma de ejecución (compilados o interpretados) o según su paradigma. Estas clasificaciones no suponen que alguno sea mejor o peor, simplemente son diferencias que tienen entre ellos. Analicemos un poco los principales lenguajes actuales.


  • Java: Lenguaje de alto nivel. Según su paradigma es orientado a objetos, lo que le proporciona independencia a sus módulos. La peculiaridad de este lenguaje es que no es compilado en un código fuente sino en un bytecode que contiene un programa ejecutable. Esto permite que pueda correr en cualquier plataforma ("write once, run anywhere").
  • C: Creado para desarrollar Sistemas Operativos, Unix principalmente. Su paradigma es imperativo por procedimientos. Está disponible para más plataformas que cualquier otro lenguaje
  • Phyton: Un lenguaje moderno, orientado a objetos y de código abierto. Su código no necesita ser compilado, por lo que ahorra mucho tiempo.
  • C#: Orientado a objeto.Específico para el desarrollo de aplicaciones. Es una mejora respecto a sus predecesores C y C++. Tiene una librería bien diseñada y muy completa.
  • C++: Mejora las características de C. Se le otorga independencia haciéndolo orientado a objetos. Gran potencia en la programación de alto nivel, pero con características que le permiten programar a alto nivel.

¿Cómo interpretan las máquinas a estos lenguajes?


En la mayoría de los lenguajes el modelo de interpretación es algo como esto:



En el caso de Internet este modelo es diferente, puesto que para devolver un programa compilado necesitaría saber detalles de cada máquina como el Sistema Operativo, por eso se envía un código intermedio que es traducido por el navegador, que es, al final, el compilador.







Fuentes:
Wikipedia
Imágenes tomadas de Google Imágenes.