He estado allí. Solía pensar que Python sería lo único que necesitaría saber.
Pero el mundo no es una herramienta única para todos, y su política de Python solo solo le hará daño si realmente quiere hacer un buen trabajo. Si desea crear una aplicación web receptiva, algo que realmente sea significativo y valioso, rápidamente encontrará que Python no puede hacer todo. Incluso construir un sitio web moderno requiere conocimiento de HTML / CSS (lenguajes de plantillas) además de Javascript (un lenguaje verdadero) si realmente desea impresionar a las personas que visitan su sitio. Y esto es solo el front-end: ¿qué hay de los servidores Linux, que funcionan de manera mucho más natural y poderosa con scripts de shell, o tecnologías de bases de datos como MongoDB o SQLite, cada una de las cuales tiene su propio ‘lenguaje’? ¿Y qué pasa si desea almacenar y grabar su trabajo y realizar un control de versión simple, en cuyo caso debe recurrir a git o SVN?
¿Qué sucede si tiene que interactuar con sitios web como Facebook, que no tienen una API de Python y se ven obligados a elegir PHP? ¿Qué sucede si su aplicación despega de manera improbable y rápidamente descubre que su aplicación sigue fallando porque fundamentalmente no puede escalar bien, por lo que debe recurrir a un marco distribuido y aprender esta tecnología llamada Docker?
- Cómo desarrollar una aplicación exitosa
- Cómo ganar dinero con las aplicaciones de Android
- ¿Qué se necesita para construir una aplicación?
- ¿Por qué es necesario desarrollar una aplicación móvil para un negocio?
- Desarrollo de aplicaciones vs redes?
¿Qué pasa si tienes que trabajar con otras personas que no conocen Python? Esto sucede todo el tiempo, pero ¿realmente eliminarías a un excelente desarrollador de tu equipo solo porque es mejor en herramientas diferentes a las tuyas?
Ahora, en todo esto, estaría en lo correcto al decir que la mayoría de las tecnologías que he mencionado no son lenguajes reales , lo que sea que eso signifique. Siempre se podría argumentar que son relativamente limitados y no tan generales como Python. Y eso es correcto, pero tampoco quisiste ser un experto en Python, en cuyo caso probablemente nunca usarás toda la versatilidad de Python. Y nadie te está pidiendo que seas un experto en nada, solo poder trabajar y usar estas tecnologías para que no estés creando una aplicación técnicamente inferior. La conclusión es: para hacer cualquier cosa sensata, necesita saber más que Python, y la mayoría de las cosas adicionales que necesita saber son idiomas suficientes.
También tomo una fuerte excepción a su afirmación de que aprender dos o tres idiomas a la vez solo lo confundirá. Todos los idiomas son iguales: todos son capaces de implementar las mismas cosas. La sintaxis es lo más fácil de dominar una vez que comprenda los conceptos. Si comprende qué es una función, solo necesita buscar la sintaxis de una función en el otro idioma. Si comprende qué es una lista vinculada, puede buscar cómo implementar tal cosa como lo desee. No hay nada que te confunda: las personas que hablan diferentes idiomas solo intentan decir lo mismo, ya sabes. Si realmente cree que esto será difícil para usted, concéntrese en aprender Python realmente durante un par de meses más, luego intente dar el salto a otro idioma.
Las diferencias entre los idiomas no son lo suficientemente fuertes como para justificar una aversión a ellos. Centrarse en los conceptos . Concéntrese en comprender qué es una clase, qué hacen el mapa y el filtro, qué es un generador, en qué se diferencia una lista de una matriz. Conocer otros idiomas es fácil si conoces uno.
Finalmente, sepa que conocer Python solo no le conseguirá un trabajo, si está buscando uno. Los buenos desarrolladores / ingenieros no se preocupan por los idiomas; se preocupan por las diferencias entre ellos y si uno es adecuado para el trabajo o no. En muchos casos, Python no es la herramienta correcta. Si todo lo que quieres es construir por ti mismo, en tu tiempo libre, usa Python, pero si realmente quieres construir algo impresionante, vivir en el vacío no ayuda a nadie.