Actuellement, je suis principalement programmeur en D et je cherche à ajouter un autre langage à mon arsenal, de préférence un qui prend en charge les astuces de métaprogrammation qui ne peuvent tout simplement pas être réalisées dans un langage compilé de manière statique comme D.
J'ai lu un peu sur Lisp et j'aimerais trouver un langage qui permet certaines choses intéressantes que fait Lisp, mais sans la syntaxe étrange, etc. de Lisp. Je ne veux pas commencer une guerre de langage, et je suis sûr que Ruby et Python ont leurs compromis, alors je vais énumérer ce qui est important pour moi personnellement. Veuillez me dire si Ruby, Python ou un autre langage serait le mieux pour moi.
Important :
- Bonne métaprogrammation. Capacité de créer des classes, des méthodes, des fonctions, etc. à l'exécution. De préférence, peu de distinction entre le code et les données, à la manière de Lisp.
- Syntaxe agréable, propre, sensée et sémantique cohérente et intuitive. Fondamentalement un langage bien conçu, amusant à utiliser et moderne.
- Paradigmes multiples. Aucun paradigme n'est idéal pour chaque projet, ou même chaque petit sous-problème au sein d'un projet.
- Un langage intéressant qui influence effectivement notre façon de penser la programmation.
Un peu important :
- Performance. Ce serait bien si la performance était décente, mais lorsque la performance est une véritable priorité, j'utiliserai plutôt D.
- Bien documenté.
Peu important :
- Taille de la communauté, disponibilité des bibliothèques, etc. Aucun de ces éléments ne caractérise le langage lui-même, et tous peuvent changer très rapidement.
- Disponibilité des emplois. Je ne suis pas un programmeur professionnel à temps plein. Je suis étudiant diplômé et la programmation est liée à mes recherches de manière indirecte.
- Toutes les fonctionnalités conçues principalement pour de très grands projets sur lesquels travaillent un million de singes de code.
1 votes
+1 Pour une question généralement bien posée.
0 votes
Malheureusement, les réponses les mieux notées disent essentiellement "cela dépend" et les réponses moins bien notées sont essentiellement une guerre de flamme Python vs Ruby.
0 votes
Avez-vous envisagé Clojure ?
0 votes
La réponse est Julia! Elle n'existait tout simplement pas auparavant: bit.ly/julia_meta ...réjouissons-nous! Julia couvre tous les points importants énumérés par @dsimcha, en plus de performance et tous les autres points deviennent vrais au fur et à mesure que Julia continue de mûrir.