¿Qué lenguaje de programación debes aprender primero? ?d???s????: ???su?

El camino de la mayoría de las personas para aprender a programar comienza con una única búsqueda en Google a altas horas de la madrugada.

Por lo general, es algo así como "Aprende ______"

¿Pero cómo deciden qué idioma buscar?

"Siempre bromean sobre Java en Silicon Valley. Creo que debería aprender eso ".

O:

"Haskell. Tan caliente en este momento. Haskell ".

O:

"That Go gopher es tan adorable".

Y luego está el resto de nosotros. Probablemente buscaremos algo como:

"¿Qué lenguaje de programación debo aprender primero?"

Pocas preguntas son tan frecuentes que reciben el tratamiento de infografía completo. Pero este es uno de ellos:

Credito de imagen

Decidir sobre su primer lenguaje de programación puede ser un proceso divertido, como uno de esos cuestionarios de personalidad "¿Qué personaje de Quentin Tarantino es usted?".

Pero antes de salir corriendo a aprender Ruby porque disfrutaste jugando con Play-Doh cuando eras niño, déjame recordarte: aquí está mucho en juego.

Le tomará cientos de horas de práctica llegar a ser remotamente competente con su primer lenguaje de programación.

Por lo tanto, debes considerar los siguientes factores:

  • el mercado de trabajo para el idioma
  • las perspectivas a largo plazo para el lenguaje
  • qué fácil es el idioma para aprender
  • qué proyectos puedes desarrollar mientras aprendes (y compartir con amigos para que puedas mantenerte motivado)

Cada año trae nuevos lenguajes de programación, y con ellos, nuevos documentos académicos. Y nuevos cómics web.

Seriamente. Mira esta joya del mes pasado:

Cuando se trata de elegir un primer lenguaje de programación, no hay escasez de opciones. Para reducirlo un poco, aquí están las búsquedas de Google más comunes relacionadas con la programación de aprendizaje, en los últimos 12 años:

Java ha tenido sus altibajos.

Python se ha convertido gradualmente en la opción más popular.

Pero escondido debajo de estos está el pequeño motor que podría, lentamente choo-choo en popularidad en los últimos años. Y ese motor es JavaScript.

Antes de hablar sobre estos lenguajes de programación, permítanme aclarar:

  • No estoy argumentando que un idioma sea objetivamente mejor que cualquier otro
  • Estoy de acuerdo en que los desarrolladores eventualmente deben aprender más de un idioma
  • Estoy argumentando que primero deberían aprender un idioma bien. Y, como probablemente pueda adivinar por el texto boca abajo en mi título, ese lenguaje debería ser JavaScript.

Comencemos explorando cómo se enseña actualmente la programación en la escuela.

Informática 101

Tradicionalmente, las universidades han enseñado programación bajo el paraguas de la informática, que a menudo se considera una extensión de las matemáticas o vinculada a un título de ingeniería eléctrica.

Por supuesto, como ya habrás oído:

"La enseñanza de las ciencias de la computación no puede convertir a nadie en un programador experto, del mismo modo que estudiar los pinceles y los pigmentos puede hacer que alguien sea un pintor experto". – Eric S. Raymond

A partir de 2016, muchas universidades todavía tratan la programación como lo es la informática y la informática como las matemáticas.

Como resultado, muchos cursos introductorios de programación se enfocan en lenguajes de bajo nivel de abstracción como C, o lenguajes matemáticamente enfocados como MATLAB.

Y los jefes de departamento generalmente mantienen el rumbo, señalando tablas de clasificación de lenguaje de programación anual como el Índice TIOBE , o este del IEEE :

La mayoría de estas tablas de clasificación son prácticamente idénticas a cómo eran hace 10 años.

Pero el cambio sucede Incluso en el mundo académico.

En 2014, Python superó a Java como el lenguaje de instrucción más popular en los principales programas de informática de los EE. UU.

Y otro cambio está destinado a … eventualmente … suceder.

Porque si nos fijamos en los idiomas realmente utilizados por la fuerza de trabajo, pinta una imagen muy diferente:

JavaScript es, de lejos, el lenguaje más popular utilizado por los 49.397 desarrolladores que respondieron a la Encuesta 2016 de Stack Overflow.

Más de la mitad de todos los desarrolladores usan JavaScript. Es vital para el desarrollo web front-end y cada vez más relevante para el desarrollo de back-end. Y se está expandiendo rápidamente en áreas como el desarrollo de juegos y el Internet de las cosas.

Las publicaciones de trabajo también mencionan JavaScript más que cualquier otro lenguaje de programación que no sea Java:

Datos del agregador de publicaciones de empleo más grande del mundo, Indeed.com

No es accidental que construyamos el plan de estudios de nuestra comunidad de código abierto en JavaScript. En los últimos dos años, más de 5,000 personas han usado Free Code Camp para obtener su primer trabajo de desarrollador.

No defiendo JavaScript porque lo enseño. Enseño JavaScript porque es el camino más seguro para un primer trabajo de desarrollador.

¿Pero es el JavaScript adecuado para usted? ¿Es digno de ser tu primer lenguaje de programación? Exploremos esos factores que mencioné anteriormente.

Factor n. ° 1: El mercado de trabajo

Si está aprendiendo a programar solo por curiosidad intelectual, siéntase libre de omitir este factor. Pero si usted, como la gran mayoría de las personas que aprenden a programar , desea usar esta habilidad para conseguir un trabajo, esta es una consideración importante.

Como mencioné anteriormente, Java se menciona en más ofertas de trabajo que cualquier otro lenguaje de programación. JavaScript está en segundo lugar.

Pero esto es lo que sucede con JavaScript: aunque ha existido durante 20 años, recientemente se convirtió en una herramienta seria que compañías como Netflix, Walmart y PayPal crearían aplicaciones completas.

Como resultado, muchas empresas están contratando desarrolladores de JavaScript, pero simplemente no hay tantos en el mercado laboral.

Datos de Indeed.com

Hay 2.7 desarrolladores de Java compitiendo por cada posición abierta de Java. La competencia para los trabajos de PHP e iOS es similarmente feroz.

Pero por cada posición de JavaScript abierta, solo hay 0.6 desarrolladores de JavaScript. Es en gran medida un mercado de vendedores para desarrolladores con habilidades de JavaScript.

Factor n. ° 2: perspectivas a largo plazo

El proyecto promedio de JavaScript recibe el doble de solicitudes de extracción que el proyecto promedio de Java, Python o Ruby. Y además de eso, JavaScript está creciendo más rápido que cualquier otro lenguaje popular.

Fuente: The GitHub's 2016 State of the Octoverse

El ecosistema de JavaScript también se beneficia de una fuerte inversión de dinero y talento de ingeniería de compañías como Google, Microsoft, Facebook y Netflix.

Por ejemplo, TypeScript (un superconjunto de JavaScript estáticamente tipado) tiene más de 100 contribuidores de código abierto, muchos de los cuales son empleados de Microsoft y Google a los que se les paga para que trabajen en él.

Este tipo de cooperación entre empresas es más difícil de encontrar con Java. Oracle, que efectivamente posee Java a través de su adquisición de Sun Microsystems, a menudo demanda a las compañías que intentan expandirse.

Factor n. ° 3: dificultad para aprender

Esta es una parodia de un comic de XKCD .

La mayoría de los programadores estarían de acuerdo en que los lenguajes de scripting de alto nivel son relativamente fáciles de aprender. JavaScript entra en esta categoría, junto con Python y Ruby.

Aunque las universidades todavía enseñan idiomas como Java y C ++ como primeros idiomas, son mucho más difíciles de aprender.

Factor # 4: Proyectos que puedes construir con él

Aquí es donde realmente brilla el JavaScript. JavaScript se ejecuta en cualquier dispositivo que tenga un navegador, allí mismo, en el navegador. Puedes construir básicamente cualquier cosa con JavaScript y compartirla en cualquier lugar.

Debido a la ubicuidad de JavaScript, el cofundador de Stack Overflow Jeff Atwood acuñó su ahora famosa ley:

“Cualquier aplicación que puede ser escrito en JavaScript, con el tiempo será escrito en JavaScript.”

Y con cada mes que pasa , la Ley de Atwood se mantiene fuerte.

Java una vez prometió correr en todas partes, también. Puede recordar los Applets de Java . Oracle oficialmente los mató a principios de este año.

Python sufre de los mismos problemas:

"¿Cómo puedo dar este juego que le hice a mi amigo? Mejor aún, ¿hay alguna manera de poner esto en mi teléfono para que pueda mostrarlo a los niños en la escuela sin que tengan que instalarlo? Um. "- James Hague en Retiring Python como Lenguaje de Enseñanza

Por el contrario, aquí hay algunas aplicaciones que los miembros de nuestra comunidad de código abierto crearon en sus navegadores en CodePen. Puede hacer clic y utilizar estos directamente en su navegador:

Estilo de los años 70 Juego de Simon Juego de la vida de Conway Búsqueda de Wikipedia con tema de las Guerras de las Galaxias Juego de rastreo de un calabozo roguelike

Aprende un idioma bien Luego aprende una segunda.

Si sigues saltando de un idioma a otro, no llegarás lejos .

Para ir más allá de lo básico, debes aprender bien tu primer idioma. Entonces su segundo idioma será mucho, mucho más fácil.

A partir de ahí, puede diversificarse y convertirse en un desarrollador más completo aprendiendo muchos idiomas:

  • C es una excelente forma de aprender cómo funcionan las computadoras en términos de administración de la memoria, y es útil en la informática de alto rendimiento
  • C ++ es ideal para el desarrollo de juegos.
  • Python es increíble para la ciencia y las estadísticas.
  • Java es importante si quieres trabajar en grandes compañías de tecnología.

Pero aprenda JavaScript primero.

¿Qué lenguaje de programación debes aprender primero? ?d???s????: ???su?

El camino de la mayoría de las personas para aprender a programar comienza con una única búsqueda en Google a altas horas de la madrugada.

Por lo general, es algo así como "Aprende ______"

¿Pero cómo deciden qué idioma buscar?

"Siempre bromean sobre Java en Silicon Valley. Creo que debería aprender eso ".

O:

"Haskell. Tan caliente en este momento. Haskell ".

O:

"That Go gopher es tan adorable".

Y luego está el resto de nosotros. Probablemente buscaremos algo como:

"¿Qué lenguaje de programación debo aprender primero?"

Pocas preguntas son tan frecuentes que reciben el tratamiento de infografía completo. Pero este es uno de ellos:

Credito de imagen

Decidir sobre su primer lenguaje de programación puede ser un proceso divertido, como uno de esos cuestionarios de personalidad "¿Qué personaje de Quentin Tarantino es usted?".

Pero antes de salir corriendo a aprender Ruby porque disfrutaste jugando con Play-Doh cuando eras niño, déjame recordarte: aquí está mucho en juego.

Le tomará cientos de horas de práctica llegar a ser remotamente competente con su primer lenguaje de programación.

Por lo tanto, debes considerar los siguientes factores:

  • el mercado de trabajo para el idioma
  • las perspectivas a largo plazo para el lenguaje
  • qué fácil es el idioma para aprender
  • qué proyectos puedes desarrollar mientras aprendes (y compartir con amigos para que puedas mantenerte motivado)

Cada año trae nuevos lenguajes de programación, y con ellos, nuevos documentos académicos. Y nuevos cómics web.

Seriamente. Mira esta joya del mes pasado:

Cuando se trata de elegir un primer lenguaje de programación, no hay escasez de opciones. Para reducirlo un poco, aquí están las búsquedas de Google más comunes relacionadas con la programación de aprendizaje, en los últimos 12 años:

Java ha tenido sus altibajos.

Python se ha convertido gradualmente en la opción más popular.

Pero escondido debajo de estos está el pequeño motor que podría, lentamente choo-choo en popularidad en los últimos años. Y ese motor es JavaScript.

Antes de hablar sobre estos lenguajes de programación, permítanme aclarar:

  • No estoy argumentando que un idioma sea objetivamente mejor que cualquier otro
  • Estoy de acuerdo en que los desarrolladores eventualmente deben aprender más de un idioma
  • Estoy argumentando que primero deberían aprender un idioma bien. Y, como probablemente pueda adivinar por el texto boca abajo en mi título, ese lenguaje debería ser JavaScript.

Comencemos explorando cómo se enseña actualmente la programación en la escuela.

Informática 101

Tradicionalmente, las universidades han enseñado programación bajo el paraguas de la informática, que a menudo se considera una extensión de las matemáticas o vinculada a un título de ingeniería eléctrica.

Por supuesto, como ya habrás oído:

"La enseñanza de las ciencias de la computación no puede convertir a nadie en un programador experto, del mismo modo que estudiar los pinceles y los pigmentos puede hacer que alguien sea un pintor experto". – Eric S. Raymond

A partir de 2016, muchas universidades todavía tratan la programación como lo es la informática y la informática como las matemáticas.

Como resultado, muchos cursos introductorios de programación se enfocan en lenguajes de bajo nivel de abstracción como C, o lenguajes matemáticamente enfocados como MATLAB.

Y los jefes de departamento generalmente mantienen el rumbo, señalando tablas de clasificación de lenguaje de programación anual como el Índice TIOBE , o este del IEEE :

La mayoría de estas tablas de clasificación son prácticamente idénticas a cómo eran hace 10 años.

Pero el cambio sucede Incluso en el mundo académico.

En 2014, Python superó a Java como el lenguaje de instrucción más popular en los principales programas de informática de los EE. UU.

Y otro cambio está destinado a … eventualmente … suceder.

Porque si nos fijamos en los idiomas realmente utilizados por la fuerza de trabajo, pinta una imagen muy diferente:

JavaScript es, de lejos, el lenguaje más popular utilizado por los 49.397 desarrolladores que respondieron a la Encuesta 2016 de Stack Overflow.

Más de la mitad de todos los desarrolladores usan JavaScript. Es vital para el desarrollo web front-end y cada vez más relevante para el desarrollo de back-end. Y se está expandiendo rápidamente en áreas como el desarrollo de juegos y el Internet de las cosas.

Las publicaciones de trabajo también mencionan JavaScript más que cualquier otro lenguaje de programación que no sea Java:

Datos del agregador de publicaciones de empleo más grande del mundo, Indeed.com

No es accidental que construyamos el plan de estudios de nuestra comunidad de código abierto en JavaScript. En los últimos dos años, más de 5,000 personas han usado Free Code Camp para obtener su primer trabajo de desarrollador.

No defiendo JavaScript porque lo enseño. Enseño JavaScript porque es el camino más seguro para un primer trabajo de desarrollador.

¿Pero es el JavaScript adecuado para usted? ¿Es digno de ser tu primer lenguaje de programación? Exploremos esos factores que mencioné anteriormente.

Factor n. ° 1: El mercado de trabajo

Si está aprendiendo a programar solo por curiosidad intelectual, siéntase libre de omitir este factor. Pero si usted, como la gran mayoría de las personas que aprenden a programar , desea usar esta habilidad para conseguir un trabajo, esta es una consideración importante.

Como mencioné anteriormente, Java se menciona en más ofertas de trabajo que cualquier otro lenguaje de programación. JavaScript está en segundo lugar.

Pero esto es lo que sucede con JavaScript: aunque ha existido durante 20 años, recientemente se convirtió en una herramienta seria que compañías como Netflix, Walmart y PayPal crearían aplicaciones completas.

Como resultado, muchas empresas están contratando desarrolladores de JavaScript, pero simplemente no hay tantos en el mercado laboral.

Datos de Indeed.com

Hay 2.7 desarrolladores de Java compitiendo por cada posición abierta de Java. La competencia para los trabajos de PHP e iOS es similarmente feroz.

Pero por cada posición de JavaScript abierta, solo hay 0.6 desarrolladores de JavaScript. Es en gran medida un mercado de vendedores para desarrolladores con habilidades de JavaScript.

Factor n. ° 2: perspectivas a largo plazo

El proyecto promedio de JavaScript recibe el doble de solicitudes de extracción que el proyecto promedio de Java, Python o Ruby. Y además de eso, JavaScript está creciendo más rápido que cualquier otro lenguaje popular.

Fuente: The GitHub's 2016 State of the Octoverse

El ecosistema de JavaScript también se beneficia de una fuerte inversión de dinero y talento de ingeniería de compañías como Google, Microsoft, Facebook y Netflix.

Por ejemplo, TypeScript (un superconjunto de JavaScript estáticamente tipado) tiene más de 100 contribuidores de código abierto, muchos de los cuales son empleados de Microsoft y Google a los que se les paga para que trabajen en él.

Este tipo de cooperación entre empresas es más difícil de encontrar con Java. Oracle, que efectivamente posee Java a través de su adquisición de Sun Microsystems, a menudo demanda a las compañías que intentan expandirse.

Factor n. ° 3: dificultad para aprender

Esta es una parodia de un comic de XKCD .

La mayoría de los programadores estarían de acuerdo en que los lenguajes de scripting de alto nivel son relativamente fáciles de aprender. JavaScript entra en esta categoría, junto con Python y Ruby.

Aunque las universidades todavía enseñan idiomas como Java y C ++ como primeros idiomas, son mucho más difíciles de aprender.

Factor # 4: Proyectos que puedes construir con él

Aquí es donde realmente brilla el JavaScript. JavaScript se ejecuta en cualquier dispositivo que tenga un navegador, allí mismo, en el navegador. Puedes construir básicamente cualquier cosa con JavaScript y compartirla en cualquier lugar.

Debido a la ubicuidad de JavaScript, el cofundador de Stack Overflow Jeff Atwood acuñó su ahora famosa ley:

“Cualquier aplicación que puede ser escrito en JavaScript, con el tiempo será escrito en JavaScript.”

Y con cada mes que pasa , la Ley de Atwood se mantiene fuerte.

Java una vez prometió correr en todas partes, también. Puede recordar los Applets de Java . Oracle oficialmente los mató a principios de este año.

Python sufre de los mismos problemas:

"¿Cómo puedo dar este juego que le hice a mi amigo? Mejor aún, ¿hay alguna manera de poner esto en mi teléfono para que pueda mostrarlo a los niños en la escuela sin que tengan que instalarlo? Um. "- James Hague en Retiring Python como Lenguaje de Enseñanza

Por el contrario, aquí hay algunas aplicaciones que los miembros de nuestra comunidad de código abierto crearon en sus navegadores en CodePen. Puede hacer clic y utilizar estos directamente en su navegador:

Estilo de los años 70 Juego de Simon Juego de la vida de Conway Búsqueda de Wikipedia con tema de las Guerras de las Galaxias Juego de rastreo de un calabozo roguelike

Aprende un idioma bien Luego aprende una segunda.

Si sigues saltando de un idioma a otro, no llegarás lejos .

Para ir más allá de lo básico, debes aprender bien tu primer idioma. Entonces su segundo idioma será mucho, mucho más fácil.

A partir de ahí, puede diversificarse y convertirse en un desarrollador más completo aprendiendo muchos idiomas:

  • C es una excelente forma de aprender cómo funcionan las computadoras en términos de administración de la memoria, y es útil en la informática de alto rendimiento
  • C ++ es ideal para el desarrollo de juegos.
  • Python es increíble para la ciencia y las estadísticas.
  • Java es importante si quieres trabajar en grandes compañías de tecnología.

Pero aprenda JavaScript primero.