¿Qué lenguaje de programación debería aprender para empezar? – parte 2

Continuemos con un breve resumen de cada lenguaje para que puedas tomar una decisión...

 

C: Te enseña a programar de manera eficiente

C es uno de los lenguajes de programación más usados y esta popularidad tiene sus razones. En palabras del programador Joel Spolsky: "C es el equivalente a aprender anatomía básica en medicina"". C es un lenguaje que funciona a nivel de máquina, así que sirve para entender cómo interacciona un programa con la capa de hardware.

Con C se aprende a hacer cosas como depurar código, o a gestionar la memoria. También ofrece una visión panorámica de cómo funciona un ordenador que no ofrecen otros lenguajes. En ese sentido C es el 'abuelo' de otros lenguajes de alto nivel como Java, C# o JavaScript.

Dicho esto, programar en C también es más rígido y su curva de aprendizaje no es muy fácil. Si no tienes pensado trabajar en programas que interactúan con la capa de hardware (utilizando, por ejemplo, unidades de disco, o extensiones del sistema operativo) C quizá prolongue de manera innecesaria tu tiempo de aprendizaje.

Personalmente, me alegra haber aprendido algo de C, pero no creo que sea un lenguaje especialmente amistoso con el principiante. Ayuda a convertirte en un programador minucioso y disciplinado, pero su rigidez y el largo tiempo que pasará antes de que puedas crear algo realmente útil puede acabar frustrándote.

Java: Uno de los lenguajes más útiles de aprender

Java es el segundo lenguaje de programación más popular, y es el protagonista del célebre curso gratuito Introducción a la programación de la Universidad de Stanford. Java es muy útil para aprender los principios de la programación orientada a objetos que se usa en otros lenguajes modernos como C++, Perl, Pyython, o PHP. Una vez que has aprendido Java, es más fácil aprender estos otros lenguajes.

Java tiene la ventaja de que es un lenguaje muy maduro y con una larga trayectoria. Hay infinidad de plantillas y tutoriales, y se usa en una gran cantidad de entornos, incluido el desarrollo de aplicaciones en Android, así que es un lenguaje muy práctico. Con Java no aprenderás control de dispositivo a nivel de hardware como con C, pero aprenderás a acceder y gestionar las partes más importantes como el sistema de archivos, los gráficos o el sonido.

Python: Fácil y divertido de aprender

Mucha gente recomienda Python para empezar por sus amplias capacidades y su simplicidad. Su código es fácil de leer y también ayuda a desarrollar un estilo de programación limpio sin necesidad de ser muy estricto con la sintaxis (cosas como olvidar un paréntesis al final de una línea). Patrick Jordan, de Ariel Computing, compara el tiempo que se tarda en escribir una instrucción simple en distintos lenguajes (Basic, C, J, Java y Python) y concluye que:

Aunque los demás lenguajes no deben ser descuidados, Python lleva menos tiempo, menos líneas de código, y menos conceptos que aprender para alcanzar un determinado objetivo. Programar en Python es divertido, y eso genera interés y confianza en el alumno, lo que siempre es bueno para animarle a continuar con su formación en otros lenguajes más austeros.

En la SOA consideran a Python como un auténtico imprescindible para principiantes, sobre todo para los que ya estén un poco familiarizados con entornos Linux. Python está, además, creciendo debido a su uso en sites tan populares como Pinterest o Instagram.

Javascript: Para dar el salto a la programación web

A pesar de su nombre, Javascript no tiene mucha relación con Java. Su puesta en marcha es relativamente sencilla ya que prácticamente está integrado ya en todos los navegadores. O'Reilly Media recomienda empezar con JavaScript porque es bastante flexible en sintaxis, puedes ver inmediatamente los resultados de lo que has hecho, y no es necesario aprender muchas herramientas. En su propia escuela nocturna O'Really utiliza JavaScript para enseñar lo más básico como las variables o las funciones. Si quieres programar elementos interactivos para una página web, JavaScript es un imprescindible.

Elegir tu camino...

Una última consideración es tener en cuenta si quieres programar solo por Hobby, o vas a convertir esa actividad en algo profesional. En Dev/Code/Hack han separado los lenguajes y conocimientos más necesarios según a qué parte de la programación te quieras dedicar.

Programador de Servidores o Back-end: Python, Rubyy, PHP, Java o .Net. Conocimientos de bases de datos y posiblemente de administración de sistemas.

Programador de clientes o Front-end: HTML, CSS, Javascript. Posiblemente sean necesarios conocimientos de diseño.

Programador móvil: Objective C o Java (para Android). HTTML / CSS para sitios web móviles. Posibles conocimientos sobre servidores.

Programador 3D o de videojuegos: C/C++, OpenGL, Animación. Es recomendable tener buenas dosis de conocimientos de diseño y artísticos.

Programador de alto rendimiento: C/ C++, Java, conocimientos en matemáticas y análisis cuantitativo.

Al final, no hay una única vía para iniciarse en el arte de la programación. Lo más importante es aprender los fundamentos, y para ello lo mejor es devanarse los sesos intentando realizar un proyecto concreto o una aplicación que queramos construir. Tener un objetivo concreto ayuda mucho. Como dicen en el blog Programming is Terrible:

El primer lenguaje de programación que aprendas será el más duro. Elegir un proyecto pequeño, sencillo y divertido hará de este proceso algo menos duro y más una pequeña aventura. Realmente no importa mucho desde donde empieces siempre y cuando no lo abandones. Sigue leyendo código, sigue escribiendo código, no te olvides de probar lo que hace. Una vez te encuentres cómodo en un lenguaje, avanzar en el siguiente será más sencillo y te aportará nuevas habilidades.

Share this...
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *