Está en la página 1de 6

Qu lenguaje de programacin debera

aprender para empezar?

Esta es probablemente una de las preguntas ms populares entre las personas que
quieren adentrarse en el mundo de la programacin. Puedes preguntar cul es el
mejor lenguaje para empezar a diez programadores, y te darn diez respuestas
diferentes. A continuacin, os ofrecemos algunos consejos y sugerencias para
intentar ayudaros a decidir.
Hay miles de opciones, y el mejor lenguaje de programacin para empezar no solo
depende de lo intuitivo, o no, que sea, tambin depende del tipo de proyectos que
quieras hacer, por qu quieres programar, o si quieres dedicarte a ello
profesionalmente. Ah va una pequea gua.
Por qu quieres aprender a programar?
Es probable que, dependiendo de lo que quieras programar o para qu, la eleccin
ya est tomada aunque t todava no lo sepas. Para programar pginas web, por
ejemplo, deberas aprender HTML, CSS, JavaScript y quizs PHP para la
interactividad. Si tu objetivo es solo desarrollar aplicaciones mviles, lo que
deberas aprender, para empezar, sera Objective-C para iOS o Java para Android.

Si lo que quieres es ir ms all de un proyecto especfico, o quieres aprender varios


lenguajes, lo mejor para empezar es aprender fundamentos de programacin, y
aprender a 'pensar como un programador'. En este sentido hasta las aplicaciones
y mtodos para ensear a programar a los nios pueden serte tiles.
Por poner un ejemplo, el primer curso formal de programacin al que asist ms
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 ms populares.
Los lenguajes de programacin ms recomendados para principiantes

La mayor parte de lenguajes de programacin populares como C, Java, C#, Perl,


Ruby, o Python, sirven para hacer ms o menos las mismas cosas. Java, por
ejemplo, es un sistema multiplataforma utilizado para aplicaciones web y applets.
Ruby tambin 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 estn desarrollados unos
sobre otros hace que muchas veces la sintaxis entre ellos sea idntica o muy
parecida, as que aprender uno de ellos har que te sea ms fcil aprender el
siguiente. Por ejemplo, imprimir la expresin 'Hello World' en Java y C# es similar,
como tambin lo es entre Perl y Python.

Estos lenguajes, sin embargo, se diferencian en lo fcil o difcil que es comenzar a


operar con ellos. Mirando el ejemplo anterior, hay lenguajes que necesitan ms
comillas, otros menos. En general, SOA World recomienda empezar con lenguajes
sintcticamente ms simples, o sea, que tengan menos reglas sintcticas o lgicas.
As podremos ir de menos a ms. A continuacin os ofrecemos un breve resumen
de los lenguajes ms comunes.
C: Te ensea a programar de manera eficiente
C es uno de los lenguajes de programacin ms usados y esta popularidad tiene
sus razones. En palabras del programador Joel Spolsky: "C es el equivalente a
aprender anatoma bsica en medicina"". C es un lenguaje que funciona a nivel
de mquina, as que sirve para entender cmo interacciona un programa con la
capa de hardware.
Con C se aprende a hacer cosas como depurar cdigo, o a gestionar la memoria.
Tambin ofrece una visin panormica de cmo 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 tambin es ms rgido y su curva de aprendizaje no es
muy fcil. Si no tienes pensado trabajar en programas que interactan 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 frustrndote.
Java: Uno de los lenguajes ms tiles de aprender
Java es el segundo lenguaje de programacin ms popular, y es el protagonista del
clebre curso gratuito Introduccin a la programacin de la Universidad de
Stanford. Java es muy til para aprender los principios de la programacin
orientada a objetos que se usa en otros lenguajes modernos como C++, Perl,
Pyython, o PHP. Una vez que has aprendido Java, es ms fcil 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
prctico. Con Java no aprenders control de dispositivo a nivel de hardware como
con C, pero aprenders a acceder y gestionar las partes ms importantes como el
sistema de archivos, los grficos o el sonido.
Python: Fcil y divertido de aprender
Mucha gente recomienda Python para empezar por sus amplias capacidades y su
simplicidad. Su cdigo es fcil de leer y tambin ayuda a desarrollar un estilo de
programacin limpio sin necesidad de ser muy estricto con la sintaxis (cosas como
olvidar un parntesis al final de una lnea). Patrick Jordan, de Ariel Computing,
compara el tiempo que se tarda en escribir una instruccin simple en distintos
lenguajes (Basic, C, J, Java y Python) y concluye que:
Aunque los dems lenguajes no deben ser descuidados, Python lleva menos
tiempo, menos lneas de cdigo, y menos conceptos que aprender para alcanzar un
determinado objetivo. Programar en Python es divertido, y eso genera inters y
confianza en el alumno, lo que siempre es bueno para animarle a continuar con su
formacin en otros lenguajes ms austeros.
En la SOA consideran a Python como un autntico imprescindible para
principiantes, sobre todo para los que ya estn un poco familiarizados con entornos
Linux. Python est, adems, creciendo debido a su uso en sites tan populares como
Pinterest o Instagram.

Javascript: Para dar el salto a la programacin web


A pesar de su nombre, Javascript no tiene mucha relacin con Java. Su puesta en
marcha es relativamente sencilla ya que prcticamente 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 ensear lo ms bsico como las variables
o las funciones. Si quieres programar elementos interactivos para una pgina web,
JavaScript es un imprescindible.
Elegir tu camino
Una ltima consideracin 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 ms necesarios segn a qu parte de la
programacin te quieras dedicar.

Programador de Servidores o Back-end: Python, Rubyy, PHP, Java o


.Net. Conocimientos de bases de datos y posiblemente de administracin de
sistemas.
Programador de clientes o Front-end: HTML, CSS, Javascript.
Posiblemente sean necesarios conocimientos de diseo.
Programador mvil: Objective C o Java (para Android). HTTML / CSS
para sitios web mviles. Posibles conocimientos sobre servidores.
Programador 3D o de videojuegos: C/C++, OpenGL, Animacin. Es
recomendable tener buenas dosis de conocimientos de diseo y artsticos.
Programador de alto rendimiento: C/ C++, Java, conocimientos en
matemticas y anlisis cuantitativo.

Al final, no hay una nica va para iniciarse en el arte de la programacin. Lo ms


importante es aprender los fundamentos, y para ello lo mejor es devanarse los sesos
intentando realizar un proyecto concreto o una aplicacin que queramos construir.
Tener un objetivo concreto ayuda mucho. Como dicen en el blog Programming is
Terrible:
El primer lenguaje de programacin que aprendas ser el ms duro. Elegir un
proyecto pequeo, sencillo y divertido har de este proceso algo menos duro y ms
una pequea aventura. Realmente no importa mucho desde donde empieces
siempre y cuando no lo abandones. Sigue leyendo cdigo, sigue escribiendo
cdigo, no te olvides de probar lo que hace. Una vez te encuentres cmodo en un
lenguaje, avanzar en el siguiente ser ms sencillo y te aportar nuevas habilidades.

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