
Вы бы снова использовали Clojure? Эти компании говорят «да» - и вот почему
6 июня 2025 г.Продолжая наше исследование через эпизоды 5–10 "Clojure в продукте. Вы бы сделали это снова?«Подкаст, мы столкнулись с командами, сталкивающимися с реалиями роста, развивающихся требований и долгосрочных последствий их выбора технологий. Эти разговоры с лидерами из праздников, Cycognito, Red Planet Labs, Mobot, Juston и Metabase показывают, как Clojure выполняет не только фазу медового месяца, но когда системные и командные масштабы.
Проблемы масштабирования и честные размышления
По мере продвижения наших разговоров мы встретили команды, имеющие дело со сложностями, которые сопровождаются успехом. Появилась картина, не была равномерно радужной - это были честные дискуссии о реальных проблемах наряду с подлинными достижениями.
Когда рост приносит разные перспективы
В Cycognito команда Yehonathan Sharvit создала свою платформу кибербезопасности почти полностью в Clojure, занимаясь миллионами событий в секунду, отображая цифровые активы для крупных предприятий. Но успех принес неожиданную динамику команды.
«Я думаю, что большинство разработчиков не очень нравится Clojure», - откровенно признается Шарвит. Проблема не была техническими возможностями - это была карьера. Некоторые разработчики беспокоятся о конкурентоспособности: «Если я хочу присоединиться к другой компании, я не буду знать о последних модулях JavaScript, React, WebPack».
Это подчеркивает реальность, с которой сталкиваются многие команды Clojure: сама стабильность, которая делает язык привлекательным для опытных разработчиков, может вызвать беспокойство по поводу того, что они текут с основными тенденциями.
Вопрос о миграции
Несколько команд оказались, что рассматривали переходы от Clojure, предлагая ценную информацию о том, когда и почему такие решения возникают. Cycognito перенесли части своей системы в TypeScript не из -за технических ограничений, а скорее из -за организационных проблем в отношении найма и удержания опыта.
Jereme Corrado в Moobot столкнулся с аналогичным давлением во время их раунда финансирования серии: «Должны ли мы повесить переднюю часть на основе Clojurescript и просто перейти к TypeScript и более широко принятым решениям?» Их решение придерживаться Clojure было основано на продемонстрированных результатах, а не на теоретических преимуществах.
Схема ясна: эти давления редко связаны с технической неадекватностью, а скорее от бизнес-соображений, связанных с строительством команды и долгосрочным обслуживанием.
Архитектура в масштабе
Самые амбициозные проекты в нашей серии продемонстрировали способность Clojure поддерживать сложные, долгосрочные усилия по развитию.
Построение новых парадигм
Десятилетнее путешествие Натана Марса Развитие Рамы иллюстрирует, как Clojure обеспечивает фундаментальные инновации. Начиная с исследования в 2013 году, Рама стал платформой, которая обобщает поиск событий и материализованные взгляды - что, по мнению Марса, не было бы практичным на других языках.
«Я не думаю, что Рама действительно был бы практичен на любом другом языке», - объясняет он. Способность определять новые парадигмы программирования в Clojure с использованием макросов, в сочетании с дисциплиной неизменности, сделала 10-летнюю исследование исследований и разработок с небольшой командой.
Их реализация в конечном итоге состояла из 200 000 строк исходного кода Clojure, плюс 250 000 строк тестов, однако она оставалась поддержанной и понятной для их команды из пяти человек.
Управление сложностью и свободой
Александр Йоханнес из Juston описывает их эволюцию от компании только Salesforce, которая создает свою собственную платформу Clojure. Переход выявил как силу Клоджаре, так и ее потенциальные ловушки.
«Вы находитесь в открытом поле. У вас нет границ, но вам снова нужны эти границы, чтобы выполнять значимую работу», - отмечает Йоханнес. Без надлежащей структуры команды могут получить то, что он называет «беспорядком».
Их решение включало в себя разработку четких архитектурных руководств и строгих процессов обзора кода, разработанных явным образом для гибкости Clojure - ключевым пониманием является то, что свобода требует дисциплины.
Преподавание и обучение
Одним из наиболее обнадеживающих моделей всех разговоров было то, как команды успешно выращивают свой опыт в Clojure, часто начинаются с нуля.
Практическая настройка
В Juston они разработали систематический подход: «Самая важная вещь для изучения Clojure - это прочитать код Clojure». Вместо длительных учебных программ они объединяют новых разработчиков с опытными членами команды и немедленно заставляют их работать над реальными проблемами.
Результаты говорят сами за себя - у них был один разработчик, который выучил Clojure в качестве своего первого профессионального языка, работая студентом, и он все еще с компанией спустя годы.
Совместное обучение
Команда Jereme Corrado в Mobot пошла на это дальше, создав стоящую встречу «обучение в области Clojure», где вся команда исследовала язык вместе. Этот совместный подход нормализовал процесс обучения и создал общее понимание по всей организации.
«Мы наняли двух разработчиков одновременно ... было около 40 кандидатов, что было много. И вроде качества, как ...» Эффект фильтра Clojure привлекал мотивированных кандидатов, которые действительно интересовались функциональными программированием.
Экосистема на практике
Наши разговоры показали, как команды ориентируются на экосистему Clojure и более широкий вопрос о стабильности языка по сравнению с инновациями.
Стабильность как функция
Общая жалоба на «застойные» библиотеки приобретает другое значение, когда вы понимаете, как работают успешные команды. Cam Saul из Metabase выражает это идеально:
«В Clojure вы пойдете, и вы найдете то, что никто не затронул через два года. И вы, как, я думаю, это просто работает очень хорошо».
Эта стабильность выходит за рамки отдельных библиотек. Метабаза успешно использовала кольцо и композицию в течение многих лет - не потому, что они застряли в прошлом, а потому, что эти инструменты продолжают эффективно решать свои проблемы.
Опираясь на прочные основы
Александр Йоханнес ценит эту стабильность с точки зрения бизнеса: «Мне это очень нравится, потому что стабильность всегда хороша, потому что вы знаете, что можете ожидать». Для компании, поддерживающей программное обеспечение в течение многих лет, эта предсказуемость имеет реальную ценность.
Контраст с экосистемой JavaScript является Stark. Как отмечает Кэм Саул: «Честно говоря, утомительно с такими языками, как JavaScript, не отставая от того, что такое рамки недели».
Открытый исходный код и сообщество
Путешествие Metabase в качестве крупного проекта Clojure с открытым исходным кодом дает уникальную информацию о том, как язык работает на публике, совместное развитие.
Качество через видимость
«Это не только мы смотрим на наш код, это потенциально кто -либо в мире, смотрящий на него», - объясняет Саул. Эта видимость создает положительное давление на качество кода и документацию.
Самоотборная природа участников Clojure стала очевидной: «Нам не приходится иметь дело с этим так много в Clojure. Некоторые люди приходят, пытаясь написать код Python в Clojure или что-то в этом роде, но не так много, как если бы у нас был проект Python».
От участников коллег
Metabase успешно наняла нескольких участников, которые начали с отправки запросов. Это создает естественный трубопровод для поиска разработчиков, которые не только понимают Clojure, но и уже продемонстрировали свою способность работать с конкретной кодовой базой.
Долгосрочная устойчивость
Самое убедительное понимание получено от команд с многолетним опытом работы в Clojure, иллюстрируя, как ранние решения со временем сочетаются.
Конкурентные преимущества
В Juston Александр Йоханнес обнаружил неожиданное преимущество: «Когда я приношу Clojure на стол в качестве компании, я снова привлекателен для определенной части разработчиков». Вместо того, чтобы ограничивать свой пул найма, Clojure стал конкурентным преимуществом в привлечении мотивированных разработчиков.
Похоже, что это отражает характер других компаний - Clojure - это фильтр, который привлекает разработчиков, заинтересованных в их работе и желающих заплатить цену обучения новым методам.
Выплата производительности
История роста Metabase иллюстрирует, как составьте преимущества Clojure по производительности.
Начиная с четырех человек, они в течение многих лет поддерживали небольшую команду, создавая продукт, который конкурирует с предприятиями, созданными гораздо более крупными командами.
«Clojure действительно позволяет нам много делать с крошечной командой», - размышляет Саул. «У нас не было такого давления, чтобы расширить до 500 человек рано. Мы смогли отправить много вещей с небольшой командой».
С нетерпением жду
Последние разговоры в нашей серии нарисовали реалистичную, но оптимистичную картину траектории Клоджаре. Вместо взрывного роста мы видим постоянное принятие команд, которые понимают его ценностное предложение.
То, что возникает, не просто набор историй успеха, а модель того, как вдумчивые технологические выборы создают устойчивые конкурентные преимущества. Команды, которые выбирают Clojure, не просто получают язык программирования-они получают философию развития, которая подчеркивает простоту, композицию и долгосрочную обслуживание.
Вопрос "Вы бы сделали это снова?" получает последовательный ответ на всех наших гостей. Как Кэм Саул резюмирует: «Как быстро несколько человек могут сделать вещи, и просто вся сила, которую он дает вам ... это действительно позволяет небольшой команде сделать вещи очень быстро».
Эти десять разговоров показывают, что истинная ценность Clojure заключается не в какой -либо единой функции, а в том, как это позволяет командам создавать устойчивые, масштабируемые системы с меньшим количеством людей, меньше сложности и больше внимания к решению реальных проблем. В индустрии, часто одержимой последними тенденциями, эти команды нашли что -то более ценное: стабильная основа для создания отличного программного обеспечения.
Оригинал