domingo, 12 de octubre de 2014

Lenguajes de programación más utilizados.

En esta entrada vamos a hablar sobre diferentes lenguajes de programación y de las distintas aplicaciones que éstos pueden tener en la vida real, tanto para computadores como material industrial.
Lo primero va a ser caracterizar el funcionamiento de un computador y la necesidad del empleo de un lenguaje para programar.
Para programar, necesitamos una serie de instrucciones que permitan a la máquina realizar la función que queremos. Pero una máquina no utiliza nuestro lenguaje común, sino que trabaja con una serie de operaciones aritméticas y lógicas, mediante codificación en números binarios, esto es, con 0 y 1. Este conjunto de códigos numéricos constituyen el lenguaje máquina. Nosotros no trabajamos con ello, pues la programación implicaría una complejidad inaccesible para el programador. En programación, se trabaja con un mnemónico, una palabra que sustituye este lenguaje máquina para facilitar esta función. La combinación de estas palabras de adaptación es el conocido como lenguaje ensamblador. Aunque hay programadores que tienen capacidad para ejecutar instrucciones utilizando este lenguaje, sigue siendo de gran complejidad. Se utiliza en su lugar lenguajes, que se asemejan más al lenguaje común. Un archivo que contiene sentencias de lenguaje lo denominamos código fuente. Por último, un compilador es un programa que convierte el código fuente en lenguaje ensamblador. Un ejemplo de ensamblador es el lenguaje C, que es el lenguaje de programación más utilizado, según el ranking elaborado por el Índice Tiboe, actualizado a enero de 2014. El ranking es el siguiente:




A continuación se exponen los lenguajes que encabezan la lista de manera breve. Como ya hablamos en la anterior entrada al blog, la información sobre un tema puede llegar a ser infinita y disponemos de muchos medios de información donde documentarse para un conocimiento más extenso. Comenzamos por el lenguaje C.

Lenguaje C
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL.
Es uno de los lenguajes más antiguos de programación que se conocen, pero es casi de obligado aprendizaje para cualquier rama de ingeniería que utilice sistemas programables. Además, al ser uno de los primeros en aparecer, la mayoría de creadores de otros lenguajes lo utilizaron como base, por lo que conocer sus fundamentos, facilita el aprendizaje de más idiomas de programación.
Se usa para programar microcontroladores, para desarrollar sistemas operativos o programas que operan en tiempo real.

Java
Java es un lenguaje orientado a objetos, lo que quiere decir es que en su creación se trató de orientar a una forma similar al modo de  pensar humano. Permite desarrollar aplicaciones multiplataforma (funcionan tanto en plataforma UNIX como en Windows).
Basada en el concepto de máquina virtual.
Es un lenguaje compilado, generando ficheros de clases compilados, pero estas clases compiladas son en realidad interpretadas por la máquina virtual java. Siendo la máquina virtual de java la que mantiene el control sobre las clases que se estén ejecutando.
Es un lenguaje multiplataforma: El mismo código java que funciona en un sistema operativo funcionará en cualquier otro sistema operativo que tenga instalada la máquina virtual java.
Es un lenguaje seguro: La máquina virtual al ejecutar el código java realiza comprobaciones de seguridad, además el propio lenguaje carece de características inseguras, como por ejemplo los punteros.
Gracias al API de java podemos ampliar el lenguaje para que sea capaz de, por ejemplo, comunicarse con equipos mediante red, acceder a bases de datos, crear páginas HTML dinámicas, crear aplicaciones visuales al estilo Windows.

Objective-C
Objective-C es otro lenguaje muy utilizado, que surgió a principio de los 80 de la mano de Brad Cox y Tom Love. Como pequeña caracterización se puede decir que es una ampliación de C, C++ (que a su vez tiene similitudes bastante notables con C y del que hablaremos a continuación)  y Java, por lo que intentar asimilar sus conceptos básicos de inicio es muy complicado pero su aprendizaje conociendo estos lenguajes puede simplificarse por resultar familiar.



C++
Ligeramente posterior en el tiempo al anterior (en este caso, mediados de los 80), fue creado por Bjarne Stroustrup con el propósito de conseguir una aceptación y éxito que consiguió el lenguaje C, en el que se basó para crear C++. Se basa en una composición estructurada a objetos.
Quizá la principal diferenciación con su hermano mayor (lenguaje C) es que es algo más complejo de usar (también se suele utilizar en mayores estructuraciones), aunque queda un bloque más organizado debido al ya definido concepto de orientación a objetos. De hecho, puede que sea el lenguaje más utilizado junto a C en aplicaciones comerciales, programas y aplicaciones web como  Firefox, Chrome, Opera, Office, Visual Studio, Photoshop, Acrobat o Autocad, etc. y algunos juegos y sistemas operativos.

C#
C# es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes. Es un lenguaje de propósito general que se utiliza para desarrollar software para Microsoft y Windows, aunque con la aparición de nuevos compiladores, se ha estandarizado el uso también en el entorno de otras plataformas de Apple (iOS,Mac OS) y Android. 

Estos son según el ranking Tiboe los más utilizados en el curso pasado. Eso indica que son los más utilizados, pero no por ello los más útiles o los que ofrezcan una mayor funcionalidad. No se puede decir que un lenguaje de programación es mejor que otro de manera generalizada, sino que hay que valorarlo en función de la utilidad y practicidad que presente en el ámbito para el que esté desarrollado.

Esto nos lleva a hacernos una pregunta. ¿Cuál es el lenguaje de programación con más futuro? Obviamente es un tema tan subjetivo como difícil de determinar, porque con el avance de la tecnología, lo que hoy puede tener potencial, mañana puede estar desfasado. Probablemente y sin que se tome como una valoración demasiado contrastada, quizá el futuro esté en los lenguajes de desarrollo web.

En la actualidad en el entorno europeo destaca principalmente PHP.  Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado y es usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo. En Estados Unidos, para el mismo propósito, es más utilizado Python.

Si se pregunta por el que tiene más futuro (entendido como futuro muy cercano), para mí es JavaScript. Se diseñó con una sintaxis similar a C, aunque es más próximo a Java. Sin embargo, Java y JavaScript no están relacionados y tienen semánticas y propósitos diferentes. Tiene un gran número de aplicaciones, que van mucho más allá de lo que se cree, pues es una máquina muy potente que no sólo tiene aplicaciones para web como en sus inicios. Lo encontramos en muchos ámbitos, ya no solo en Internet y la Web, también es nativo en sistemas operativos para ordenadores como FirefoxOS o Blackberry 10, como lenguaje nativo en Windows 8 y dispositivos del lado del servidor y del cliente. Existe una gran demanda de profesionales con conocimientos avanzados de Javascript, necesarios para acometer cualquier proyecto en la web de última generación. De ahí que la destaquemos como el lenguaje con más futuro.

No hay comentarios:

Publicar un comentario