J’ai entendu beaucoup de gens adoptent les capacités LISP et ses macros omnipotents. Si le LISP est un langage aussi grande, pourquoi n’est pas elle adoptée plus ? Quels problèmes est LISP face c’est le tenant de (re) en train de devenir la langue populaire ? Il y a quelque chose LISP lui-même (« ces supports ! » n’est pas la réponse, est-ce ? !), ou ses concurrents (par exemple, la dominance de Java, .NET) ?
Réponses
Trop de publicités?J'ai entendu dire que la récursivité est dur à comprendre pour certains programmeurs, donc cela peut être un facteur important puisque la récursivité est donc essentielle dans la langue. Personnellement, je trouve la récursivité pas très dur, mais j'ai vu beaucoup de programmeurs de la lutte avec elle (plus la 9-5 type de programmeurs qui regarde perplexe quand vous parlez de fibonacci, ou grimace lorsque vous essayez de parler de la programmation pendant le déjeuner... mais ce sont aussi probablement un assez grand sous-ensemble de programmeurs).
Il n'a jamais été largement acceptée lisp environnement:
- fonctionne sur plusieurs plates-formes,
- est gratuit ou bon marché à utiliser, et
- met pleinement en œuvre le lisp standard.
Il ya beaucoup de différents lisps là, et ils tous ont des avantages/inconvénients, dont la plupart ne sont pas compatibles.
Cela contribue à l'absence d'une infrastructure fiable pour lisp applications, et d'autres langues ont élaboré, à cet égard, tout en lisp de la communauté est restée fragmenté.
- Populaire, auto-entretenu des idées fausses. (Il suffit de regarder les posts ici. (a) j'ai jamais jamais garder une trace de parenthèses lors de la programmation en Lisp! Mon éditeur n'a que pour moi. (b) Schéma peut être un langage fonctionnel, mais je BOUCLE heureux tout au long de la journée en Common Lisp, merci beaucoup.)
- Le manque d'un certain standard de mise en œuvre avec beaucoup de "Piles Incluses."
- Potentiel débutants' une exposition antérieure à un Schéma dans un des langages de programmation, ayant détesté ça, et ne pas se regarder dans les autres dialectes Lisp parce qu'ils superficiellement ressembler Régime. (Ceci est lié à #1.)
- Pas bien pris en charge de la mise en œuvre qui fonctionne comme un programmeur C attend (c'est à dire à l'aide d'un traditionnel édition-compilation-lien-exécution du cycle et d'être en mesure de relier entre C et du code Lisp).
- Manque des diverses bibliothèques (la situation est en train de changer pour le mieux en ce que nous sommes de perdre du temps ici, tout de même).
- Le manque de directives claires pour les débutants. Pratique Common Lisp fait un très beau travail en fournissant un Lisp tutoriel/manuel, mais il ne semble pas encore être suffisamment visible. Il n'y a pas encore de véritable portail de la communauté sur le web, soit.