(Actualizado Mayo 2017) Este artículo de interés constante, lo hemos actualizado para comentar las últimas novedades de desarrollo en Lenguajes de Programación. Perl, Python, Varnish Cache Content, etc, hacemos un repaso general de las características del lenguaje de código abierto (Open Source)
La investigación y desarrollo (I+D) constante, exige disponer de los profesionales mas destacados, bien remuneradas, estas profesiones son un presupuesto fijo en la elaboración de un proyecto, bien en la gestación o para potenciar un proyecto consolidado o para generar cambios importantes en el funcionamiento de procesos.
Muchas empresas han recortado presupuestos sin embargo, hay profesiones que siguen siendo altamente requeridas. Entre ellas encontramos todas las relacionadas con la programación.
Los Lenguajes de Programación son muy complicados de definir, lo que tenemos claro, es que con ellos podemos desarrollar muchas cosas, como Aplicaciones Militares, juegos, implementación de bases de datos, el uso que se les puede dar es infinito, aunque existen lenguajes específicamente para cada uno de ellos. Antes de decidirse a ser programador hay que investigar los Lenguajes de Programación de tal manera que tengamos la habilidad de poder escoger el mejor lenguaje de programación de acuerdo a lo que queramos realizar.
Un lenguaje (open source) es PHP que está orientados a crear aplicaciones que funcionen sobre un servidor de Internet, interactua muy bien con todas las Bases de Datos (Mysql, Oracle, SQL Server) e incluso Bases de Datos no relacionales, como MongoDB, etc.
No es suficiente describir todos en un artículo, quedan muchos que van cobrando interés cada día, PERL, PYTHON, etc. Los lenguajes de programación han permitido definir nuevas soluciones que permiten un ahorro de recursos hardware. Varnish (Cache-Content) es una solución programada en código abierto, y nos permite cachear el contenido web, aprovecha el espacio en memoria para 'hacer una foto' de cada página HTML o de los recursos estáticos de la web (Css, javascript, imágenes, etc) y los sirve de manera inmediata, unos tiempos de respuesta increiblemente bajos ya que evita hacer consultas a la Base de datos, y evita la llamada recursiva de todos los recursos que la página necesita para mostrar todo su contenido. Esto es un ejemplo sencillo de la innovación constante que permite el manejo de lenguajes de programación.
Con PHP se pueden crear sitios web dinámicos, es decir sitios que interactúen automáticamente con el usuario ya sea, por ejemplo, respondiendo una solicitud en forma automática o cambiando la apariencia del sitio según el visitante que sea. PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores la mejor mezcla entre rendimiento y flexibilidad. Una ventaja importante de interpretar el código es que toda la memoria usada por tu código es manejada por PHP, y el lenguaje automáticamente vacía esta memoria cuando el script finaliza. Esto significa que tu no tienes que preocuparte de las conexiones a la base de datos, porque PHP lo hará por ti. Es uno de los lenguajes de programación más populares, precisamente por ser de código abierto, gratis,etc. La gran fluidez y rapidez de sus scripts tienen un prometedor futuro.
Una alternativa más popular al PHP es Perl, seguramente porque es el lenguaje más antiguo tambien dentro de las alternativas. En internet nos encontramos numerosos recursos que utilizan Perl, muchos de las aplicaciones 'open source' requieren tener Perl instalado correctamente. Perl tiene una ventaja y es que es muy flexible, y tambien tiene un gran cantidad de modulos ya escritos. Bien escritos los scripts en Perl se asemejan bastante a PHP. La principal causa de la sucía apariencia de Perl es por la afición de sus desarrolladores a la escritura en 'una línea' empaquetanto numerosas funcionalidades en una sola línea de código, aprender Perl o Php es básico a la hora de desarrollar aplicaciones Web.
Uno de los lenguajes más demandado para programar es Java, su ventaja es que permite programar para cualquier sistema o dispositivos. Es así que los programas realizados con java pueden ejecutarse sin inconvenientes en sistemas comoWindows, Linux, Mac, etc y también en dispositivos cada día mas usados como los teléfonos móviles. Java es el único lenguaje de programación soportado por el 100% de los teléfonos móviles que hay en el mercado lo cual lo hace un lenguaje muy interesante para desarrollar aplicaciones para este entorno. Java como es tan amplio puede ser difícil de aprender si deseas aprender todo. No hay programador en el mundo que conozca a fondo todas las posibilidades de Java ya que esta divido en varios paquetes cada uno de los cuales permite crear múltiples tipos de programas.
Los lenguajes de programación pueden tener una curva de aprendizaje o nivel de dificultad variada. Un lenguaje de nivel medio es el Lenguaje C, con numerosas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Aprender C es básico mientras aprendes C estas aprendiendo conceptos básicos de lenguajes cómo Java o C#, además no sólo es mas sencillo que estos últimos sino que comporten gran parte de su sintaxis.
Por otra parte tenemos todos los paquetes de programación relacionados con la suite .NET que es la plataforma de desarrollo de Microsoft donde se destaca el lenguage ASP.NET para crear todo tipo de programas o aplicaciones relacionadas con sitios web dinámicos y Visual Basic.NET para crear programas de escritorio.
C# es un lenguaje de propósito general orientado a objetos creado por Microsoft para su plataforma .NET. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control a bajo nivel de lenguajes como C y la velocidad de programación de lenguajes como Visual Basic. Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de múltiples lenguajes de amplia difusión como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de C/C++/Java sea lo más inmediata posible.
AJAX no es un lenguaje exactamente, su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML y es posiblemente la mayor novedad en cuanto a programación web en estos últimos años. El corazón de AJAX es el objeto XMLHttpRequest que nos permite realizar una conexión al servidor y al enviarle una petición y recibir la respuesta que procesaremos en nuestro código Javascript, estamos hablando del verdadero motor de Ajax, por ejemplo gracias a este objeto podemos desde una página HTML leer datos de una web o enviar datos de un formulario sin necesidad de recargar la página. La demanda de AJAX no sólo es amplía sino que de calidad debido a la dificultad de aprendizaje que conlleva, si la herramienta de Microsoft, Atlas, destinada a la realización de aplicaciones AJAX tiene éxito puede suponee un aumento en la demanda de esta tecnología.
Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby. Ruby apareció en el año 1995 y su principal problema había sido la falta de documentación en otro idioma que no sea japonés. Eso se ha ido solucionando y crece la popularidad del lenguaje. Su aplicación insignia, por decirlo de algún modo parece ser RoR. Su mecanismo de gem se me parece al CPAN de Perl y al Pear de PHP. Es un lenguaje simple y funcional, el uso de Active Record de forma eficiente simplifica y agiliza el desarrollo de forma notable. Al minimizar el trabajo con la base de datos (escribiendo triggers y procedimientos almacenados) y emplear un único lenguaje para todo el desarrollo, se consigue acortar los tiempos de desarrollo (time2market).
Aún para los que le tienen mucho temor a aprender programación hay lenguajes de fácil aprendizaje y altamente poderosos como lenguajes relacionados con la Inteligencia artificial que permiten crear robots virtuales o chatbots, robots que chatean pero que cumplen otras funciones como controlar el hogar desde la computadora. Es una buan opción para los que desean aprender los fundamentos muy básicos de programación y a su vez ingresar en uno de los campos con mejores perspectivas: la robótica.
Como vemos hay variadas opciones, apenas hemos mencionado algunas que considero importantes abierto al interés de todos, cualquier persona con un conocimiento mínimo de manejo de ordenadores podrá aprender un lenguaje que le abrirá sin problemas las puertas del mundo laboral.