Какие приложения подходят для clojure?

Итак, только что узнав о Clojure, я заинтересован в том, чтобы снова погрузиться в некоторые полезные функциональные программы. Какие приложения могли бы использовать Clojure? Веб-приложения? Оконные клиентские приложения? Утилиты командной строки? Какими приложениями является Clojure страшное решение для?

Ответ 1

Я думаю, что единственное, что может не понравиться Clojure - это одноразовые скрипты командной строки. Время запуска JVM даже при работе с флагом -client не так уж велико. Такие проекты, как Nailgun, обеспечивают что-то вроде обходного пути, но с этим подходом есть серьезные последствия для безопасности.

В противном случае я думаю, что Clojure идеально подходит для любой задачи.

Ответ 2

Действительно, любой тип приложения должен быть в порядке. Clojure - разумный язык общего назначения, поэтому он поддается большинству вещей, особенно благодаря поддержке библиотеки классов Java.

Функциональные языки программирования хорошо подходят для сильно параллельных проблем, поэтому вам может понадобиться найти что-то в этой области. Например, хруст массы информации с помощью MapReduce, как Google,...

Ответ 3

Clojure отлично подходит для всего, что связано с большим количеством парсинга. Я бы, конечно, использовал его, например, для анализа лог файлов. Это также отличный язык для написания DSL. Я, вероятно, не буду использовать его для приложений, составляющих 90% GUI. Конечно, сейчас вам не нужно выбирать один язык. Вы можете использовать Clojure для части вашего приложения.

Ответ 4

Очень мало Clojure не подходит. Это язык общего назначения и вполне подходит для любой задачи. Особенно concurrency связанные.

Ответ 5

Я тоже довольно новичок в Clojure и люблю использовать его по математическим проблемам, где скорость не является проблемой. Это так выразительно. Также очень приятно использовать расширенную точность BigDecimals и BigIntegers прозрачно - без необходимости работать с неуклюжими конструкторами и методами, которые требуется Java.

Оговорка о скорости действительно из-за моей собственной неопытности. Я не знаю, что это проблема для действительно опытных. Это также область, которая поддается распараллеливанию, которая выглядит так легко в Clojure.

Ответ 6

Clojure хорошо подходит для решения задач обработки данных с уменьшением размера, которые имеют дело с огромными наборами данных. Это используется для отличного эффекта для этого на FlightCaster.com и Runa. Я использую его для криптографии, и я видел, как он профессионально использовался в двух других сетевых центрах.