Si vous parcourez les questions de code de golf sur StackExchange , vous remarquez une tonne de langages non standard mais réels (par exemple pas brain-f * ck) comme F # , Scala , R , J et Clojure . En visitant leurs sites Web, certaines langues semblent intéressantes à résoudre des problèmes dans la langue que vous utilisez déjà.
Cependant, il y a du codage pendant le temps libre et du codage pour l'argent. L' indice le plus proche de la vérité sur qui utilise une langue est l' indice TIOBE , qui ne répertorie aucune des langues ci-dessus dans le top 10-15. Ce qui me fait me demander si je les utiliserai jamais.
Dois-je même prendre la peine d'apprendre certaines des petites langues de niche? Il ne semble pas que je gagnerais de l'argent, et certains échoueront probablement de toute façon.
Réponses:
L'hypothèse Sapir-Whorf . Il indique, plus ou moins, que ce à quoi vous pouvez penser est limité par ce que vous avez le langage à décrire. La conséquence de cela est que les personnes multilingues sont capables de penser d'une manière que les locuteurs d'une seule langue peuvent ne pas être capables de faire.
Beaucoup de gens (moi y compris) pensent que cela vaut également pour la programmation. L'apprentissage de Lisp, par exemple, vous apprend une toute nouvelle façon de penser aux problèmes que vous pouvez appliquer à C # ou Java ou Python. Plus vous apprenez de paradigmes linguistiques, plus votre boîte à outils mentale contient d'outils, quelle que soit la langue que vous utilisez réellement.
la source
J'apprendrais n'importe quelle langue qui m'initierait à des concepts et à des paradigmes que je n'ai jamais vus auparavant. C'est pourquoi j'ai appris haskell et schema - ils m'ont présenté respectivement la programmation fonctionnelle et la programmation principalement fonctionnelle. Je ne me soucierais pas moins de savoir si le schéma et haskell étaient largement utilisés, mis à part la façon dont cela affecterait la documentation et les ressources disponibles.
Donc , fondamentalement, si une petite langue de niche vous présente de nouveaux concepts et paradigmes ( en particulier ceux que vous pouvez appliquer à d' autres langues), puis apprendre loin!
Autres raisons pour lesquelles vous voudrez peut-être apprendre une langue «petite / niche»:
La langue vous permet de résoudre un (type de) problème particulier «mieux» (plus rapidement, avec une meilleure solution, plus facilement, etc.) que toute autre langue
Le langage vous permet de résoudre des problèmes tout aussi bien qu'un langage populaire, mais il a des fonctionnalités intéressantes que vous aimez (par exemple, clojure)
la source
Eh bien, j'utilise Clojure (l'un des "langages de niche" que vous mentionnez) et j'ai trouvé que c'était une expérience très intéressante.
Personnellement, je porterais une attention limitée à des choses comme TIOBE - elles ne vous disent pas grand-chose au-delà de ce qui a été populaire dans le passé. Utile peut-être si vous voulez un travail de maintenance des anciens systèmes, moins si vous voulez apprendre et élargir vos horizons.
la source
La raison d'étudier une langue de niche est rarement l'attente que vous l'utiliserez directement (pour de l'argent ou autrement). C'est généralement pour apprendre un nouvel aspect ou un nouveau style de programmation. Faire cela est susceptible de faire de vous un meilleur programmeur (et oui, probablement plus précieux), même si vous n'utilisez jamais ce langage pour produire du code de "production".
la source
Parlant en tant que développeur professionnel dans une langue de niche , il est possible de gagner sa vie. Il y a cependant des avantages et des inconvénients.
Les choses qui sont plus difficiles:
Des choses plus faciles:
Les choses qui ne sont que :
Dans l'ensemble, si une carrière est votre préoccupation, vous ne devriez jamais être un poney, un courant dominant ou un créneau à un tour.
la source
J'apprends actuellement Ruby en l'utilisant pour résoudre des problèmes de Project Euler , juste parce que je passe la majeure partie de ma journée à programmer en C ou PHP (et parfois en C #) et que je souhaite élargir mes horizons. Jusqu'à présent, cela m'a vraiment ouvert les yeux sur ce qui peut être fait. Même si je ne l'utilise jamais pour un "vrai" travail, je pense que le temps passé à l'apprendre en vaudra la peine.
la source
D'accord avec tous les points mentionnés. Une autre motivation pour l'apprentissage d'une langue de niche est la possibilité qu'un jour la langue devienne très populaire. Dans cette situation, votre investissement précoce dans la langue pourrait vous donner des pistes de travail sur des cadres influents et des éléments de la langue qui pourraient être très demandés à l'avenir.
Si la langue devient populaire, vous serez déjà qualifié, et donc vous serez en forte demande.
Probabilité faible, récompenses potentiellement élevées.
la source
Comme d'autres l'ont presque dit, apprendre une langue de niche simplement parce que c'est une langue de niche n'a pas beaucoup de sens. Souvent, cependant, les langues de niche explorent un concept plus profondément / plus profondément que les langues traditionnelles ne peuvent se le permettre ou le souhaitent.
Et parfois, les langues de niche existent depuis bien plus longtemps que n'importe quelle autre langue - Smalltalk, Prolog et les langues Lisp sautent à l'esprit. Ils ne sont peut-être pas populaires, mais ils ne disparaissent pas non plus.
la source