Программирование в REPL - введение

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

Что такое REPL?

Clojure REPL (расшифровывается как Read-Eval-Print Loop) - это среда программирования, которая позволяет программисту взаимодействовать с запущенной программой Clojure и изменять ее, оценивая по одному выражению кода за раз.

Clojure REPL в терминале

Рисунок 1. Clojure REPL в окне терминала

Интегрированный в редактор Clojure REPL

Рисунок 2. Интегрированный в редактор Clojure REPL

Зачем использовать REPL?

Clojure REPL предоставляет программисту интерактивный опыт разработки. При разработке новой функциональности он позволяет создавать программы, сначала выполняя небольшие задачи вручную, как если бы он был компьютером, а затем постепенно автоматизировать их, пока желаемая функциональность не будет полностью запрограммирована. При отладке REPL делает выполнение программ осязаемым: он позволяет программисту быстро воспроизвести проблему, внимательно наблюдать за ее симптомами, а затем импровизировать эксперименты, чтобы быстро выявить причину ошибки и итерационно продвигаться к ее устранению.

Многие программисты на Clojure считают REPL и обеспечиваемую им тесную обратную связь самой убедительной причиной для использования Clojure. Это не означает, что языковые особенности Clojure, такие как неизменяемые структуры данных, не являются ценными: Clojure REPL получает большую часть своего влияния за счет этих особенностей, в частности потому, что Clojure был разработан с учетом интерактивной разработки.

В Clojure программист обычно использует REPL для широкого спектра задач программирования, когда в другом языке он обратился бы к другим инструментам. К таким задачам относятся:

По сути, причина, по которой программисты используют REPL для всех этих задач, всегда одна и та же: потому что они хотят получить сочетание автоматизации и импровизации, которое не могут обеспечить ни полностью ручные инструменты (такие как приборная панель, консоли и т.д.), ни полностью автоматизированные (такие как скрипты), сохраняя свой рабочий процесс сосредоточенным в одной полнофункциональной среде программирования.

О чем пойдет речь в этом руководстве

Это руководство начнется с того, что вы начнете работать с Clojure REPL, а затем постепенно перейдет к более продвинутым способам использования Clojure REPL.

В зависимости от ваших потребностей, вам может не понадобиться читать это руководство целиком:

Сначала мы узнаем, как запустить базовый Clojure REPL.