В рамках осваивания Clojure, который олицетворяет для меня не только новый язык, но и новую парадигму программирования, я написал простейший клиент для Jamendo — интернет-сообщества музыкантов, использующих свободные лицензии. Это моя первая программа на Clojure.

Клиент имеет относительно скромные возможности. Он умеет выполнять поиск альбомов в Jamendo по ключевому слову, выводить список песен в выбранном альмобе, а также URL’ы потоков с этими песнями. Клиент полностью консольный, интерфейса у него в принципе нет — вся работа с ним осуществляется через ключи командной строки. Обусловлено это тем, что клиент планируется использовать в различных shell-скриптах.

Как уже думаю некоторые догадались, музыку он воспроизводить не умеет — я решил, что не стоит плодить сущности и наращивать сложность программы. Пусть музыку воспроизводит MPlayer или любая подобная программа, которая получит список URL’ов с песнями через какой-нибудь xargs или из файла, куда они были записаны моим клиентом.

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

Ссылка на проект на GitHub’е: https://github.com/eugeneandrienko/jamendo-client

Ссылка на ещё один git репозиторий: git.eugene-andrienko.com/jamendo-client/log.html

clojure