Меня всегда интересовали компьютеры, ZX81, ZX Spectrum и, наконец, настоящие ключи, Commodore64! Я до сих пор помню, как пытался понять, что могу напечатать «печать», а компьютер мог понять это вместо «P» на Спектруме, который выводил «Печать» на экран.

Мне это очень нравилось, и я, 13-летний мальчик, действительно думал, что он сможет писать программы для НАСА в кратчайшие сроки или взломать какой-нибудь секретный правительственный мэйнфрейм.

Прошло несколько лет, и футбол, девушки и выпивка заняли большую часть моего свободного времени, а компьютер в конце концов начал пылиться. В середине 1990-х годов, работая на разных должностях, я начал возвращаться к компьютерам с ПК 80286. Я тут же снова загорелся и проработал пару лет в небольшой компании без компьютеров. Именно здесь я узнал о сетях и серверах, убедив владельца в том, что создание IP-сети в каждом офисе и подключение их через глобальную сеть — это хорошо.

В конце концов я перешел во все более и более крупные компании, и по мере роста моей карьеры моя прямая связь с технологиями уменьшалась, пока не достигла почти нуля, когда я стал корпоративным архитектором. К счастью, примерно в это же время я начал читать огромное количество материалов о DevOps, быстрых петлях обратной связи и т. д. Это снова увлекло меня технологиями, и я захотел вернуться к кодированию, чтобы иметь возможность применять на практике способы работы, которые мне так нравились читать. о. Немного повозившись с Java и Python, я обратился к языку LISP — Clojure, благодаря сообщению в твиттере от Gene Kim. Я еще не очень много сделал с этим, но язык уже звучит в моем мозгу, и я взволнован, увидев, куда он меня приведет. По просьбе Джин Ким я привожу ниже подробную информацию о том, как я настроил себя.

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

ВСЕ НЕОБХОДИМЫЕ ИНСТРУМЕНТЫ

У меня есть Mac, но все перечисленные ниже инструменты могут работать и в Windows, хотя вы не будете использовать Homebrew. Приведенные ниже инструменты — это все, что вам нужно для написания кода и запуска Clojure.

Установите Java и Java JDK, используя приведенные выше ссылки. Лучше перезагрузиться после установки Java.

Установите homebrew, используя ссылку выше, и проверьте, чтобы убедиться, что он установлен, набрав «brew» в терминале…

$ brew

… и вы получите следующий результат

Чтобы установить leiningen, просто зайдите в терминал и введите

$ brew install leiningen

Чтобы проверить установку, введите терминал, который даст вам следующие результаты.

$ lein

Простота и красота Leiningen в том, что вы можете запускать Clojure отсюда без каких-либо дополнительных действий. Создайте новый каталог в любом месте на вашем Mac и перейдите туда в терминале

$ mkdir test
$ cd test
$ pwd
/Users/name/test

Затем мы можем создать небольшой проект в этом каталоге, набрав

$ lein new app testapp
$ ls
testapp

Это создало новый проект/каталог с именем testapp. Перейдите в этот каталог

$ cd testapp

Шаблон проекта уже готов к запуску без ввода кода. для запуска типа приложения

$ lein run

Вывод должен выглядеть так -

Всего 10 минут, и у нас работает Hello World! :-)

ДАВАЙТЕ ГРАФИЧЕСКИ

Чтобы немного облегчить жизнь, я использую IntelliJ в качестве своей интегрированной среды разработки (IDE) — причудливый редактор, если вы не знакомы. Установите версию сообщества, используя ссылку выше. Все значения по умолчанию подходят для этой установки.

После установки откройте IntelliJ и перейдите в настройки | плагины и найдите Clojure или Cursive. На снимке экрана ниже показан плагин, установленный в моей системе.

Перезапустите IntelliJ и, когда он запустится, откройте созданный ранее проект.

Проект откроется в IntelliJ, и вы сможете открыть каталоги слева, чтобы найти приложение, как показано на снимке экрана ниже.

Возможно, на правой панели может появиться сообщение с запросом о расположении Java SDK. Направьте приложение на более раннюю установку.

Если вы раньше использовали IDE, вы можете подумать, что можете просто запустить приложение. Вы можете сделать это, но вы увидите внизу, что «HelloWorld!» не появляется, хотя код выхода равен 0. Это связано с тем, что IDE не знает, как использовать Leiningen для запуска приложения. Чтобы исправить это, нажмите «добавить конфигурацию» в правом верхнем углу, после чего откроется окно «Конфигурации запуска/отладки», затем выберите «+» в верхнем левом углу и выберите Leiningen.

После нажатия измените имя на любое, которое вы хотите, я выбрал testapp, чтобы оно соответствовало имени проекта, а затем в разделе аргументов введите run -main

Нажмите «ОК»

Когда вы выбираете core.clj из дерева каталогов справа и видите код посередине, боль. Убедитесь, что в конфигурации, которую вы только что обновили, вы указали запуск с Leiningen.

Если вы сейчас запустите свой код, вы получите вывод «Hello World!». Теперь вы готовы кодировать.

РЕПЛ

Есть еще один очень полезный элемент REPL (Read Eval Print Loop) Leiningen включает REPL, так что не нужно ничего устанавливать.

В терминале перейдите в каталог testapp и введите

$ lein repl

И результат будет примерно таким, как показано ниже. Кроме того, после запуска repl, если вы наберете ( -main), то «Hello World!» приложение будет работать. Увидеть ниже.

REPL может быть как локальным, так и удаленным сервером. Настоящая прелесть REPL в том, что вы можете запускать небольшие фрагменты кода в командной строке. Таким образом, простой фрагмент кода clojure может быть (println "My name is Nick") Если вы наберете его в командной строке в REPL, он напечатает Меня зовут Ник.

Точно так же, как мы добавили Leiningen, мы также можем добавить REPL в IntelliJ, чтобы у нас была командная строка и возможность запускать небольшие фрагменты кода для облегчения отладки. В IntelliJ нажмите «изменить конфигурацию» в правом верхнем углу и выберите «+» | «Clojure REPL» | 'Местный'

Дайте имя repl и оставьте все остальные настройки по умолчанию и нажмите «ОК».

Там, где в правом верхнем углу отображается repl, щелкните зеленую стрелку, чтобы запустить repl. Вы можете увидеть вывод ниже

В правом нижнем углу теперь у вас есть командная строка в repl. Поэтому, если вы введете ( -main) в поле, будет запущено «Hello World!» приложение. Вы также можете запускать команды, вычисления и т. д.

Наконец, если у вас есть несколько файлов и вы хотите выбрать, какой файл загружается в repl. Щелкните правой кнопкой мыши и выберите repl|Загрузить файл в REPL.

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