JavaScript para principiantes

En mi último post analizaba la decisión de la Khan Academy de enseñar JavaScript como primer lenguaje de programación en su plataforma de aprendizaje online. Se trata de una elección discutible pero también innovadora, ya que tradicionalmente la iniciación a la programación se ha realizado a través de lenguajes procedimentales como Pascal o C, que a diferencia de JavaScript son lenguajes compilados y no orientados a objetos.
Me comprometía también en ese artículo a compartir algunos recursos que se encuentran en la red para aprender JavaScript de forma autónoma, así que he realizado una valoración de los que considero más relevantes:

Este último mes ya os hemos hablado en wwwhatsnew de Codecademy. Se trata de un proyecto de reciente creación que tiene como objetivo enseñar a programar (desde cero) de forma interactiva. Cuenta para ello con una consola y un editor de código integrados en la propia interfaz web. De momento sólo existe la posibilidad de aprender JavaScript, pero su intención es ampliar la oferta a otros lenguajes de programación como Ruby y Python. Proponen una aprendizaje por etapas en el que hay que finalizar todas las lecciones de un curso para poder comenzar el siguiente. Por ahora está disponible una sección para principiantes que consta de 3 cursos: Getting Started with Programming, Functions in JavaScript y JavaScript Quick Start Guide. Como puede deducirse de los títulos, el material está disponible sólo en inglés. Aunque la interfaz todavía algún que otro error (es lógico tratándose de un proyecto poco rodado), la idea es buena y recomiendo su uso para aquellos que no tengan experiencia previa en programación. El mayor inconveniente que le encuentro es que está exclusivamente orientado a la práctica a través de ejercicios, pero no contiene ninguna guía o manual de referencia que pueda servir para consultar dudas o repasar lo aprendido. En otras palabras, puede ser muy útil como complemento al aprendizaje de JavaScript, pero es conveniente disponer de otro recurso como base para el mismo.

Otra iniciativa similar dentro de Codecademy es Code Year, que nos propone aprender a programar a través de lecciones semanales que irán enviando por e-mail a sus suscriptores. Se trata de un servicio gratuito y gente de la talla de Tim O’Reilly ha mostrado su interés en el proyecto, por lo que habrá que seguirlo de cerca. De momento todavía no han enviado ninguna lección, por lo que no os podemos dar más detalles.

La siguiente opción, w3schools.com, es una referencia obligada para todos aquellos que quieran iniciarse en el desarrollo de tecnologías web. Además de JavaScript y JQuery, este portal web pone a nuestra disposición tutoriales  (en inglés) de estándares como XHTML/HTML5, CSS(1, 2, 3), XML, SQL e incluso lenguajes de programación del lado del servidor como PHP o ASP. No sólo el material que ofrece en los tutoriales es de gran calidad (ejercicios, cuestionarios de autoevaluación, etc.) sino que además dispone de referencias completas y actualizadas de todas los estándares mencionados. Si no conociáis w3schools, ya estáis tardando en añadirla a favoritos. En una palabra: imprescindible.

Otro recurso que considero de un valor didáctico inestimable es la web de librosweb.es, con la ventaja añadida de que todo el material está disponible en español. En este caso el libro que nos interesa es Introducción a JavaScript, de Javier Eguiluz Pérez, pero también podemos encontrar otros del mismo autor sobre XHMTL, CSS, AJAX o Symfony, uno de los frameworks para PHP más extendidos. Todos los libros cuentan con gran cantidad de ejercicios prácticos y se pueden descargar también en formato PDF.

No hay que olvidar que el código de JavaScript se interpreta directamente en el navegador (a diferencia de los lenguajes del lado del servidor como PHP), por lo que siempre vamos a tener acceso a su código fuente. Esta característica de JavaScript es muy importante, ya que nos va a permitir copiar o adaptar scripts de otras páginas web para incorporarlos a nuestros diseños. Os resultaría sorprendente la cantidad de efectos y trucos que podemos reutilizar sin necesidad de ser unos expertos en JavaScript o JQuery (biblioteca de funciones de JavaScript). Buscando en la red encontraremos multitud de colecciones con ejemplos de JavaScript listos para ser aplicados, desde los más sencillos a otros más avanzados.

Rodrigo González