Esta es probablemente una de las preguntas más populares entre las personas que quieren adentrarse en el mundo de la programación. Puedes preguntar cuál es el mejor lenguaje para empezar a diez programadores, y te darán diez respuestas diferentes. A continuación, os ofrecemos algunos consejos y sugerencias para intentar ayudaros a decidir.

Hay miles de opciones, y el mejor lenguaje de programaci√≥n para empezar no solo depende de lo intuitivo, o no, que sea, tambi√©n depende del tipo de proyectos que quieras hacer, por qu√© quieres programar, o si quieres dedicarte a ello profesionalmente. Ah√≠ va una peque√Īa gu√≠a.

¬ŅPor qu√© quieres aprender a programar?

Es probable que, dependiendo de lo que quieras programar o para qu√©, la elecci√≥n ya est√© tomada aunque t√ļ todav√≠a no lo sepas. Para programar p√°ginas web, por ejemplo, deber√≠as aprender HTML, CSS, JavaScript y quiz√°s PHP para la interactividad. Si tu objetivo es solo desarrollar aplicaciones m√≥viles, lo que deber√≠as aprender, para empezar, ser√≠a Objective-C para iOS o Java para Android.

Advertisement

Si lo que quieres es ir m√°s all√° de un proyecto espec√≠fico, o quieres aprender varios lenguajes, lo mejor para empezar es aprender fundamentos de programaci√≥n, y aprender a 'pensar como un programador'. En este sentido hasta las aplicaciones y m√©todos para ense√Īar a programar a los ni√Īos pueden serte √ļtiles.

Por poner un ejemplo, el primer curso formal de programación al que asistí más allá de Basic fue Harvard CS50. Se puede acceder a este curso de forma gratuita desde proyectos interactivos como Codeacademy. Este principio, sin embargo, nos sigue dejando con la duda de qué lenguaje es el mejor para empezar. Veamos las recomendaciones contrastadas con los lenguajes más populares.

Los lenguajes de programación más recomendados para principiantes

Advertisement

La mayor parte de lenguajes de programación populares como C, Java, C#, Perl, Ruby, o Python, sirven para hacer más o menos las mismas cosas. Java, por ejemplo, es un sistema multiplataforma utilizado para aplicaciones web y applets. Ruby también sirve para hacer grandes aplicaciones web, y las de Python corren igualmente en Linux o Windows.

Como indica SOA World, el hecho de que los lenguajes estén desarrollados unos sobre otros hace que muchas veces la sintaxis entre ellos sea idéntica o muy parecida, así que aprender uno de ellos hará que te sea más fácil aprender el siguiente. Por ejemplo, imprimir la expresión 'Hello World' en Java y C# es similar, como también lo es entre Perl y Python.

Advertisement

Estos lenguajes, sin embargo, se diferencian en lo fácil o difícil que es comenzar a operar con ellos. Mirando el ejemplo anterior, hay lenguajes que necesitan más comillas, otros menos. En general, SOA World recomienda empezar con lenguajes sintácticamente más simples, o sea, que tengan menos reglas sintácticas o lógicas. Así podremos ir de menos a más. A continuación os ofrecemos un breve resumen de los lenguajes más comunes.

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.

Advertisement

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.

Advertisement

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.

Advertisement

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.

Advertisement

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.

Advertisement

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.

Advertisement

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.

Una vez te hayas decidido, la web Bento es un buen punto en el que localizar f√°cilmente nuevos recursos para continuar programando.

Advertisement

Fotos: spaxiax y isak55 / Shutterstock

***

Psst! también puedes seguirnos en Twitter, Facebook o Google+ :)