Вы бы снова использовали Clojure? Эти компании говорят «да» - и вот почему

Вы бы снова использовали 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 заключается не в какой -либо единой функции, а в том, как это позволяет командам создавать устойчивые, масштабируемые системы с меньшим количеством людей, меньше сложности и больше внимания к решению реальных проблем. В индустрии, часто одержимой последними тенденциями, эти команды нашли что -то более ценное: стабильная основа для создания отличного программного обеспечения.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE