Muchos usuarios de nuestro boletín de noticias nos preguntas en que lenguage de programación conviene programar o cual es lenguage de programación que tiene una rápida inserción laboral.
Para empezar observemos que el mundo de la informática está dividido, a grandes rasgos, en tres plataformas de sistemas operativos : Microsoft Windows, Linux y Mac .
Otra clasificación puede ser realizada entre aplicaciones fijas, para Internet o moviles. Una aplicación fija funciona sobre una computadora de escritorio o notebook (ya que un notebook tiene todas las funcionalidades de una computadora de escritorio) . Una aplicación de Internet puede ser un sitio web dinámico que interactua con el usuario y una aplicación móvil se ejecuta sobre cualquier telefono móvil, PDA o smarthphone (teléfono inteligente).
Microsoft como todos conocen es el creador de Windows y de una gran cantidad de programas relacionados con este programa básico , programas de escritorio y de servidor. Los programas de escritorio (desktop aplications) son los que funcionan dentro de una computadora (por ejemplo Microsoft word o Excel) . Como Windows es el programa más extendido en el mundo en aplicaciones de escritorio cuenta con una ventaja grande. El lenguaje de programación lider para desarrollar aplicaciones de escritorio para Windows es Visual basic.
Linux es un sistema operativo de código libre que fue evolucionando gracias al aporte voluntario de miles de programadores. Hoy se ha convertido en un sistema visual que no tiene nada que envidiarle a Windows pero su participación como sistema operativo de escritorio es reducida en comparación con Windows.
A nivel de aplicaciones destinadas a servidores de aplicaciones que se ejecutan en Internet (webservers) Linux es ejecutado por la enorme mayoria de los servidores de Internet . Linux se comporta igual o mejor que Windows como servidor web y ademas es gratuito.
Las aplicaciones relacionadas con Internet han superado en número a las tradicionales de escritorio entre otras cosas por que muchas de estas comenzaron a tener funciones de conectividad que antes no tenían y por lo tanto cambiaron su categoria pasando a ejecutarse en red. Por ejemplo sistemas de pagos descentralizados que funcionan a través de red pueden programarse en su totatalidad en Java o lenguages similares pensados para la red.
Y ademas hay aplicaciones de escritorio que comienzan a funcionar exclusivamente a través de Internet : agendas, programas de traducción , busqueda en mapas, planillas de calculo,procesadores de texto, etc.Una buena cantidad de las aplicaciones provistas por Google hacen uso de esta tecnología (Google maps, Gmail, Calendar, etc) . El lenguaje (o conjunto de varios) AJAX ha permitido el desarrollo de aplicaciones de este tipo.
La tendencia es que la mayor parte de las aplicaciones tiendan a funcionar en Internet o a hacer uso de sus beneficios. Ademas las aplicaciones de escritorio tradicionales si bien tienen muchas posibilidades es un campo que esta saturado de soluciones. Pensemos en la enorme variedad de programas de administración, contables, control de personal,etc.
Las aplicaciones destinadas a Internet son un campo relativamente nuevo y en continuo cambio, por este motivo para los programadores novatos son la mejor opción para dedicarse : conocer lenguages que pemitan crear aplicaciones para Internet.
Ademas los lenguages para Internet son en general versiones mas “reducidas” de otros lenguages y por tal motivo más faciles de aprender . Por ejemplo ASP.NET es una versión “reducida” de Visual Basic.net , Java es una reducción del lenguage C , PHP es un lenguage pensado para aplicaciones de Internet, etc.
Ha surgido una nueva plataforma que esta requieriendo aplicaciones en forma creciente nos referimos a la plataforma móvil : programas que se ejecutan sobre cualquier teléfono móvil, palmtop o smarthphone. La famosa y predicha convergencia tecnólogica (una aparato que cumpla el mayor numero de funciones) parece tener la forma de teléfono. Estos cada vez traen más funciones y la tercera generación (3G) es un buen ejemplo.Con ciertas limitaciones pueden desarrollarse un sinfín de aplicaciones para cualquier telefono móvil, PDA o smarthphone. Los lenguajes mas usados para la plataforma móvil son ASP.NET y Java . Si bien se pueden desarrollar aplicaciones móviles con cualquier lenguaje , con ASP es más fácil hacerlo que con cualquier otro y con Java podremos hacer aplicaciones más complejas (como juegos) .
A continuación veamos resumidamente de que se trata cada lenguaje.
PHP
PHP es un lenguaje de scripting (no compilado) diseñado para crear aplicaciones dinámicas que se ejecutan sobre un servidor de Internet. Es un lenguaje que ha evolucionado mucho desde sus comienzos y que cuenta con miles de rutinas que se pueden descargar desde Internet y utlizar en los programas que vaya a crear cualquier programador.
Es uno de los lenguajes de programación más usados en internet ya que se ejecuta facilmente sobre los servidores Linux que son la enorme mayoria de los servidores de Internet. Aprender PHP es básico a la hora de desarrollar aplicaciones Web. Es un lenguaje relativamene fácil de aprender.
C#
C# es un lenguaje de propósito general orientado a objetos creado por Microsoft para su plataforma .NET. Con C# podremos crear cualquier tipo de programa.
Su sintaxis proviene 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 un lenguaje que hereda una sintaxis complicada y tiene una curva de aprendizaje elevada. No es el lenguaje recomendado para los que recien se inician en programación.
AJAX
AJAX no es un lenguaje sino un conjunto de varios que trabajan conjuntamente. Su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML y es el responsable de sitios novedosos como Google Maps o Gmail . Con AJAX los sitios se comportan de manera más rápida ya que cargan inicialmente mayor cantidad de información que la que el usuario ve.
Java
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 1990. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel. JavaScript, un lenguaje interpretado, comparte un nombre similar y una sintaxis similar, pero no está directamente relacionado con Java. Java es un lenguaje multiproproposito que se puede ejecutar sobre cualquier plataforma y está especialemnte orientado a aplicaciones que trabajen sobre redes de cualquier tipo. Es uno de los lenguajes más completos y mas solicitados a la hora de crear aplicaciones robustas para cualquier entorno de trabajo. Tiene una alta curva de aprendizaje.
JavaScript
Es un lenguaje de programación que funciona del lado del cliente, se ejecuta en el navegador de Internet y no en un servidor .Es el navegador (Internet Explorer o Firefox) el que soporta la carga de procesamiento.
Se utiliza para validar datos que se ingresan a través de formularios, crear cookies, detectar navegadores y mejorar el diseño. Su fácil aprendizaje lo hace un lenguaje muy demandado. Pero tiene muchas limitaciones si se utiliza en forma única. Su acción junto a otros lenjuajes es fundamental ya sea con PHP, ASP o dentro de AJAX.
Perl
Perl es similar y anterior en su creación a PHP. Es el lenguaje más antiguo para desarrollar aplicaciones para Internet. Los primeros formularios interactivos de Internet estaban escritos en Perl. Bien escritos los scripts en Perl se asemejan bastante a PHP.
Es un lenguaje que tiende a desaparecer aunque siempre habran aplicaciones que lo utilicen. Tiene una curva de aprendizaje media.
C
Es un lenguaje de multiproposito con numerosas características de bajo nivel , es decir que permite programar sobre las instrucciones que llegan al procesador en código binario.
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 complicado pero al hacerlo estaras aprendiendo conceptos básicos de lenguajes cómo Java o C#, y ademas comparte gran parte de su sintaxis.
ASP
Active Server Pages (ASP) y ASP.NET es la creación de Microsoft para introducirse en el mercado del desarrollo Web de aplicaciones dinámicas. Funciona bien sobre el servidor de la propia empresa ISS. ASP clásico fue duramente criticado : Es propietario, usaba una única plataforma, la lentitud, etc.
La aparición de ASP.NET solucionó buena parte de estos problemas, agrego una buena cantidad de nuevas funciones y permitió a los programadores desarrollar aplicaciones en un tiempo reducido ya que ASP.NET simplifica un sinfín de tareas. Junto a PHP son las mejores opciones para crear aplicaciones para Internet . Ademas es fácil de aprender y es un buen punto de partida para programdores que despues deseen incursionan con los hermanos mayores Visual Basic.net o C# .
AIML
Lenguaje de Inteligencia artificial que junto a Prolog son los lenguajes más utilizados para programar robots. Estos lenguajes generalmente se ejecutan sobre plataformas programadas sobre otros lenguajes como PHP, Java, .net, Phyton, etc entre otros. AIML es un lenguaje fácil de aprender . La dificultad a la hora de crear un robot o el cerebro del mismo es dotarlo de una base de conocimientos lo más completa posible para que pueda interactuar fluidamente con personas. Esto trasciende la programación tradicional y esta relacionado con el aprendizaje y la sintaxis del idioma que hable el robot.
Lenguajes más solicitados
A continuación veremos algunos datos estadísticos de los lenguajes de programación más solicitados en solicitudes de trabajo en distintos países.
Los 10 lenguajes más interesantes para un programador, según un artículo en eWeek.com relacionado con las ofertas de trabajo en Estados Unidos son :
· Java
· PHP
· C#
· Perl
· JavaScript
· ASP.Net
· C
· AJAX
· Python
· Ruby y R
A continuación una tabla que indica los sueldos medios anuales (aproximados) en España para programadores que utlizan distintos lenguajes.
| Lenguaje de programación |
Sueldo medio (€) |
| java |
21.267 |
| programación c |
20.121 |
| visual basic |
20.121 |
| asp |
20.069 |
| delphi |
20.050 |
| javascript |
19.565 |
| as400 |
19.393 |
| .net |
19.071 |
| php |
18.818 |
| ruby |
18.000 |
| actionscript |
17.586 |
| Promedio |
21.613 |
Más información sobre cursos de programación