Necesito un consejo. ¿Cómo puedo mantener la coherencia con una tecnología / marco, aprenderlo adecuadamente y luego pasar a otro idioma o marco?

Como compañero ingeniero que recorrió el mismo camino, me gustaría arrojar algo de luz sobre este tema.

Según la pregunta, asumes eso.
1. Necesitamos obtener experiencia en un idioma / un marco
2. Debería ser Maestro en la única cosa poderosa.
Entonces solo lograremos el éxito.

Estás equivocado hermano. Absolutamente equivocado

Es solo que nuestra mente / ego está jugando (follando) con nosotros. Es nuestro ser interno está haciendo la suposición anterior. Si encontramos la fuente de esta suposición, encontramos que ha sido forzada por PERDEDORES que nunca lograron nada (gerentes de recursos humanos, vendedores, vendedores, banqueros, maestros, padres, gerentes desorientados, personas mayores, compañeros Lazy Morons (que obtiene el primer rango y ser seleccionado en Indian Service Company) etc.). Todo el mundo dice estas cositas hoy en día.

Aquellos que lograron algo (Programación, Matemáticas, Música, etc.) fueron todos talentosos. (Leonardo da Vinci conoce pintura, ingeniería, anatomía, botánica, etc. (Currículum de Leonard da Vinci)). Son verdaderos ingenieros. Python Creator creó el lenguaje y lo codificó en C. Los creadores de Javascript son maestros en C ++, el creador de Node.js es bueno en C y C ++. etc. Scala Creators lo creó en Java.

La programación es un tipo de actividad donde jugamos con abstracciones. Necesitamos aprender muchas abstracciones para lograr el dominio. Cambiar de idioma es la forma más fácil de entender múltiples abstracciones con un mínimo esfuerzo.
En javascript puedes aprender las siguientes abstracciones con facilidad.
Cierres,
Herencia basada en prototipos,
Devolución de llamadas, Programación dirigida por eventos, Streams, (Node.js)
IO sin bloqueo
expresión de función invocada inmediatamente, etc.
En python puedes aprender.
Comprensiones de listas / diccionarios, iteradores, generadores, métodos mágicos, decoradores, metaprogramación. etc …

Así que entiéndelo bien y hasta el final. No te golpees por hacerlo. La comprensión es la clave.

Cambiar es algo bueno. Además también necesitas aprender
C -> Punteros, asignaciones de memoria, servicios del sistema operativo (subproceso, proceso, etc.)
C ++ / Java -> Patrones de diseño.
Lisp -> (Macros, Código como datos)
Haskell -> Programación puramente funcional, mónadas, teoría de la catogenia. etc.
Erlang -> (Multiprocesamiento, tolerancia a fallas, etc.)
OCaml -> Coincidencia de patrones.

aprender estas abstracciones te hace productivo en cualquier idioma que elijas. Una vez que comprenda estas abstracciones, puede aplicarlo fácilmente a otro lenguaje de programación y resolver los problemas con facilidad.

Y cosa importante. Hay reglas para cambiar.

Regla 1: Siempre comprende las abstracciones (la comprensión es la clave). Escriba un par de programas para comprender lo suficiente de las abstracciones. Es lo fundamental. Por ejemplo, una vez que comprenda Eventos, Streams y Módulos, Node.js ya no será una magia.

Regla 2: Escriba aplicaciones de muestra donde su lenguaje de programación de elección sea excelente.
Por ejemplo:
1. Servidor de aplicaciones web en tiempo real (Node.js / Express)
2. Aplicación científica (Python / Flask / Numpy / Scikit Learn / NLTK / AI (Cómo escribir un corrector ortográfico))
3. Proceso de daemon en segundo plano para material pesado (Linux / C (clasificación de 1 TB de datos, etc.))
4. Compiladores de muestra (OCaml)
5. Pequeños juegos (JavaScript / Canvas, C ++ / OpenGL / Qt)
etc.
Escribe pequeños proyectos con el idioma que elijas. Es fácil y muy efectivo para mejorar tus habilidades. Una vez que complete un proyecto, puede pasar a otro idioma / marco sin sentirse culpable.

Regla 3: nunca dudes en cambiar. Nunca se preocupe por cambiar, no importa lo que diga la gente. Pequeñas gotas hacen el océano. Comprender algoritmos, estructuras de datos, patrones de diseño, abstracciones como (flujos, eventos / devolución de llamada, funcional, mapa / reducción / filtro / curry, etc.)

Regla 4: Con respecto a los marcos (Django, Express, Flask, Angular.js, etc.) Siempre lea el código fuente del marco. No confunda con A vs B vs C, etc. Simplemente elija lo que le gusta y lea el código fuente. Casi tiene todas las buenas prácticas. Y puedes aprender mucho sobre el lenguaje mientras lees el código del framework. Definitivamente mejorará tus habilidades de codificación 1000 adelante.

Regla 5: No te demores demasiado en Frameworks. Si eres bueno en el idioma, el marco de aprendizaje será muy fácil, con 20 horas de trabajo puedes ser competente (
) Para la mayor parte del trabajo, el dominio es suficiente. Solo haz un par de programas y aléjate. Si realmente te gusta el marco, aprende en profundidad. Porque el marco tiene hábitos desagradables de salir del mercado cada 2 años. No pongas demasiado esfuerzo en dominarlo. En su lugar, lea el código fuente e intente comprender cómo lo logran.

Eso es todo amigos.
Aprendí este camino muy duro y perdí muchos años en ello. Por favor no desperdicies el tuyo.
Solo pruébalo Mira si funciona.

Espero eso ayude.

Los lenguajes de codificación son diferentes de los lenguajes naturales. Sería muy difícil aprender francés y español al mismo tiempo. Sin embargo, lo que está aprendiendo son resolución de problemas, algoritmos, etc. Aunque JavaScript es un lenguaje funcional, que es muy diferente de Python, encuentro que me da una perspectiva diferente y me hace un mejor programador en general.

Depende de cuáles sean sus tareas y proyectos. Si implican trabajo de interfaz de usuario, en general, aprender javascript es prácticamente obligatorio. Si la mayoría de sus tareas / proyectos no están relacionados con la interfaz de usuario, me quedaría con Python tanto como pueda hasta que se sienta cómodo con él. Como eres estudiante, supongo que la mayoría de tus tareas no están relacionadas con la interfaz de usuario. Sin embargo, si tiene que escribir aplicaciones web de “pila completa”, debe aprender ambas.

More Interesting

Quiero comenzar como desarrollador de blockchain. Tengo 2 años de experiencia como desarrollador web. ¿Como empiezo?

Comencé a aprender Ruby on Rails el año pasado, pero lo dejé en el medio. ¿Debo comenzar de nuevo y aprender Python y Django o continuar con Ruby and Rails?

Estoy convencido de que Tealeaf Academy es el mejor recurso para aprender RoR profesionalmente. ¿Alguien en Portland, O puede dar fe de su experiencia en el sitio web?

¿Cuál sería un trato justo para construir un sitio web para un amigo que quiere pagarme para construirlo y luego dividir las ganancias?

Quiero crear una aplicación a gran escala usando PHP. ¿Cuál es el mejor marco para trabajar con PHP?

¿Qué tema debo aprender para convertirme en desarrollador web de PHP y adecuado para trabajos?

Estoy planeando crear un sitio web y eventualmente crear aplicaciones para Android y iPhone también. ¿Qué última tecnología debo usar?

Si quiero entrar en el campo del diseño web, ¿qué idiomas debo aprender?

Ahora estoy trabajando como aprendiz en Python y Django. ¿Crees que esta combinación está lista para superar a la pila LAMP en el desarrollo web?

¿Qué debo hacer después de crear un sitio web usando solo HTML y CSS?

Si dijera que MVC era contra-intuitivo, ¿cómo me convencerías de lo contrario?

Quiero externalizar un desarrollador web, ¿qué fuentes de buena reputación me recomiendan?

¿Cómo se comienza una comunidad de historias en línea como Wattpad y Quotev?

No tengo experiencia en codificación, pero me gustaría trabajar para codificar una idea de aplicación que tengo. ¿Cómo debo hacer para aprender a codificar?

Cómo encontrar un desarrollador web apasionado e impulsado para que se una a mí en mi proyecto