Язык для облачных гигантов. Создавайте и разворачивайте крупные веб-приложения на сотнях узлов!
Вы ищете язык, который объединяет мощь функционального программирования, простоту динамических языков и всю экосистему JVM? Clojure — ваш выбор. Это практичный Lisp, созданный для решения промышленных задач. Данная книга — исчерпывающее руководство, которое покажет, как Clojure помогает избавиться от сложностей многопоточности, избежать типичных ошибок и писать лаконичный, выразительный код. Вы научитесь создавать веб-приложения, работать с базами данных и использовать уникальные возможности языка (макросы, протоколы). Идеально для Java-разработчиков, желающих выйти на новый уровень.
Почему многие выбирают Clojure? Это – функциональный язык программирования, не только позволяющий пользоваться Java-библиотеками, службами и другими ресурсами JVM, но и соперничающий с другими динамическими языками, такими как Ruby и Python. В этом исчерпывающем руководстве вы познакомитесь с основами программирования на Clojure на примерах решения повседневных задач, которые могут быть знакомы вам по другим, известным языкам программирования.
Эта книга продемонстрирует вам гибкость Clojure в решении типичных задач, таких как разработка веб-приложений и взаимодействие с базами данных. Вы быстро поймете, что этот язык помогает устранить ненужные сложности из своей практики и открывает новые пути решения сложных проблем, включая многопоточное программирование.
- используя Clojure, вы не потеряете свои инвестиции в платформу Java;
- в лице Clojure вы получите эффективную реализацию Lisp для JVM;
- функциональное программирование помогает избавиться от типичных ошибок;
- наличие проверенных временем инструментов упрощает создание надежных многопоточных программ;
- Clojure избавляет от необходимости применять сложные и пространные шаблоны проектирования;
- имеется возможность создавать собственные абстракции с помощью макросов, типов данных, протоколов и мультиметодов;
- поддерживается возможность развертывания крупных веб-приложений на сотнях узлов в облачных инфраструктурах.