A mi en lo personal no me gusta python, se que es facil para quienes no han visto mucha programación, pero no me gusta para nada su rendimiento
Menuda sorpresa
... AlbertoBSD, fiel defensor de C, renegando de Python.
Yo opino igual, supongo que será cosa de los que nos gusta C.
Bromas aparte y yendo al tema principal, te hablaré desde mi propia experiencia habiendo aprendido programación de manera autodidacta, en universidad y en grado superior (más parecido a un curso digamos, más práctico).
Ventajas de aprender de forma autodidacta:
- Vas a aprender lo que más te interese en cada momento. Eso ayuda a aprender lo que te motiva en ese momento y no lo que te imponen.
- Podrás estudiar a tu ritmo y dedicar más tiempo a los temas que necesites y menos a los que no.
- No te imponen una fuente de información. Podrás aprender de libros, vídeos, cursos, blogs...
Desventajas de aprender de forma autodidacta:
- Es más complicado mantener la constancia. Tendrás temporadas que por tiempo o ganas lo dejarás apartado.
- Tienes que contrastar la información que encuentres según qué fuentes. Internet es una herramienta inmensa pero de doble filo.
Ventajas de aprender mediante un sistema de formación (universidad, formación profesional...):
- No te vas a quedar en blanco sin saber qué aprender en ese momento porque tienes un temario predefinido.
- Aprenderás temas que aunque no te parezcan interesantes, te servirán en un futuro.
- Obtención de un título/certificado que según casos y países puede ser importante para conseguir un trabajo relacionado.
- Y como te podrás imaginar lo opuesto a las desventajas de aprender de forma autodidacta (aunque yo me he encontrado casos en los que se ve que los profesores no han aplicado eso de contrastar fuentes...)
Desventajas de aprender mediante un sistema de formación (universidad, formación profesional...):
- Profesor malo -> Experiencia nefasta.
- En la mayoría de casos tendrás unos apuntes elegidos por tu profesor y tendrás que hacer las cosas como a él le gustan para que te lo dé por bueno (aunque sepas que esa no es la mejor manera). Hay buenos casos en los que esto no se aplica, yo casi no los he visto...
- Un tema por interesante/profundo que sea, si tienes una semana para verlo y pasar al siguiente, tienes una semana y no hay más. A partir de ahí si quieres investigar más tendrá que ser por tu cuenta.
Dicho esto, mi recomendación: si puedes, estudia por ambos lados. Así estarás en un punto medio entre las cosas buenas y malas de cada uno. Y después de un tiempo, según cómo se vayan sucediendo las cosas, podrás decantarte por una cosa u otra.
El lenguaje es lo de menos porque siempre puedes pasar de uno a otro y no tendrás que empezar desde 0 pero mi recomendación es Java antes que Python. Python lo veo como aprender a conducir con un coche automático. Sabes conducir? Sí. Pero el día que te den un coche de cambio manual (Java o similares) no sabrás dónde comprar el tercer pie para el embrague. En cambio si aprender con el manual, el día que te den uno automático sólo tendrás que acostumbrarte a trabajar menos, no más.
Mucha suerte con tu elección.