106 votes

A quoi sert Clojure?

Quelles applications du monde réel sont des gens à l'aide de Clojure?

J'utilise Groovy pour la colle des trucs, Java pour les gros systèmes, Python/Perl scripts de l'analyse et de la colle. Je pouvais me voir remettre en Clojure de Java, mais je ne vois pas où je pourrais l'utiliser dans son propre droit. Il me semble qu'il serait plus facile à utiliser presque n'importe quel langage de script pour les adhoc tâches.

Je ne suis pas un Super expert ou un fanboy, mais il me semble qu'il a un meilleur cadre de soutien, des outils et un grand nombre de constructions de langage (fermetures, de la programmation fonctionnelle). La même chose pourrait être dite pour Scala.

Se pourrait-il que son avenir est aussi une langue qui est intégré à d'autres systèmes?

97voto

dnolen Points 12833

J'ai utilisé Clojure pour:

  1. Grattage des pages web
  2. Les scripts Shell
  3. Le développement de sites web
  4. Jouer avec OpenGL
  5. L'écriture asynchrone des serveurs
  6. Modèles HTML
  7. L'exécution de tâches en parallèle (de l'extraction de plusieurs Url et de processus en parallèle)
  8. Jouer avec audio en temps réel
  9. Des Simulations

C'est la pratique / de choses amusantes.

Mais Clojure a beaucoup de profondeur théorique. Des idées qui deviendront de plus en plus pertinent que le courant vient à vraiment comprendre le potentiel de la Programmation Fonctionnelle.

Un avis personnel, mais Clojure plat permet de mieux les constructions de langage pour l'organisation de logiciel correctement (sans causer trop de douleur pour le travail du programmeur) de toutes les langues que j'ai utilisé jusqu'à présent académiquement et professionnellement - C, C++, Objective-C, Java, JavaScript, Python, Ruby.

Ce qui ne veut pas dire Clojure est parfait. Mais il me semble qu'il est construit sur un fondement plus solide que la plupart de ce qui est là.

21voto

Corbin March Points 18522

Peut-être commencer par la raison de Rich Hickey.

En ce qui concerne les applications du monde réel, qu'en est-il de cet appel nominal d'utilisation de la production du groupe Google?

19voto

Arthur Ulfeldt Points 45059

Clojure est largement utilisé pour le traitement de gros volumes de données. Il est très bien adapté à l'exploration de données / à l'IA commerciale (par exemple: Runa) et aux prévisions à grande échelle (aka WeatherBill). L'histoire de concurrence de Clojure aide vraiment dans ces domaines de données lourdes où le traitement en parallèle est simplement la seule réponse.

14voto

Rayne Points 14518

Eh bien, c'est une question difficile à répondre. Que voulez-vous faire? Il n'y a pas beaucoup que Clojure n'est pas vraiment adapté pour. Je veux dire, il n'est pas vraiment idéal pour une large scripts de ligne de commande en raison de la JVM temps de démarrage (sauf si vous utilisez gâteau ou quelque chose de similaire), mais qui peut être dit pour n'importe quel JVM de la langue.

Clojure est particulièrement adapté à la simultanéité des tâches. Il a été construit à partir du sol pour être une formidable langue de la concurrence, et c'est de la STM système est fantastique. Si vous avez besoin de faire quelques hardcore simultanéité des choses liées, Clojure peut être particulièrement adapté à cette tâche.

Cependant, il faut rappeler que les Clojure est un langage de programmation généraliste. Ce n'est pas seulement adapté pour certaines niches, et il a tendance à être utile pour plusieurs ou toutes les choses que les autres JVM langues pourrait être mieux.

Clojure a été conçu pour être un fantastique langue dans son propre droit, et pas nécessairement une colle langue. Vous pouvez construire des systèmes à partir de la base en Clojure sans jamais toucher à du code Java directement. Non pas qu'il n'est pas de faire une belle colle la langue, je connais beaucoup de personnes l'ont utilisé en tant que tel.

Si vous avez quelque chose en tête, la meilleure chose à faire est d'examiner ce que la solution pourrait ressembler à ce que les langues qui sont des options. Si cela ressemble/sent de mieux en mieux en Groovy, aller avec Groovy. Ils sont à la fois radicalement différentes langues, et ils ont tous deux leurs fins.

7voto

Vagif Verdi Points 2380

Vous pouvez utiliser Clojure partout où vous utiliseriez Groovy ou java. Pourquoi voudriez-vous faire ça? Certaines personnes aiment lisp. Ceux qui choisiront le clojure sur Groovy. Certaines personnes n'aiment pas le lisp. Ceux choisiront Groovy.

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:

X