Buscando...
13 octubre 2008

¿En qué lenguaje programar?

http://www.camyna.com/wp-content/uploads/2007/03/programacion.jpg

1. En que lenguaje programar


Muchos usuarios nos preguntan en que lenguaje de programación conviene programar o cual es el lenguaje 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 móviles. 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 interactúa con el usuario y una aplicación móvil se ejecuta sobre cualquier teléfono 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 líder 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 mayoría de los servidores de Internet . Linux se comporta igual o mejor que Windows como servidor web y además 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 categoría pasando a ejecutarse en red. Por ejemplo sistemas de pagos descentralizados que funcionan a través de red pueden programarse en su totalidad en Java o lenguajes similares pensados para la red.

Y además hay aplicaciones de escritorio que comienzan a funcionar exclusivamente a través de Internet : agendas, programas de traducción , búsqueda en mapas, planillas de cálculo, 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. Además 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 lenguajes que permitan crear aplicaciones para Internet.

Además los lenguajes para Internet son en general versiones mas “reducidas” de otros lenguajes y por tal motivo más fáciles de aprender . Por ejemplo ASP.NET es una versión “reducida” de Visual Basic.net , Java es una reducción del lenguaje C , PHP es un lenguaje pensado para aplicaciones de Internet, etc.

Ha surgido una nueva plataforma que esta requiriendo 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 tecnológica (un aparato que cumpla el mayor número 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 teléfono 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 utilizar 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 fácilmente sobre los servidores Linux que son la enorme mayoría de los servidores de Internet. Aprender PHP es básico a la hora de desarrollar aplicaciones Web. Es un lenguaje relativamente 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 recién 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 multipropósito que se puede ejecutar sobre cualquier plataforma y está especialmente orientado a aplicaciones que trabajen sobre redes de cualquier tipo. Es uno de los lenguajes más completos y más 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 lenguajes 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 habrá aplicaciones que lo utilicen. Tiene una curva de aprendizaje media.

C
Es un lenguaje de multipropósito 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 estarás aprendiendo conceptos básicos de lenguajes cómo Java o C#, y además 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 . Además es fácil de aprender y es un buen punto de partida para programadores que después 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, Python, 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.

PYTHON
Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty Python”. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un código legible.

Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos.

Python es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y sencilla; el tipado dinámico, el gestor de memoria, la gran cantidad de librerías disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicación en Python sea sencillo, muy rápido y, lo que es más importante, divertido.

La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas elaborados en Python parecen pseudocódigo. Por este motivo se trata además de uno de los mejores lenguajes para comenzar a programar.

Python no es adecuado sin embargo para la programación de bajo nivel o para aplicaciones en las que el rendimiento sea crítico.

Algunos casos de éxito en el uso de Python son Google, Yahoo, la NASA, Industrias Light & Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto por ciento mayor de los programas disponibles. (Python para todos, Raúl González Duke, Págs. 6-7.)

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

1 comentarios:

Conectora dijo...

Hola Lenin.

Gracias por tu aportación y esperamos que te mantengas participando en nuestro blog.

 
Back to top!