¿Qué idioma se debe aprender para el desarrollo web, Ruby o JavaScript? No tengo experiencia profesional en programación.

Aprende Ruby ahora . Aprende Javascript más tarde .

Muchos desarrolladores pueden decirle que solo aprenda Javascript. Aquí está el argumento que suelen hacer:

“Si todo lo que necesito aprender es JavaScript, y uso las tecnologías: MongoDB, ExpressJS, ANgularJS y NodeJS, ¿no será el desarrollo web 4 veces más fácil para mí? ¿No debería eso significar que seré 4 veces más bueno que alguien si trabajo igual de duro?

Estas no son las preguntas correctas para hacerse.

Javascript no es la vía rápida para convertirse en un desarrollador de pila completa porque la sintaxis del lenguaje de programación no es la parte más difícil de convertirse en un desarrollador de pila completa.

La parte más difícil de convertirse en desarrollador es aprender a descubrir las cosas que no sabes. Esta es precisamente la razón por la que primero debes aprender Ruby, no Javascript . Hacerlo le permite construir su kit de herramientas para desarrolladores a un ritmo más rápido.

La pregunta correcta es: ¿cuál es la herramienta adecuada para el trabajo?

Digamos que necesitas construir una estantería. Hay dos estrategias potenciales que puede tomar para construirlo.

Solución n. ° 1: utilice una amplia variedad de herramientas diferentes.

Empuña una sierra para cortar la madera, luego toma algunos clavos para conectar las diferentes piezas de madera. Luego, use un martillo para clavar los clavos a través de la madera y aplique pegamento para madera en los lugares donde sea una solución más adecuada que los clavos. A lo largo del proceso, asegúrese de seguir un plan claro.

Solución # 2 – Solo usa un martillo

En lugar de cortar la madera con una sierra, use el lado opuesto del martillo para dividir los trozos de madera en trozos más pequeños. Luego golpee las diferentes piezas de madera junto con el martillo. Evite el uso de planos, porque esa es solo una herramienta innecesaria que tendríamos que aprender a usar.

Pongamos el argumento original a través de este lente.

“Si todo lo que necesito aprender es cómo usar una sola herramienta, como un martillo, ¿no será 4 veces más fácil para mí construir una estantería en comparación con alguien que usa un martillo, sierra, pegamento, taladro y planos? ? En igualdad de condiciones, ¿no significa eso que seré 4 veces mejor en la construcción de una estantería en comparación con alguien que trabaja igual de duro?

Obviamente, este argumento es completamente ridículo. Sí, podrías descubrir cómo cortar madera con un martillo, pero ¿por qué lo harías cuando hay mejores herramientas?

No es más productivo convertirse en un desarrollador de JavaScript de pila completa solo porque es más fácil aprender una cosa que 4 cosas. El camino para convertirse en un desarrollador autosuficiente , que entiende cómo elegir la tecnología adecuada para el problema, es más importante que aprender los detalles de un lenguaje de programación en sí.

Una vez que entiendes eso, es más fácil entender por qué deberías aprender Ruby antes de Javascript:

Rubí

  • Un lenguaje orientado a objetos que fue diseñado para ser fácil de leer, rápido de aprender y simple para que los desarrolladores lo usen para resolver problemas complejos.
  • La curva de aprendizaje no es muy empinada, por lo que después de un corto período de tiempo podrás escribir y ejecutar programas Ruby mientras resuelves desafíos complejos de algoritmos.
  • Aprender Ruby primero le brinda la comprensión fundamental de la programación que necesita para agregar lenguajes más complicados a su kit de herramientas más adelante a un ritmo acelerado

Javascript

  • Se enfoca en ideas de programación funcional, lo que significa que lo empuja a resolver problemas de una manera completamente diferente a Ruby.
  • Mucho más difícil de aprender.
  • Se usa mucho en las interfaces de usuario actuales para crear experiencias fluidas, por lo que es esencial agregar Javascript a su kit de herramientas en algún momento.

Los programadores a pedido construyen sus juegos de herramientas con múltiples lenguajes de programación. Pero lo más importante, entienden cómo resolver problemas complejos de varias maneras diferentes. Aprender Ruby antes de Javascript es la forma más eficiente de obtener esa comprensión.

Dedique 11 minutos a aprender las 29 cosas que lo convertirán en un programador imparable leyendo esta publicación de Medium: 29 comportamientos que lo convertirán en un programador imparable

Si le gustó esta respuesta, haga clic en el botón azul claro a continuación para que más personas lo vean en Quora.

Como ya conoces algo de Ruby, te recomiendo comenzar allí. Node.js no es adecuado para principiantes en esta etapa, ya sea que conozca JavaScript o no.

Pero, también creo que su amigo tiene razón: Rails es un marco masivo con muchas cosas que saber y una curva de aprendizaje empinada. Sin embargo, solo estaba lanzando términos sin mucho significado. No tiene que aprender Rspec, SQL o Cucumber para hacer Rails, aunque lo guiará hacia CoffeeScript y SASS.

Para comenzar, prueba Sinatra. Es un marco web mínimo muy sencillo que le permitirá comenzar a desarrollar aplicaciones web básicas en muy poco tiempo. Intenta jugar generando respuestas y páginas, para tener una idea de cómo funciona la web. Luego puede generar algunas páginas HTML simples y aprender CSS y actualizar su JavaScript. Si lo desea, puede jugar con bases de datos SQL, pero le recomiendo que espere. Una vez que tenga un buen manejo del desarrollo web a través de Sinatra, pruebe Rails. Será confuso y sucederán muchas cosas, pero si te has tomado el tiempo para ponerte a prueba con algo simple como Sinatra, lo entenderás rápidamente. Es entonces cuando comenzará a aprender sobre bases de datos, cookies, sesiones y todo lo demás.

¡Buena suerte!

Sabes algo de Ruby, empieza por ahí. El uso de RoR tendrá un impacto positivo en su capacidad para desarrollar aplicaciones web. Aunque no se requieren herramientas como Compass, SCSS y Coffeescript, le aconsejo que profundice en ellas una vez que esté familiarizado con los idiomas subyacentes.

Una buena hoja de ruta sería:

  • HTML, HTML5
  • CSS, CSS3
  • Javascript, jQuery
  • Rubí, rieles
  • SQL

Una vez que esté familiarizado con lo anterior, y si planea usar RoR, es esencial que pueda comprender y usar:

  • Linux
  • Git
  • IDE / editor – Eclipse, Rubymine, Vim, Emacs
  • RVM (Ruby Version Manager)
  • Bundler
  • Capistrano
  • Consola de rieles
  • Rspec y Carpincho

Un desarrollador web que trabaje principalmente con Rails y Linux habrá estado expuesto y conocerá (algunos más que otros) todo lo anterior. Es absolutamente crítico que comprenda cómo estas tecnologías se complementan entre sí. HTML, CSS y Javascript son perennes, así que comienza allí.

Una vez que haya hecho todo eso, puede aumentar su productividad con lo siguiente:

  • HTML -> Haml o Slim
  • CSS -> SCSS y brújula
  • Javascript -> Coffeescript

Como puede ver, hay toneladas de diferentes herramientas a su alcance. Una ‘habilidad’ que supera a todas las demás es la capacidad (y entusiasmo) de aprender. Si no te gusta aprender cosas nuevas, estás en el juego equivocado.

Muchas respuestas, muchos puntos de vista 🙂
Todavía es genial porque tienes comentarios provenientes de muchas experiencias diferentes.

Aquí está mi punto de vista:

Definitivamente necesitas aprender JavaScript, y con ese HTML y CSS.
No significa que no necesitará aprender ruby ​​o PHP o node.js … pero en algún momento, incluso si no lo usa en el servidor, si no aprende JavaScript, no entenderá lo que está sucediendo en los navegadores y no podrá corregir algunos errores y problemas de rendimiento o accesibilidad.

Incluso si terminas usando algunos marcos en el cliente como Sencha, Wakanda, Kendo UI, Wijmo, Angular, React … Tendrás que lidiar con JavaScript, y JavaScript también será necesario para aprovechar las características HTML5 como los trabajadores web o la ventana mensajería.

Con características como localStorage y Service Workers, podrá construir cosas poderosas incluso antes de comenzar a usar el back-end.

Una vez que esté listo para comenzar con una tecnología de fondo, tendrá que hacerse algunas preguntas como:

  • ¿Quiero crear una aplicación web, un sitio web, un juego?
  • ¿Me siento más cómodo con la programación orientada a objetos o funcional (por cierto, JavaScript es una combinación de ambos)?
  • ¿Trabajaré solo o con personas que ya están usando una tecnología?
  • ¿Quiero algo fácilmente mantenible o potencialmente más complejo pero altamente optimizado para la velocidad o la memoria? (ej: dispositivos iot)

Entonces encontrarás muchas opciones. Algunos le propondrán Java, .NET, PHP, python, ruby, Erlang, Lua, … Y ahora también tiene la opción con soluciones JavaScript del lado del servidor como node.js, pero también Wakanda, RingoJS, TeaJS (también conocido como v8cgi), APE, SilkJS, JScript.NET y muchos más.

Si aprecia JavaScript, puede ir aún más lejos y utilizar un motor de base de datos NoSQL con algunas API de JavaScript como MongoDB, Apache CouchDB, WakandaDB, ArangoDB, …

Experiencia personal:

Soy ingeniero PHP certificado por Zend (también codifiqué algunos sitios web o intranets con Coldfusion, Perl y ASP en los viejos tiempos) y trabajé con algunas bases de datos SQL como Oracle, SQL Server, MySQL, Informix, SQLite, pero ahora me mudé a JavaScript del lado del servidor y NoSQL con Wakanda, que creo que es prometedor (con soporte de las API W3C en el servidor y algunas API de node.js también).
Tenga en cuenta que no diré que debe usarlo. Como las otras tecnologías, se ajustará a algunos casos de uso específicos. Está enfocado en el desarrollo de aplicaciones web, y también lo menciono porque tuve la oportunidad de contribuir directamente.

Aprender un nuevo idioma es fácil, una vez que sepas cómo codificar, por lo que no importa tanto. Su decisión debe basarse en cuál le ofrece más recursos de aprendizaje. Si tiene un amigo cercano que conoce a uno u otro, aprenda que tendrá a alguien que lo ayudará cuando tenga preguntas. Si tienes un amigo que está estudiando a uno u otro, hazlo: tendrás a alguien con quien piratear cosas.

Dicho esto, siendo todo lo demás igual, deberías aprender JS. Voy a copiar / pegar en algunos párrafos de otra respuesta mía. (Nota: si te gusta este tipo de cosas, deberías buscar en Hack Reactor – The CS Degree para el siglo XXI).

JS vs Ruby / Rails: tamaño conceptual

Ruby (y su comunidad) ha enfatizado la productividad y el atractivo sobre el código conceptualmente pequeño y bien entendido. Esta es una decisión muy inteligente para desarrolladores experimentados, pero no constituye un excelente entorno educativo. Javascript (de nuevo, como lenguaje y comunidad) se centra en componer piezas más pequeñas en programas más grandes y bien entendidos.

Rails es un resultado de (y un contribuyente a) este aspecto de Ruby. Es una gran pieza de software, pero no es un lugar propicio para aprender cómo funciona el código. Los desarrolladores de Rails, en general, no tienen idea de quién instancia sus clases, o cómo se ve una solicitud HTTP, y no se espera que aprendan. Esto no es cierto para los desarrolladores de Node o Backbone. Es un hecho importante cuando intentas aprender ingeniería de software y cómo funciona la web.

Ruby / Rails se enfoca en hacer herramientas muy hábiles y utilizables que ha llevado a otro resultado indeseable para los estudiantes: hay una gran cantidad de detalles de la caja de herramientas que ayudan al profesional experimentado, pero son una distracción peligrosa para el principiante. No quiero que los estudiantes se echen a perder la cabeza con las muchas invocaciones potenciales de url_for [1], pero a) eso es lo que recomienda el material de referencia yb) detalles intrascendentes como ese son parte de cómo los ingenieros de Rails son evaluados por las empresas contratantes ( Para bien o para mal).

JS vs Ruby / Rails: un futuro más brillante

Mientras Ruby y Rails están creciendo, Javascript es el centro de una revolución emocionante en la forma en que se desarrollan las aplicaciones. Tenga paciencia conmigo a través de algunos antecedentes:

Hasta el advenimiento de Gmail y Google Maps, la web se creó en torno al modelo cliente-servidor, en el que los servidores generaban páginas de HTML y los navegadores (llamados “clientes”) los mostraban a los usuarios. Cuando el usuario quería interactuar con el sitio, hacía clic en algo, su navegador tiraba la página que estaba mirando y el servidor les enviaba una nueva.

Gmail y Google Maps fueron las primeras “aplicaciones cliente enriquecidas”: aplicaciones en las que el HTML se generaba en el navegador, mediante Javascript (el único idioma que se ejecuta en el navegador), utilizando datos recopilados en segundo plano de los servidores. Este estilo arquitectónico ofrece características de interactividad que no son posibles en el modelo anterior, y como tal, la mayoría de las aplicaciones con las que interactúa a diario ahora se construyen de esta manera (o en transición a él). Estamos en una era muy emocionante y tenemos la oportunidad de educar a los primeros hablantes nativos de este nuevo paradigma. Mientras tanto, Rails está siendo relegado cada vez más a la capa API, y ofrece muy poco soporte y estructura para aquellos que esperan crear aplicaciones de cliente enriquecidas.

Muchas respuestas largas, no las leí todas …
No soy religioso con ningún idioma y me gusta mucho Ruby. Pero si termina en un proyecto Ruby, es probable que tenga que escribir JavaScript en el front-end. Si usa Python, PHP, Java, etc., es probable que necesite escribir JavaScript en el front-end.

Entonces, si solo necesita ser comercializable y no está seguro en qué dirección comenzar, JavaScript. Una respuesta dice que solo aprenda a codificar y puede aprender cualquier idioma según sea necesario (o según lo desee).

Pero si sabe que codificará en un idioma en particular, como Ruby, aprenda eso. Y terminará aprendiendo JavaScript, porque probablemente tendrá que hacerlo.

Entonces, tal vez solo soy un hombre extraño aquí, pero esto parece una pregunta irrelevante que nace de la desinformación. Usted no decide qué idioma aprender para el desarrollo web porque el marco “esto o aquello” resulta ser popular en este momento.

Eso sería análogo a aprender fotografía estudiando Instagram. Nadie haría eso porque es una tontería. Cualquiera con materia gris aprendería fotografía disparando con equipo real y luz real, ¿verdad? Entonces, ¿por qué harías eso con el desarrollo web?

En mi opinión, si quieres aprender desarrollo web, aprende los “idiomas” reales de la web. Comience con HTML y CSS central y conózcalos muy fuertemente *; luego aprenda PHP y MySQL (o un lenguaje DB similar); y finalmente gira y aprende JavaScript **.

Si tienes una buena comprensión de esos idiomas, te llamaría oficialmente desarrollador web, pero si todo lo que sabes es Ruby on Rails, entonces te llamaría desarrollador Ruby on Rails. ¿Tiene sentido o solo estoy loco?

* Nada me duele más que un desarrollador de back-end que no comprende completamente HTML y CSS. No hay excusa para eso.

** JavaScript se está convirtiendo rápidamente en EL lenguaje de la web, pero aún tiene que crecer. Node.js es increíble y se ha utilizado para el desarrollo de backend, pero aún es muy joven. Siento que obtendrías más distancia al aprender PHP.

Realmente disfruto tanto Ruby como Javascript para los lenguajes de back-end. Front-end definitivamente necesita saber Javascript. Sugeriría aprender Ruby on Rails primero. Solo porque hay mucha información para aprender y está muy estructurada. El nodo es muy flojo, incluso cuando tiene Express como marco. Si intenta aprender Node y sigue 2 tutoriales diferentes, es posible que tenga diferentes estructuras de carpetas y formas de hacer las cosas. Puede ser confuso para un principiante. Si sigue un tutorial de Rails, lo más probable es que sean muy similares, porque Rail está más estructurado y no funcionará si codifica de manera incorrecta. Node también está usando más código ES6 que ES5. Lo que hace que Javascript sea más confuso. ES6 es el nuevo estándar Javascript futuro, pero no se ha implementado en todos los navegadores, pero se ha implementado en Node. Esto hace que sea aún más confuso aprender Node, porque obtendrá una combinación de ES5 y ES6 en los tutoriales que encuentre. Ruby sigue siendo más o menos lo mismo. Ha habido algunos cambios, pero no la forma en que Javascript está cambiando. Si puede encontrar un buen lugar para aprender Nodo y obtener una ayuda realmente buena, aprenda Nodo. Si estás aprendiendo por tu cuenta, aprende Rails. En general, ambos funcionan de la misma manera en lo que respecta a crear una API y trabajar con solicitudes HTTP. Asegúrese de lo que haga, aprenda cómo crear una API y cómo funcionan las solicitudes http. Ese es el corazón de la web. Una vez que sepa que puede trabajar en cualquier idioma. Aquí hay un muy buen curso de Rails. Aquí es donde obtuve mi momento Ah Hah con Rails. Realmente lo guían a través de cómo funciona Rails y desmitifica parte de la magia con Rail,

Upcase: suscríbete a Upcase.

También suscríbase a Ruby on Rails Screencasts, hay cosas viejas pero muy relevantes. También asegúrese de tener un proyecto en el que trabajar. Realmente no aprenderá si solo está haciendo tutoriales porque necesita implementarlo en su propia idea. Eso es lo que hace un buen programador. Toman lo que pueden encontrar en Internet y lo implementan en su propia aplicación. Unimos las cosas para que funcione para nuestras aplicaciones. Aquí es donde aprenderá sus habilidades de codificación, porque es más difícil implementar una idea real que seguir un tutorial.

Sin duda, si alguien quiere ser desarrollador web y me pregunta qué idioma aprender, mi respuesta es JavaScript.

Estoy de acuerdo con lo que muchos otros han dicho aquí, que como desarrollador web TIENES que usar JavaScript, ya que es lo que se ejecuta en un navegador, pero me gustaría agregar a eso. (Pero antes de agregarlo, son solo matemáticas … Si CADA sitio web que se está construyendo hoy necesita usar JavaScript para la interfaz de usuario del navegador, entonces matemáticamente, es una muy buena habilidad tener como desarrollador web).

Lo que me gustaría agregar es que JavaScript está MUY MUCHO más allá del navegador. Hemos creado aplicaciones móviles con él utilizando los muchos marcos de JS a móviles, como React Native, Fuzetools, Titainium, TabrisJS, Phonegap / Cordova, etc. Y, como muchos han mencionado, Node en el lado del servidor.

Igual de importante, si estoy buscando contratar a alguien, y pueden escribir JavaScript sin formato, no solo necesitaré esas herramientas JS TODOS LOS DÍAS, sino que estoy seguro de que pueden traducir esas habilidades de secuencias de comandos JS a otros lenguajes de secuencias de comandos web del lado del servidor, como php.

He estado en desarrollo web durante 20 años, y durante los últimos 5, si me muestras un desarrollador con fuertes habilidades de JS en bruto, es probable que los contrate.

Creo que la PRIMERA habilidad para aprender a convertirse en un desarrollador web más allá de CSS y HTML ES JavaScript.

Si está buscando ingresar al desarrollo web con una sola habilidad, en mi opinión, debería ser JavaScript.

Si está buscando una excelente capacitación en línea gratuita, le sugiero que complete este curso:

Aprenda a codificar con cursos en línea gratuitos, proyectos de programación y preparación de entrevistas para trabajos de desarrollador.

Definitivamente no es JavaScript. Por un lado, JavaScript es un lenguaje basura: vea la respuesta de Richard Kenneth Eng a ¿Cuál es, en su opinión, el lenguaje de programación más difícil de dominar o sobresalir, y por qué?

Además, vea la respuesta de Richard Kenneth Eng a Dada la complejidad de los marcos y los lenguajes, ¿está la red diseñada en exceso?

Por otro lado, Node está sobrevalorado: vea la respuesta de Richard Kenneth Eng a Is Node.js overrated?

Si Ruby es demasiado difícil, considere Python (y Django o web2py). Me encanta web2py.

Ruby, que usa el marco Rails, es un lenguaje muy popular para el desarrollo web del lado del servidor y ciertamente sería bueno aprenderlo para el desarrollo web. Pero JavaScript es EL lenguaje en el navegador. Entonces, para hacer desarrollo web debes saber JavaScript. Es el único lenguaje de programación verdadero que debes saber para hacer desarrollo web porque para programar en el servidor tienes una variedad de opciones como Ruby, PHP, Python, Java, JavaScript, etc.

Así que JavaScript es algo que debes saber, mientras que Ruby es un lenguaje muy popular en la web que quizás necesites saber. Entonces, aprenda JavaScript primero y luego podrá averiguar qué idioma, Ruby u otra cosa, desea usar en el servidor.

Ruby y Javascript son dos tecnologías diferentes.

Ruby es puramente del lado del servidor (backend). JavaScript es tanto backend como frontend.

Supongo que la pregunta es: ¿te gusta más el desarrollo Frontend o el desarrollo Backend?

O tal vez te gustaría ser ambos (¿un desarrollador web Full stack?)

Mira este artículo, podría arrojar algo de luz 🙂

El aumento de los desarrolladores de Full Stack

Mi respuesta sería ambas. Además, pruebe algunos otros, como Python, Lisp, Erlang, Java. El conocimiento no duele, y ver cómo se hacen las cosas de manera diferente en diferentes idiomas y marcos solo puede ayudarlo con el idioma que elija.

Sin embargo, cualquier técnica de desarrollo web para principiantes se puede aprender usando cualquier lenguaje. Una vez que lo tome en serio, sabrá lo suficiente como para elegir uno o varios.

Si decides ir con Ruby, secundo la sugerencia de Ben de ir con Sinatra. Es un marco muy simplificado y perfecto para pequeñas aplicaciones que es probable que escriba al principio. Tenga en cuenta que Ruby on Rails es utilizado por una gran cantidad de personas con diferentes necesidades, y aunque no resuelve todos los problemas, sin duda resuelve muchos, por lo que tiene todo tipo de baterías incluidas que probablemente no necesitará. primero.

Por supuesto, en algún momento, comenzará a ver cosas como el rendimiento, la portabilidad, etc. Por ahora, deje de lado esos factores y disfrute de la experiencia de aprendizaje.

Deberías aprender ambos 🙂
Javascript es imprescindible para el frontend, por lo que le sugiero que comience aprendiendo HTML + CSS, luego Javascript para el frontend.

Luego, para el backend, debes comenzar con Ruby on Rails. La curva de aprendizaje es más pronunciada que nodejs, pero lo protegerá de problemas que aún no conoce, como CSRF (un problema de seguridad) y se ocupa de cosas como la autenticación.

Dicho esto, después de haber probado ambos, me gustan los nodejs mucho más que ruby ​​on rails. Pero no es para principiantes.

TL; DR

Aprende JavaScript

Entonces, ¿qué lenguaje de programación deberían aprender los desarrolladores? Si me haces esta pregunta en 2016 y quieres trabajar dentro de los 6 meses, definitivamente diría que aprendas JavaScript primero y luego RonR después de que te sientas cómodo con el idioma y estés creando aplicaciones . ¿Por qué deberías usar JavaScript, está en todas partes y casi todos los sitios web principales usan JavaScript, por ejemplo, Twitter, YouTube, Facebook y muchos otros confían en JS para que realmente funcione y el lenguaje JS ha popularizado estos sitios web, así que para evitar la persecución solo aprende JavaScript.

Otra razón por la que debe aprender JS es que muchos empleadores lo requieren, por lo que si quiere ser un desarrollador web serio, es mejor que aprenda ese idioma y hoy en día JS también se puede usar como un lenguaje de back-end en forma de Node.js. Hay un montón de materiales de aprendizaje en la web, solo use una simple búsqueda en Google y encontrará una buena introducción al idioma.

No buscas ninguna / o respuesta.

Como cualquier lenguaje humano, cualquier lenguaje de computadora que aprenda tendrá alguna ventaja.

Pero mirando atrás los humildes comienzos de JS (JavaScript), creo que tiene un largo camino por recorrer, un largo camino por recorrer.

Así que aprende JS (olvídate de Ruby, si no has comenzado a aprender esto en absoluto). Pero si aprendes ambas cosas, ¡bien por ti!

Aprende ambos.

Javascript es imprescindible si vas a trabajar con la interfaz en estos tiempos, cuando ninguna aplicación web seria se basa únicamente en HTML estático. Y frontend siempre está presente en las aplicaciones web. Si no trabajas con él, en realidad no eres un desarrollador web, sino quizás un desarrollador de back-end o alguien así.

A menos que WebAssembly u otra alternativa sea adoptada por los principales navegadores (que espero que suceda lo antes posible) y surja algún entorno útil, tendrá que codificar en JS.

Sin embargo, Javascript es tan popular solo porque es la única solución nativa que se ejecuta en todos los navegadores web decentes. Y esa es la única razón, porque de lo contrario, muchos desarrolladores habrían elegido cualquier lenguaje que esté mejor diseñado, más simple o simplemente más similar a lo que ya habían conocido.

En el backend no estás limitado a JS. Hay muchas otras herramientas, como Rails / Ruby que mencionaste, Django / Python (que por cierto es una alternativa que puedo recomendar) y otras. Por lo general, tienen una base de código mucho más estable que los jóvenes y todavía cambian rápidamente el software basado en Node. Y lenguajes como Ruby, Python o Java están mejor diseñados y generalmente son más fáciles de mantener y depurar que JS.

Y aún así, si conoce dos herramientas, está mejor que las que solo conocen una.

Ya hay buenas respuestas aquí, pero quiero enfatizarlo más.

Aprende Ruby on Rails. Ruby lo hace más productivo y le enseña cómo tener un flujo de trabajo / tubería y todas las piezas móviles.

Los hábitos de trabajo con RoR se transferirán a cualquier otro idioma o Framework.

Por lo tanto, obtendrá un buen trabajo de base para proyectos más grandes.

Y hay mucha demanda de programadores de RoR.

Aprenda buenas bases, tenga una habilidad en la demanda y entregue proyectos que son los beneficios de RoR.

Javascript
Ruby / Rails está madurando: en el momento en que alcances la competencia, te sentirás tarde en ese juego y tu trabajo mantendrá el código para los principales desarrolladores ahora desaparecidos que se han mudado a marcos más nuevos. Nunca es divertido llegar tarde.

Hola, soy desarrollador web. Esta es mi sugerencia para ti, cómo convertirte en desarrollador web.

El primero, debes aprender: HTML, CSS

Luego continúe con Javascript (Javascript básico, jQuery, etc.)

Y finalmente aprenderá Ruby y otro lenguaje de back-end para web como Ruby, NodeJS, PHP, etc.

Pero requiere es HTML, CSS y Javascript.