Java, Ruby y Go, ¡Dios mío!

Free Code Camp se ha centrado al 100% en JavaScript de pila completa desde que comenzamos hace 17 meses. Hemos enseñado JavaScript en el front-end, JavaScript en el back-end (gracias al poderoso marco Node.js) e incluso JavaScript como lenguaje de consulta de bases de datos.

Y desde el principio, nuestra comunidad de código abierto ha recibido varias solicitudes cada día pidiéndonos que enseñemos también otros lenguajes de back-end populares.

Bueno, hoy me complace anunciar que prestaremos atención a esas miles de solicitudes. Free Code Camp ahora enseñará una amplia variedad de lenguajes de desarrollo web.

A partir de hoy, estamos creando una colección masiva de tutoriales con licencia Creative Commons sobre lenguajes populares como Python, Java, Ruby y PHP, junto con lenguajes emergentes como Elixir y Go.

Y ahora puede completar nuestra Certificación de desarrollo back-end, y crear sus diez proyectos de API y aplicaciones web dinámicas, utilizando los lenguajes y marcos que desee.

¿Cuál de estos idiomas debería aprender primero?

La respuesta es la misma que antes: JavaScript .

Como prácticamente cualquier profesor le diría, debe aprender un idioma a fondo antes de intentar aprender un segundo idioma. Y JavaScript es, con mucho, el lenguaje más popular y prometedor en este momento. JavaScript también es una opción popular para un primer lenguaje de programación y tiene una amplia variedad de recursos de aprendizaje gratuitos (incluido el propio Free Code Camp).

Independientemente del marco de desarrollo web que utilice, deberá dominar JavaScript. Esto se debe a que JavaScript tiene la distinción de no solo poseer un casi monopolio en el desarrollo web front-end, sino también ser bastante competente en el back-end, gracias a herramientas como Node.js y Express.js.

Entonces, si recién está comenzando como desarrollador web, nuestro consejo sigue siendo el mismo: concéntrese el 100% de su tiempo en dominar JavaScript .

Si los nuevos desarrolladores deberían centrarse en JavaScript de pila completa, ¿por qué Free Code Camp enseñará lenguajes de back-end adicionales?

Aproximadamente dos tercios de nuestros campistas son nuevos en el desarrollo web. Algunos de ellos no tienen experiencia previa en programación. Otros se unen a Free Code Camp con experiencia en diseño web, administración de sistemas y otros campos relacionados. Estos dos tercios de los campistas son las personas para quienes diseñamos específicamente nuestro plan de estudios de código abierto.

Pero otro tercio de nuestra comunidad ya ha realizado algún desarrollo web, a menudo con lenguajes como PHP o Ruby. Y se están uniendo a Free Code Camp para revisar, o desarrollar, las habilidades existentes.

Y, como probablemente haya escuchado, cientos de nuestros campistas han obtenido trabajos de desarrollo de software después de unirse a nuestra comunidad de código abierto. Algunos de estos trabajos no eran específicamente trabajos de JavaScript de pila completa, sino trabajos de desarrollador web de pila completa que utilizan marcos de desarrollo web alternativos, como Python Django o Ruby on Rails. Después de aceptar estos trabajos, estos campistas pudieron aprovechar su conocimiento de Node.js y Express.js para usar estas otras herramientas. Pero muchos de estos campistas informaron que tenían que pagar costosos recursos de aprendizaje en el proceso.

Este tercio de nuestra comunidad, desarrolladores web experimentados y campistas que acaban de ser contratados, han expresado su deseo de que cubramos lenguajes y marcos de trabajo adicionales. Y su voz ha sido escuchada.

Nuestra comunidad de código abierto ahora es lo suficientemente grande, y ahora somos lo suficientemente diversos en nuestra experiencia en desarrollo web, que podemos crear recursos gratuitos extensos sobre una amplia gama de temas de desarrollo web.

Entonces eso es lo que vamos a hacer.

¿Cómo se incorporarán estos idiomas en Free Code Camp?

Uno de los puntos fuertes de Free Code Camp siempre ha sido que ofrecemos un camino claro e inequívoco hacia su primer trabajo de ingeniería de software.

En lugar de complicar nuestro mapa de desafíos con asignaturas optativas, hemos optado por mantener nuestro plan de estudios básico 100% centrado en JavaScript de pila completa.

En cambio, los campistas están construyendo este contenido en el "Universo expandido" de Free Code Camp.

  • Estamos creando una variedad de tutoriales y artículos sobre estos lenguajes, desde cómo configurar un entorno de desarrollo en diferentes sistemas operativos, hasta cómo crear aplicaciones de ejemplo utilizando bibliotecas populares. Y estos pueden estar escritos en Markdown e interconectados entre sí, directamente en nuestra wiki.
  • Damos la bienvenida a los campistas a la transmisión en vivo del desarrollo web en cualquier idioma que deseen en nuestro canal Twitch.tv (que pronto estará disponible las 24 horas).
  • Invitamos a los campistas a contribuir con artículos a nuestra publicación mediana sobre estos idiomas. Aquí hay uno que publicamos ayer sobre las similitudes entre Java y Go.
  • Estamos creando videos que analizan varios conceptos específicos de otros lenguajes, como Rails Asset Pipeline y Java Virtual Machine. Incorporaremos estos videos en artículos wiki y los publicaremos en nuestro canal de YouTube.

Arijit Layek está creando activamente tutoriales para Python y Java, y coordinando los esfuerzos de otros campistas que quieren contribuir con tutoriales en estos y otros lenguajes.

Si es un desarrollador web con experiencia en uno o más de estos idiomas, debe unirse a estas salas de chat relevantes y presentarse. Arijit y los otros campistas allí pueden ayudarlo a pensar en ideas para tutoriales y responder cualquier otra pregunta que pueda tener.

Nuestro objetivo es construir el recurso de desarrollo web más inclusivo del planeta. Para nosotros, eso significa un plan de estudios básico riguroso, volúmenes de contenido complementario y, lo que es más importante, una comunidad vibrante y solidaria.

Solo escribo sobre programación y tecnología. Si me sigues en Twitter no perderé tu tiempo. ?