Si uno es un desarrollador JS (comprende algoritmos, estructuras de datos, patrones), ¿qué tan difícil sería cambiar al desarrollo Java o C ++?

Definitivamente no necesitará comenzar de nuevo como si fuera un novato completo. Muchos de los conceptos básicos son muy similares entre esos tres idiomas, cosas como bucles (para / mientras) / ramas condicionales (if-then-else) son bastante similares. Incluso los conceptos de funciones son lo suficientemente similares como para ser muy familiares.

Creo que el primer concepto con el que puedes chocarte la cabeza es la escritura estática. A partir de entonces (si hiciste mucha OOP en JS), la OOP en C ++ y Java es un poco diferente de cómo lo hiciste en JS. No es tanto que sea un concepto completamente extraño, sino que los pequeños matices pueden atraparlo, especialmente porque algunos conceptos son mucho más estrictos (especialmente Java).

Si no ha usado OOP ampliamente en JS, recibirá una gran llamada de activación de Java … un poco menos de C ++.

En el lado C ++ de las cosas, lo más probable es que el rascador de cabeza sea la administración manual de memoria. Es decir, punteros y referencias indirectas.

Viniendo solo de un fondo JS, no es una situación de solo saltar. Definitivamente habrá algunas cosas para aprender y practicar antes de que pueda comenzar a sentirse cómodo en Java / C ++. Pero definitivamente estás en una posición mucho mejor que alguien que solo está comenzando en algo como C ++.

Mientras mantengas una mente abierta y recuerdes que JS tenía algunas rarezas en comparación con los demás, así que espera algunas rarezas cuando las aprendas, deberías hacerlo bien. Tu mayor enemigo serán las diferencias, que son tan leves que no las notarás de inmediato, así que asegúrate de practicar mucho para que algo como un compilador te muestre estas en lugar de asumir que algún libro / curso las cubrirá adecuadamente.

Si conoce JS muy bien, pero no está completamente familiarizado con C ++ o Java, sentirá lo mismo que sentimos cuando saltamos de C ++ o Java a JavaScript.

¡Es totalmente extraño!

No hay duda de que comprenderá los conceptos, pero estos serán completamente diferentes de lo que ha aprendido y probablemente requerirán tiempo, ya que son opuestos entre sí.

De nuevo es raro!

Sin embargo, salté de C ++ o Java a JavaScript, y fue bastante extraño, pero tenía la ventaja de que ya estaba familiarizado con OOP y era fácil de comparar con las características de JavaScript. Simplemente está cambiando la semilla de OOP de tu cerebro a la programación basada en objetos.

Eres quien sé quién comenzó con JS y se mudó a C ++ / Java 🙂