Je suis un jeune programmeur qui souhaite travailler un jour sur le terrain en tant que programmeur. Je connais Java, VB.NET et C #. Je veux apprendre une nouvelle langue (en tant que programmeur, je sais qu'il est utile d'étendre ce que je sais - pour apprendre des langues qui vous font penser différemment). J'ai jeté un coup d'œil en ligne pour voir quelles langues étaient courantes. Tout le monde connaît le C et le C ++ (même les moldus qui connaissent si peu les ordinateurs en général), alors j'ai pensé que je devrais peut-être pousser pour le C.
C et C ++ sont bien mais ils sont vieux. Des choses comme Haskell et Forth (etc., etc., etc.) sont anciennes et ont perdu leur popularité. J'ai peur d'apprendre le C (ou même le C ++) pour cette même raison. Java est également assez ancien et lent car il est géré par la JVM et non compilé en code natif.
Je suis développeur Windows depuis un bon moment. J'ai récemment commencé à utiliser Java - mais uniquement parce qu'il était plus polyvalent et extensible à d'autres endroits. Le problème est qu'il ne ressemble pas à un langage très utilisable pour ces raisons:
- Son but le plus utilisé est pour les applications Web et les applications de téléphone portable (en particulier Android)
- En ce qui concerne les produits réels fabriqués avec, les seules choses qui me viennent à l'esprit sont Netbeans, Eclipse (hourra pour la création et l'IDE avec le langage auquel l'IDE est destiné - c'est comme créer une page Web pour écrire du HTML / CSS / Javascript) et Minecraft qui se trouve être amusant mais décalé et bipolaire en ce qui concerne les spécifications informatiques. soutien.
- En dehors de cela, il est utilisé pour les serveurs, mais diable - je ne veux pas seulement créer / configurer des serveurs .
Cependant, les langages .NET sont agréables:
- Les gens rient si je mentionne même VB.NET ou C # dans une conversation sérieuse.
- Il n'est pas multiplateforme à moins que vous n'utilisiez MONO (qui est toujours en développement et a quelques améliorations à apporter).
- Manque de bas niveau car, comme Java avec la JVM, il est géré / géré par le CLR.
Ma première pensée a été d'apprendre quelque chose comme C et de l'utiliser ensuite comme tremplin vers C ++ (juste pour m'assurer d'avoir une bonne compréhension / base), mais comme je l'ai dit plus tôt, il vieillit de plus en plus.
Ce que j'ai regardé
Fantom a l' air sympa. C'est comme un gentil intermédiaire entre mes deux langues préférées et me permet même de publier entre les deux de manière interchangeable, mais, contrairement à ce que je veux, il se compile vers le CLR ou la JVM (selon ce que vous publiez) au lieu d'être une compilation complète .
D a aussi l'air sympa. Il semble comme un langage très utilisable et demultIPLEsourcesil semble effectivement être mieux que C / C ++. Je sauterais bien dessus, mais je ne suis toujours pas sûr de son succès car il n'est évidemment pas très courant à ce stade.
Il y en a quelques autres qui avaient l'air plutôt sympa et qui se concentraient sur d'autres choses comme Opa avec le développement Web et Go by GOOGLE.
Ma question
Vaut-il la peine d'apprendre ces langues "expérimentales"? J'ai lu d'autres questions qui disent que si vous n'apprenez pas constamment les langues et que vous êtes ouvert à toutes les langues, vous n'êtes pas dans le bon état d'esprit pour la programmation. Je comprends cela et je ne comprends toujours pas tout à fait, mais en vérité, si une langue ne va pas devenir courante, devrais-je passer mon temps à apprendre autre chose? Je ne veux pas apprendre des langages de programmation anciens (ou qui deviendront bientôt anciens). Je sais que beaucoup de gens voient cela comme quelque chose d'important, * mais est-ce que l'un d'entre vous envisagerait réellement (en supposant que vous ne le saviez pas déjà) FORTRAN? Mon objectif est de rester à jour pour être sûr de réussir à l'avenir.
Avertissement
Oui, je suis un jeune programmeur, donc j'ai probablement fait beaucoup de déclarations naïves dans ma question. N'hésitez pas à me corriger sur TOUT! Je dois commencer à apprendre quelque part, donc je suis sûr qu'une grande partie de mes connaissances est assez sommaire pour avoir causé des déclarations incorrectes ou des défauts dans ma pensée. Veuillez laisser tout sentiment que vous avez dans les commentaires.
Les resultats...
Je suis vraiment étonné par les réponses incroyables, la plupart d'entre elles soulignant si bien mes malentendus et mes erreurs de jugement. J'ai beaucoup appris de cela et je suis impatient d'utiliser tout ce que j'ai appris! Je vais probablement commencer à apprendre Haskell ensuite (la langue pas si ancienne, bien que plus de 20 ans - hahaha ) et ensuite commencer à regarder d'autres options autour de moi.
Merci