56 votes

Pourquoi fermer sur d'autres lisps de la JVM: Kawa, Armed Bear ou SISC?

Avant que Clojure n'arrive sur les lieux, la JVM avait déjà eu trois coups d'arrêt: Kawa , Armed Bear et SISC .

Quel vide comble Clojure qui a été laissé par ces Lisps?

101voto

dnolen Points 12833

Kawa, ABCL, et SISC sont reimplementations de langues existantes sont assez long dans la dent. Ils sont excellents, si pour une raison quelconque, vous souhaitez utiliser un Schéma standard ou standard Common Lisp sur la JVM.

Clojure est un nouveau langage. Il n'a pas de combler une lacune. Il ajoute des possibilités entièrement nouvelles. Il favorise une approche purement fonctionnelle - Régime et CL sont à la fois multi-paradigme. Clojure s'inspire fortement de la conception de divers FP langues (ML, Haskell).

Et oui, vous pouvez ajouter de la simultanéité de soutien à d'autres Lisps, mais c'est totalement à côté de la question. Clojure a été conçu dès le début comme concurrente de la langue. Tant et si bien que l'écriture simultanée de programmes est trivial en Clojure - pas la science de fusée comme il est dans la non-langages fonctionnels (Régime, CL pas exclus). Regardez-le de cette façon:

Les gens disent que C vous permet d'écrire rapidement des programmes par défaut.

Eh bien, Clojure vous permet d'écrire des programmes simultanés par défaut.

33voto

z5h Points 8029
  1. "Clojure est un Lisp ne pas être limité par rétro-compatibilité" (c'est de l'Clojure site web). C'est un nouveau départ. C'est déjà un progrès. Utilisez les idées qui font de Lisp/Scheme puissant mais de repenser autour de la Java de la plateforme.

  2. Clojure sera toujours la plus récente Clojure. Avec toute autre langue porté à la JVM la JVM version peut toujours rattraper le temps perdu. Si vous n'avez pas besoin de la Plate-forme Java pourquoi utiliser des SISC sur un autre plan? Si vous le faites, pourquoi ne pas utiliser l'un Lisp (Clojure) qui a été conçue spécifiquement pour elle?

  3. Conçu avec de la simultanéité dans l'esprit.

13voto

Rayne Points 14518

La réponse la plus simple que je puisse trouver est que Clojure n’est pas Common-Lisp. Clojure n'est pas limité par l'histoire des autres Lisps. C'est un nouveau langage construit pour la machine virtuelle Java.

10voto

MBCook Points 8316

Je n'étais tout simplement pas au courant de ces événements, ce qui représente un avantage sérieux pour Clojure (le fait que les gens aient fait suffisamment de bruit à ma connaissance). La chose la plus importante que Clojure a à ce que je n’ai pas vue dans celles que vous avez énumérées est la mémoire transactionnelle logicielle .

Clojure a également été conçu pour la machine virtuelle Java, par opposition à une couche pour un autre langage. Il est donc un peu plus "Java-y" que je suppose que les autres le seraient lorsque vous devez effectuer une interopération.

7voto

ire_and_curses Points 32802

Si j'étais cynique, je dirais que c'est parce que Clojure a un site Web plus agréable et un nom plus sexy.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: