Pensamos mucho si queríamos enseñar JavaScript primero en Launch Academy. Decidimos enseñarle a Ruby primero.
Si solo vas a aprender uno de los dos exclusivamente, aprende JavaScript. Definitivamente es el lenguaje más generalizado que existe. Puede ser que en la mayoría de las aplicaciones web modernas, JavaScript juega un papel clave.
Sin embargo, si planeas aprender ambos idiomas, aprende Ruby primero. Déjame explicarte por qué:
- ¿Cuáles son los cursos esenciales necesarios para un estudiante de CA?
- ¿Cuál es la mejor manera de salir de mi curso que mi empleador está financiando?
- Como un joven ingeniero de software que fue despedido recientemente, me aterra cómo se verá esto para los empleadores. ¿Cuál es algún consejo para alguien en mi posición?
- ¿Debo concentrar mi MBA en Finanzas o Sistemas de Información si quiero cambiar de carrera a tecnología?
- ¿Cuál es la diferencia entre un desarrollador de software, un ingeniero de control de calidad y un diseñador de UX?
JavaScript es raro . No me creas Echa un vistazo a la presentación humorística de Gary @ Destroy All Software Talks. En el centro del problema, JavaScript es un lenguaje basado en prototipos, que es diferente de la mayoría de los lenguajes de programación orientados a objetos (Java, Ruby, Python). Además, la sintaxis, los cierres (funciones dentro de las funciones), el contexto de la palabra clave this y las conversiones de tipo implícitas (en JavaScript `1 == ‘1’` se evalúa como verdadero, pero` 1 ===’ 1’` evalúa a falso) todos se suman a la complejidad ya desalentadora de aprender a programar.
Especialmente cuando estás aprendiendo, la sintaxis puede obstaculizar el cultivo de las habilidades más importantes del desarrollo: cómo pensar computacionalmente y en términos de algoritmos, cómo descomponer problemas y cómo utilizar estructuras de datos como Arrays y Hashes. En comparación con JavaScript, creemos que Ruby realmente ayuda a salir de su camino cuando se trata de sintaxis. Se lee mejor para principiantes, porque no hay un montón de ruido en la sintaxis (llaves, puntos y comas, etc.). Además, los conceptos complejos y orientados a objetos como la herencia, la composición y la encapsulación son mucho más directos en Ruby.
Lo que hacemos, y lo que funciona bien para nuestros estudiantes, es correlacionar lo aprendido en Ruby con cómo se hace en JavaScript. El contexto de Ruby ayuda a comprender rápidamente JavaScript, y si ha tenido práctica con Ruby, le permite identificar rápidamente las peculiaridades y matices de JavaScript. Por ejemplo, revisaremos cómo define una función en Ruby, y compararemos y contrastaremos algo funcionalmente equivalente en JavaScript.
Basaría esta decisión únicamente en lo que llamamos velocidad de aprendizaje , o en qué tan rápido puede desarrollar habilidades de codificación. Existe una amplia oportunidad de trabajo en ambos espacios, pero la mayoría de los gerentes de contratación aprecian a los programadores políglotas o desarrolladores que saben más de un idioma. Habiendo graduado más de 100 estudiantes ahora, encontramos sus antecedentes ya que los Rubyists los convierten en excelentes desarrolladores de JavaScript en un corto período de tiempo. No creo que funcione tan bien en la otra dirección.