Ne le prend pas mal, mais j'ai quand même l'impression que ton point de vue négatif sur Python est assez connoté par le contexte de ton expérience personnelle. Du coup, j'ai bien envie d'y opposer la mienne qui est complètement aux antipodes visiblement. À savoir que le langage est simple à apprendre et à utiliser, est très loin d'être dégueulasse comparé à d'autres langages interprétés (tousse PHP tousse Javascript tousse), a un écosystème vivant et vaste qui permet de trouver des bibliothèques pour tout et n'importe quoi, ce qui le rend justement très adapté à un usage de hobbyiste qui ne compte pas spécialement faire carrière dans le domaine.
Après j'ai pas prétention d'avoir enseigné, mais je pense pas que les conseils à donner sur un forum de jeux vidéo soient forcément les mêmes que ceux que tu peux donner à tes étudiants en fac qui ont signé pour au moins trois ans à temps plein ?
Bien que j'en plaisante un peu, je n'ai pas un point de vue si négatif sur Python. C'est un langage très en vogue (la mode "big data") et offre surtout l'avantage de pouvoir atteindre un résultat bien plus rapidement que Java (pour ne citer que lui). Je vais d'ailleurs devoir m'y mettre sérieusement pour Tensorflow et Keras.
Je ne crois pas que la question soit d'être professionnel ou hobbyiste mais plutôt de l'importance que tu accordes à bien apprendre et à la pérennite des applications que tu développes.
Concernant l'apprentissage, qu'on souhaite être professionnel ou pas, connaitre les bons principes n'est pas moins qu'un bon investissement. Si tu comptes programmer un minimum (au boulot ou sur ton temps libre) — disons au moins une centaine d'heures — ça vaut la peine de prendre un peu de temps pour apprendre les principes sous-jacents à la programmation plutôt que d'acquérir uniquement des connaissances syntaxiques sur un langage par imitation des tutoriels et la construction d'une image mentale partiellement erronée. Ça paiera grandement par la suite. Un exemple : savoir ce qu'est le typage et comprendre un minimum l'allocation mémoire évite les erreurs d'assignations courantes due au typage implicit de Python. Un autre: comprendre les notions de pointeurs et de référencement mémoire évite les bugs (plus subtil) dus au partage de référence. Ce conseil n'est pas réservé qu'aux étudiants de facs/écoles d'ingé qui ont signé pour 3 ou 5 ans; pour clarifier, l'apprentissage des principes de base de programmation auxquels je fais référence c'est un seul cours.
Dans l'absolu, je ne dis pas que c'est impossible d'apprendre les bons principes avec Python, mais ça demande une discipline accrue étant donné les facilités offertes par le langage. Dans une moindre mesure c'est pareil pour Java qui masque complètement ou presque la gestion de la mémoire (mais c'est déjà plus approprié que Python). Mon conseil à maxff9 n'était pas d'abandonner Python, mais plutôt de se poser la question de ce qu'il veut apprendre et à quel but. Au final, je ne prône pas tant l'utilisation d'un langage mais bien la nécessité d'acquérir les bonnes pratiques et connaissances (le choix du langage ayant un impact sur cet apprentissage).
Concernant la pérennité des applications, c'est encore un peu tôt pour le dire mais quand je vois que la majorité des boites (PME ou non) peinent à maintenir et faire évoluer des applications agées à peine de 3 ans alors que celles-ci sont développées en Java (à cause de mauvaises pratiques notamment dues à la non-application de principes fondamentaux), je n'ose pas imaginer ce qu'il en adviendra avec un langage plus prompt aux défauts de développement. Ça c'est plus un feeling personnel lié à mon expérience, effectivement, mais je suis prêt à prendre les paris.
Aparté pour les hobbyistes: Qu'on se détrompe, ce n'est pas parce qu'on développe seul qu'on est immunisé à ces problèmes de maintenance/évolution. Il suffit de regarder le temps nécessaire pour détecter, localiser et corriger un bug pour s'en rendre compte.
Pour mettre mon grain de sel dans le débat PHP/Javascript, leur combinaison au sens où Tchyo l'entend est un héritage archaïque destiné initialement à programmer de "bêtes" applications web de type CRUD. Ça n'est plus trop d'actualité aujourd'hui dans la mesure où aujourd'hui les sites web "simples" se créent en 2-3 clics (merci Wordpress et co) et les applications web modernes se sont complexifiées au point que leur back-end est typiquement développé dans des langages comme Java ou Python. Le front end (l'UI) est quant à lui soit développé dans le même langage aux moyens de bibliothèques qui peuvent générer du Javascript (par ex. GWT et Vaadin génèrent du Javascript à partir de code Java), soit en Javascript (mais en utilisant des bibliothèques mures, comme Node.js. Mon expérience est que c'est plus rapide de développer directement l'UI en Javascript (avec Node.js). En fait, la mauvaise réputation du langage (outre le fait que c'est encore plus permissif que Python) vient du fait que certains développeurs web (surtout "old gen" je pense) programmait le code back-end/logique métier en Javascript, ce qui mène à un résultat infernal étant donné le manque de structure du langage. Par contre, strictement pour la couche de présentation, c'est un langage encore très approprié et utilisé aujourd'hui.
il s'avère qu'il y a plus de demandes pour python que pour java
C'est complètement faux actuellement. Python reste relativement neuf dans l'industrie. La grande majorité des applications existantes ou en cours de développement sont en Java. Tape Java et Python sur ce site (recherche de job dans l'ICT en Belgique; je ne connais pas l'équivalent français mais ça ne doit pas être différent vu l'état du marché de l'emploi) : http://ictjob.be