Для каких реальных приложений люди используют Clojure?
Я использую Groovy для склейки, Java для больших систем, скрипты Python / Perl для синтаксического анализа и склейки. Я мог представить, как вызываю Clojure из Java, но не вижу, где бы я использовал его отдельно. Мне кажется, было бы проще использовать практически любой язык сценариев для специальных задач.
Я ни в коем случае не являюсь экспертом по Groovy или фанатом, но меня поражает, что у него лучшая структура поддержки, инструменты и множество языковых конструкций (замыкания, функциональное программирование). То же самое можно сказать и о Scala.
Может ли быть, что его будущее - это язык, встроенный в другие системы?
(sandwich me BLT)
?Ответы:
Я использовал Clojure для:
Это практичный / забавный материал.
Но Clojure также обладает большой теоретической глубиной. Идеи, которые будут становиться все более актуальными по мере того, как мейнстрим приходит к пониманию потенциала функционального программирования.
Личное мнение, но Clojure предлагает более качественные языковые конструкции для правильной организации программного обеспечения (не причиняя чрезмерной боли работающему программисту) из всех языков, которые я использовал до сих пор в академической и профессиональной сфере - C, C ++, Objective-C, Java, JavaScript, Python, Ruby.
Это не означает, что Clojure идеален. Но мне кажется, что он построен на лучшем фундаменте, чем большинство других вещей.
источник
Может быть, начнем с объяснения Рича Хикки .
Что касается реальных приложений, как насчет переклички производственного использования группой Google?
источник
Clojure широко используется для обработки больших объемов данных. Он очень хорошо подходит для интеллектуального анализа данных / коммерческого ИИ (например, Runa) и крупномасштабных прогнозов (также известного как WeatherBill). История параллелизма в Clojure действительно помогает в этих областях с большим объемом данных, где параллельная обработка - просто единственный ответ.
источник
Что ж, это сложный вопрос. Что ты хочешь делать? Не так уж много Clojure действительно подходит. Я имею в виду, что это не очень хорошо для отдельных сценариев командной строки из-за времени запуска JVM (если вы не используете торт или что-то подобное), но это можно сказать для любого языка JVM.
Clojure особенно подходит для задач параллелизма. Он был создан с нуля, чтобы стать отличным языком для параллелизма, и его система STM просто фантастическая. Если вам нужно сделать некоторые хардкорные вещи, связанные с параллелизмом, Clojure может быть особенно подходящим для этой задачи.
Однако следует помнить, что Clojure - это язык общего назначения. Он подходит не только для определенных ниш, но и может быть полезен для многих или всех вещей, для которых могут подходить другие языки JVM.
Clojure разрабатывался как фантастический сам по себе язык, и не обязательно язык клея. Вы можете создавать системы с нуля в Clojure, даже не касаясь кода Java напрямую. Не то чтобы из него не получился хороший клеевой язык, я знаю, что многие люди использовали его как таковой.
Если у вас есть что-то в голове, лучше всего подумать, как будет выглядеть решение на любых языках, которые являются вариантами. Если в Groovy все выглядит лучше, выбирайте Groovy. Это два совершенно разных языка, и у обоих есть свои цели.
источник
Вы можете использовать Clojure везде, где бы вы ни использовали Groovy или java. Почему вы хотите это сделать ? Некоторым нравится шепелявить. Они выберут закрытие вместо Groovy. Некоторым людям не нравится шепелявость. Они выберут Groovy.
источник