Aprendiendo a programar II – Y el lenguaje elegido es…

Llevo años queriendo aprender a programar, pero nunca me he puesto a ello. En esta serie, voy a contarte mis peripecias como programador novel. En este segundo episodio te cuento qué lenguaje he elegido.

En el anterior artículo te conté qué buscaba en mi primer lenguaje de programación y cuáles eran las cinco alternativas que había barajado. Al cabo de unos días tomé una decisión y me preparé para el aprendizaje.

Lo que estaba buscando

En el primer artículo dejé claro qué buscaba: un lenguaje popular, bien documentado, que se pudiera usar para todo, con una sintaxis atractiva y flexible. Sobre todo, quería que fuese un lenguaje con el pudiese probar cosas desde el principio.

Os lo recuerdo: no aspiro a reemplazar a un ingeniero ni tampoco a programar el próximo juego 3D. Mi objetivo es mucho más modesto: aprender las bases de la programación. Todos pueden hacerlo.

Ruby, Python, Java, JavaScript y Perl cumplían mis requisitos. Todos tenían posibilidades similares de que yo los eligiera para dar mis primeros pasos como aprendiz de programador.  Pero el tiempo apremiaba. Tenía que escoger.

El difícil momento de elegir

Elegir es un acto difícil, y a veces cruel. Tenía ante mí cinco magníficos lenguajes de programación. Excluir a cualquiera de ellos era cerrar un mundo de posibilidades e intercambios de opiniones, al menos por una temporada.

Pero elegir también es enfocarse. Al elegir un solo lenguaje e intentar aprenderlo bien, uno evita confusiones. Es cierto que un buen programador acaba por aprender más de un lenguaje –es muy sano-, pero hay que empezar por uno.

Al final opté por JavaScript. Al saberlo, algunos de mis amigos programadores torcieron el gesto. Otros se quedaron perplejos. Y unos cuantos aplaudieron la decisión. JavaScript, al parecer, no deja a nadie indiferente. Es una buena señal.

¡JavaScript! ¿Por qué no?

Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que no usa nadie.

Bjarne Stroustrup, creador del lenguaje C++

Todos parecen tener una opinión sobre JavaScript. Creo que la mejor forma de explicar por qué he elegido JavaScript es diciéndote qué mitos se esgrimen en su contra… y desmontarlos.

Mito 1: “Es una versión reducida de Java”

Al contener la palabra “Java” en el nombre, muchos piensan que JavaScript es un pariente de Java. Yo también lo pensaba, hasta que leí que no tienen apenas relación.

Los expertos afirman que JavaScript se parece más a C con elementos de Self y Scheme. En palabras del experto Douglas Crockford, JavaScript “tiene tanto de Java como Java tiene de C”.

¿Por qué JavaScript tiene Java en el nombre? Por cuestiones de marketing. JavaScript fue creado por Netscape, quien, para afianzarlo en el mercado, no tuvo mejor idea que asociarlo con un lenguaje tan cool (por aquel entonces) como Java.

Mito 2: “No es un lenguaje serio”

JavaScript es un lenguaje maravilloso, elegante y altamente expresivo que ha sido enterrado bajo un montón de buenas intenciones y errores.

Douglas Crockford, autor de JavaScript, The Good Parts

JavaScript tiene un pasado complicado. Todavía se asocia a efectillos especiales de los que se veían al principio de Internet, una época en que el lenguaje tenía graves carencias. Y la reputación, ya se sabe, es algo difícil de cambiar.

Hace años, JavaScript se asociaba con este tipo de menús dinámicos de la Era DHTML

Por suerte, JavaScript es un lenguaje que ha evolucionado muchísimo. El estándar por el que se rige, ECMAScript, describe a un lenguaje que poco tiene que envidiarles a otros.

Mito 3: “Solo está en navegadores”

Hoy en día JavaScript es un lenguaje que se usa para casi todo: creación de juegos 3D, aplicaciones móviles y de escritorio y complejas aplicaciones web. Las aplicaciones de Windows 8 se pueden crear con HTML5 y JavaScript.

Así pues, la afirmación de que JavaScript está limitado a los navegadores web no se sostiene. Y lo que es más: aunque fuese cierta, no dañaría en algún modo la validez de JavaScript como lenguaje de programación de propósito general.

Las apps de Firefox OS están hechas en HTML y JavaScript

¿Por qué? Porque pasamos más tiempo en el navegador que en cualquier otra aplicación. El navegador es el nuevo sistema operativo, y JavaScript es su lenguaje estrella, el “nuevo C” de la programación.

Mito 4: “Es terriblemente lento”

Un lenguaje interpretado es más lento que uno compilado. Y JavaScript, entre los lenguajes interpretados, era de los más lentos. Pero la culpa no era suya, sino de los navegadores por un lado, y de los programadores por el otro.

En una comparativa reciente, JavaScript se posicionaba como un lenguaje de velocidad media: en Google Chrome, con su increíble motor JavaScript V8, el código JS se ejecutó tan rápido como el código C++.

En esta prueba de velocidad, JavaScript sacó muy buen resultado (fuente)

La obsesión por el rendimiento en la comunidad de programadores JavaScript es tal que el código de aplicaciones complejas es optimizado hasta el límite. Usando las técnicas adecuadas, JavaScript es un lenguaje muy rápido.

¿Qué hace falta para empezar con JS?

Tras elegir qué lenguaje iba a aprender, recopilé los mejores recursos de aprendizaje y preparé mi PC para escribir los primeros programas y ejecutarlos.

Estos son los recursos que elegí. La mayoría de ellos son gratuitos, y algunos de ellos probablemente ya estén en tu ordenador.

Un navegador: Google Chrome

Una de las ventajas de JavaScript es que ya está en tu navegador. No hace falta instalar un compilador, un intérprete o herramientas adicionales. Si tienes un navegador, puedes ejecutar código JavaScript desde el primer instante.

Mi navegador actual es Google Chrome, así que lo elegí como plataforma para probar mis programas. Su motor JavaScript, V8, es de los más rápidos en circulación. Pero otros navegadores también me hubieran servido.

Otro punto positivo de Chrome son sus herramientas para desarrolladores. Cuando pulsas F12, se abre un panel con una colección de utilidades de primer orden. La fundamental para aprender JavaScript es la consola.

En la consola de Chrome puedes introducir código JavaScript y ejecutarlo en el acto

Un editor de texto: Sublime Text

Podrías escribir tu código en el bloc de notas, pero hay cosas que un editor de código hace mejor. El ejemplo perfecto lo tienes con Sublime Text, un editor de código que me ha conquistado por su sencillez y potencia.

Entre otras cosas, Sublime Text…

  • Colorea el código para que sea más legible
  • Indica número de línea y columna
  • Tiene selección múltiple de texto
  • Usa un panel lateral para navegar visualmente
  • Cuenta con un modo “libre de distracciones”
  • Se puede personalizar al máximo

Hay muchos más editores de código allá afuera. Si te gusta Notepad++, es otra opción excelente, sobre todo por su doble vertiente de bloc de notas y editor de código.

Un curso online: Codecademy

Lo confieso: uno de los motivos que me ayudaron a decantarme por JavaScript fue la cantidad de cursos gratuitos en Internet. El más impresionante de todos es el Curso de JavaScript de Codecademy, que es gratuito.

Codecademy se compone de instrucciones (izquierda), editor de código y simulador

El curso es interactivo y la progresión es muy suave. El único inconveniente, por ahora, es que el curso está en inglés, pero este no debería ser un obstáculo para ti: los textos son simples y se pueden traducir automáticamente.

Como curso cero, Getting Stated with Programming es muy recomendable.

Libros en formato electrónico

Cuando se aprende un lenguaje de programación siempre viene bien abastecerse de libros de consulta. Leer es una buena forma de complementar la práctica y de darle cimientos a lo que aprendes.

Tras buscar y comprar, al final cargué los siguientes títulos en mi Kindle:

Al mismo tiempo, cargué dos clásicos, The C Language (Kernighan y Ritchie) y Thinking in Java (Eckel). ¿Por qué? Porque la sintaxis de JS toma mucho de C y Java y porque ver cómo otros lenguajes hacen las cosas sirve para darle más vigor a lo aprendido.

Todo un clásico de la informática. Recomendado aprendas el lenguaje que aprendas

Te preguntarás si hace falta aprender más matemáticas. La verdad es que no: para la mayoría de programas, basta con saber aritmética (sumar, restar, multiplicar, dividir), algo de lógica y saber qué es un plano cartesiano.

A menos que quieras programar juegos 3D o simuladores de física, claro está.

¡Todo listo para empezar!

Tenía un curso y tenía los libros. Ya solo faltaba ponerme a leer y escribir mis primeras líneas de código. Por ahora te puedo asegurar que está resultando ser una experiencia fascinante y retadora.

En el próximo capítulo, daremos juntos los primeros pasos con el lenguaje y veremos cuáles son los elementos básicos de un programa hecho en JavaScript. Confío que con un poco de esfuerzo ya podrás escribir tu primer programa.

¿Estás listo para seguir? ¡Haz clic aquí!

Sígueme en Twitter: @remoquete

Cargando comentarios