Я изучаю Clojure, и я действительно люблю некоторые его функции. Пришло время подумать о некоторых реальных "домашних проектах", и я понимаю, что не знаю, как на самом деле использовать Clojure.
Я вижу много веб-шаблонов и шаблонов (например, Compojure), но почему-то я сомневаюсь, стоит ли это. Я чувствую, что в конечном итоге он не может удовлетворить потребности приложений реального мира, которые вы адресуете с помощью Spring, Hibernate и некоторых частей стека Java EE.
С другой стороны, я вижу большой потенциал в функциях concurrency, но мне не хватает идей о том, как их действительно использовать.
Достаточно, мои вопросы:
- Каковы возможные приложения Clojure и функционального программирования? Какую идею для проекта для домашних животных вы можете предложить, не переписывая материал, который я делал с OO/Java EE, в другой синтаксис? Я ищу что-то, что действительно использует потенциал Clojure и приводит к решению, которое чувствует себя намного лучше (не только в синтаксисе), чем OO/структурное программирование.
- Является ли распространенным или, по крайней мере, разумным, сочетание Clojure и Java? Я имею в виду использование Clojure для крошечных библиотек в 95% проектах Java или создание Java-приложений поверх ядра, написанного в Clojure.
Изменить: Спасибо за все замечательные ответы. Они все очень вдохновляют. Поэтому, если у вас есть что-то еще, чтобы добавить, продолжайте и не отвлекайтесь на тот факт, что он принят.