Y’a peut-être un peu d’a priori dans ce que je viens de dire
Oui un peu, beaucoup
peu de libs / doc / communauté
Pour Scala et Elixir tu n’auras certainement pas ce soucis. Pour Haskell je ne me prononce pas mais permets-moi d’en douter.
Pour moi dans la demande, y’a vraiment que "jeu vidéo" qui coince, déjà parce que c’est quand même très vaste, ensuite c’est presque ça que je qualifierais de "niche" (pas les langages).
Ensuite "programmation réseau" : est-ce-que tu pourrais détailler ce que tu entends vraiment par là. J’ai entendu pas mal de gens qui, par "programmation réseau" sous-entendaient "système distribué" hors là Elixir (et le couple Scala / Akka) deviennent beaucoup beaucoup plus intéressants. Qu’est-ce-que tu souhaites apprendre concrètement à travers la "programmation réseau" ?
Si effectivement y’a l’idée de "système distribué" et que le machine learning traîne pas loin (genre dans le même sujet de stage, par exemple), alors dans les choix imposés je choisirais Scala (pour Spark/SparkML en fait), mais là encore, y’a beaucoup de choses à apprendre au sujet de Spark, en plus de Scala…
Ensuite, oui il y a une lib pour manipuler Tensorflow en Scala, comme dans énormément de langages. Mais tu passeras beaucoup beaucoup plus de temps à apprendre les concepts de Tensorflow qu’un langage en lui-même et comme souvent dans ce genre d’APIs polyglottes, les APIs dans les différents langages finissent par se ressembler.
Python/Golang/PHP pour les api
Bof :\
Scala est vraiment pas mal du tout pour faire du REST asynchrone "industriel", notamment via Akka-Http.
Le couple Elixir - Phoenix est sans doute beaucoup beaucoup plus facile d’accès.
Conseiller Go dans ce contexte j’ai vraiment du mal, t’as un truc précis en tête ?
et NB : j’ai vu des libs extrêmement élégantes pour faire du REST en Haskell, sans pourtant ne rien connaître au langage (ou presque).
Après, TensorX, au-delà du langage tu devrais vraiment choisir en fonction du sujet de stage en lui-même, la boîte, l’accompagnement qu’on te promet, le ressenti que tu en as.
Pendant un stage tu vas te familiariser avec une techno, c’est vrai, mais c’est aussi quelque chose que tu pourra(i)s faire sur ton temps libre, dans un projet perso ou avec des camarades de promo, ou en contribuant à des projets Open Source.
A toi de voir si tu veux vraiment inscrire ton stage directement dans LE cursus que tu voudras suivre par la suite mais à ta place, je choisirais le stage en fonction de l’environnement qu’on te propose (le sujet de stage, l’encadrement, la société, etc.) plutôt que via le langage.
Prends-le comme une phase d’exploration, non déterminante pour le reste de ta carrière. (c’est difficile à imaginer quand on cherche un stage mais je te garantie que les 3/4 des gens que je côtoie quotidiennement ont fait des stages dans des domaines qui n’ont pas grand chose à voir avec ce qu’ils font aujourd’hui, ex. un mec qui développe en Kotlin pour Android en ayant fait un stage C embarqué, etc.).