Разработка и Конфигурация · 11 мин
Почему программисты не любят 1С и что с этим делать
Разбираем, почему программисты не любят 1С: русскоязычный синтаксис, замкнутая экосистема, отладка и карьерные риски. Как минимизировать неудобства в работе.
Разработчики, пришедшие в 1С из Java, C#, Python или JavaScript, нередко испытывают настоящий культурный шок. Платформа ломает привычные представления о том, как должны выглядеть язык программирования, среда разработки и сам процесс работы с кодом. При этом одновременно существует устойчивый спрос на 1С-специалистов и достойный уровень оплаты — и это противоречие порождает постоянные споры в профессиональном сообществе.
Неприязнь к 1С редко бывает иррациональной. За ней стоят конкретные технические и организационные причины: изолированная экосистема, необычный язык, ограниченные инструменты отладки и тестирования, а также специфика задач, где бизнес-логика важнее алгоритмической чистоты. Понимание этих причин помогает трезво оценить, стоит ли связывать карьеру с платформой, а тем, кто уже работает с 1С, — выстроить комфортный процесс.
Материал не ставит целью ни обелить, ни очернить платформу. Каждая претензия разобрана по существу: где критика справедлива, где речь идёт о привычке, а где проблема решается настройкой процессов и инструментов.
Замкнутая экосистема и привязка к одному вендору
Главная претензия опытных разработчиков — платформа 1С не вписывается в общую индустрию. Весь мир пишет на языках с открытыми спецификациями, использует Git, разворачивает приложения в контейнерах и собирает проекты через стандартные системы сборки. В 1С всё своё: свой язык, своя среда разработки, свой формат хранения кода, свои механизмы обновления.
Навыки, накопленные в 1С, почти не конвертируются в другие области разработки. Специалист с десятилетним опытом в платформе при переходе на другой стек фактически начинает с позиции джуниора по части инструментария, хотя его понимание предметной области и архитектуры остаётся ценным. Эта «односторонняя дверь» пугает тех, кто привык думать о карьере горизонтально.
Отдельный источник раздражения — зависимость от решений вендора. Изменения в платформе, лицензионной политике или типовых конфигурациях нельзя ни проигнорировать, ни форкнуть. Команда вынуждена адаптироваться к чужой дорожной карте, что для инженера, привыкшего к open source, ощущается как потеря контроля.
Русскоязычный синтаксис и особенности встроенного языка
Встроенный язык 1С допускает написание кода на русском: «Если», «Для Каждого», «Процедура», «Функция». Для бухгалтера, читающего код, это плюс. Для программиста, выросшего на англоязычной терминологии, — постоянный источник дискомфорта. Код выглядит непривычно, мешает мышечной памяти, а смешение русских и английских идентификаторов в одном проекте ухудшает читаемость.
Язык также ограничен по сравнению с языками общего назначения: нет полноценных лямбда-выражений в привычном виде, ограничены возможности функционального программирования, система типов мягкая и динамическая, что отодвигает часть ошибок с этапа компиляции на этап выполнения. Многие привычные паттерны проектирования либо неприменимы, либо реализуются громоздко.
Справедливости ради: платформа позволяет писать код и на английском синтаксисе, а строгие соглашения об именовании внутри команды снимают часть проблем. Но сам факт, что язык существует только внутри платформы, означает отсутствие внешних компиляторов, линтеров уровня промышленных стандартов и богатой библиотечной экосистемы.
Среда разработки, отладка и контроль версий
Конфигуратор и даже более современная среда 1C:Enterprise Development Tools (EDT) проигрывают зрелым IDE вроде IntelliJ IDEA или Visual Studio по скорости работы, качеству рефакторинга и навигации по коду. Автодополнение, поиск использований, безопасное переименование — всё это либо появилось относительно недавно, либо работает с оговорками на больших конфигурациях.
Исторически сложившаяся модель хранения кода — база данных конфигурации, а не текстовые файлы — десятилетиями мешала нормальному командному версионированию. Хранилище конфигураций решает задачу совместной работы, но по гибкости не сравнится с Git: ветвление, слияние и код-ревью реализованы примитивно. Выгрузка конфигурации в файлы и интеграция с Git возможна, но требует дисциплины и дополнительной настройки.
Что реально улучшает ситуацию
Переход на EDT, выгрузка конфигурации в XML-формат и хранение проекта в Git дают команде привычный рабочий процесс: ветки под задачи, ревью через merge request, историю изменений по строкам. Это не устраняет платформенных ограничений, но снимает самую острую боль ежедневной работы.
- 1Переведите разработку на EDT и выгрузите конфигурацию в файловый формат
- 2Настройте репозиторий Git и исключите из него служебные и временные файлы
- 3Введите правило: одна задача — одна ветка, слияние только через ревью
- 4Добавьте автоматическую проверку выгрузки и сборки на тестовом стенде
- 5Проверьте, что из репозитория можно восстановить рабочую конфигурацию на чистой базе
Слабая культура тестирования и CI/CD
В мейнстримной разработке автоматические тесты, статический анализ и непрерывная интеграция — норма, а не роскошь. В мире 1С культура тестирования развита заметно слабее. Платформа долго не предоставляла встроенных средств модульного тестирования, и во многих командах проверка изменений до сих пор сводится к ручному прокликиванию сценариев в тестовой базе.
Инструменты существуют: фреймворки тестирования, средства сценарных проверок интерфейса, решения для статического анализа кода. Но их внедрение требует усилий, а типовая конфигурация со множеством доработок плохо поддаётся изолированному тестированию из-за плотной связанности объектов и зависимости от данных.
Для программиста, привыкшего, что любой коммит прогоняется через тысячи тестов за минуты, работа «на глазок» выглядит непрофессионально. Это одна из самых обоснованных претензий к экосистеме — и одновременно область, где грамотная команда может сильно выделиться.
Специфика задач: бизнес-логика вместо алгоритмов
Многих разработчиков отталкивает сам характер работы. Вместо проектирования высоконагруженных сервисов, оптимизации алгоритмов или работы с распределёнными системами 1С-программист занимается проводками, печатными формами, отчётами и обменами данными. Значительная часть задач — это аккуратная реализация требований учёта, а не инженерные вызовы.
Дополнительный стресс создаёт близость к бизнесу: требования часто меняются, формулируются нечётко, а сроки привязаны к отчётным периодам и изменениям законодательства. Ошибка в коде может привести не к падению сервиса с откатом за минуту, а к неверной отчётности и финансовым последствиям для компании.
С другой стороны, именно эта близость к реальной экономике обеспечивает стабильный спрос на специалистов. Разработчик, понимающий учётные механизмы, становится незаменимым — но для этого нужно принять, что предметная область важнее технологической чистоты.
Сравнение вариантов
Подходит тем, кому интересна бизнес-логика и стабильный спрос. Ограничение: навыки слабо переносятся на другой стек.
Работает, если сознательно развивать смежные навыки: SQL, интеграции, веб-сервисы. Риск: через несколько лет переход станет психологически сложнее.
Оправдан, если раздражает сама модель разработки и предметная область неинтересна. Потеря — устойчивый рынок вакансий.
Как снизить болезненность работы с платформой
Большая часть негатива к 1С связана не с самой платформой, а с процессами в конкретной команде. Ручное обновление рабочих баз, отсутствие ревью, правки «на живую», хаотичные доработки типовых конфигураций — всё это организационные проблемы, которые решаются без смены стека.
Реально работающий набор мер: вести код в Git через файловую выгрузку, использовать EDT, внедрить хотя бы базовые автоматические проверки, регламентировать доработки типовых объектов через расширения вместо прямого изменения конфигурации, держать актуальную тестовую среду. Каждая из этих практик по отдельности даёт заметный эффект.
Полезно и осознанное развитие смежных компетенций: язык запросов и знание СУБД, механизмы интеграции через HTTP-сервисы и очереди сообщений, администрирование кластера. Эти навыки частично переносимы и делают специалиста сильнее внутри экосистемы.
Кому всё-таки стоит идти в 1С-разработку
Платформа подходит тем, кто получает удовлетворение от решения прикладных задач и видит ценность в понимании того, как устроен учёт и бизнес-процессы. Порог входа ниже, чем в мейнстримную разработку, а спрос на квалифицированных специалистов устойчив, что делает 1С разумной точкой входа в профессию.
Не стоит идти в 1С, если главная мотивация — работа с современным технологическим стеком, участие в open source и мобильность между компаниями и странами. В этом случае ежедневное раздражение от ограничений платформы будет накапливаться и рано или поздно приведёт к выгоранию.
Честная самооценка на старте экономит годы: попробуйте выполнить несколько реальных задач на учебной конфигурации, прежде чем принимать решение о специализации. Две недели практики скажут о совместимости с платформой больше, чем любые обзоры.
Как выбрать действие
Что важно запомнить
Неприязнь программистов к 1С имеет конкретные причины: изоляция экосистемы, непривычный язык, слабые инструменты тестирования и узкая переносимость навыков. Часть проблем снимается дисциплиной процессов — Git, EDT, расширения, тестовые среды. Решение о работе с платформой стоит принимать по совместимости с предметной областью, а не по моде.
Частые вопросы
1С — это вообще настоящее программирование?
Да. Встроенный язык платформы поддерживает процедуры и функции, объектную модель, обработку исключений и работу с запросами. Специфика в том, что язык существует только внутри платформы и ориентирован на прикладные задачи учёта, а не на системное или алгоритмическое программирование.
Можно ли писать код 1С на английском языке?
Да, встроенный язык имеет англоязычный вариант синтаксиса, и конфигуратор позволяет использовать его. На практике большинство команд в русскоязычном сегменте пишут на русском варианте, поэтому при чужом коде придётся сталкиваться с обоими стилями.
Портит ли опыт в 1С резюме для других направлений?
Не портит, но и почти не засчитывается как опыт в другом стеке. Ценность сохраняют смежные навыки: SQL, проектирование интеграций, понимание бизнес-процессов. При переходе в другую область на них и стоит делать акцент.
Есть ли в 1С нормальный контроль версий?
Штатное хранилище конфигураций поддерживает совместную работу, но уступает Git по гибкости. Рабочее решение — выгрузка конфигурации в файлы через EDT и ведение проекта в Git с ветками и ревью. Это требует настройки, но полностью окупается в команде.
Почему при всех недостатках 1С так распространена?
Платформа закрывает массовую потребность малого и среднего бизнеса в учёте, соответствующем местному законодательству, с быстрым внедрением и низкой стоимостью владения. Технологическая элегантность здесь уступает место практической ценности — и именно это обеспечивает рынок.
С чего начать, чтобы проверить, подойдёт ли мне 1С?
Установите учебную версию платформы, возьмите демонстрационную конфигурацию и реализуйте две-три прикладные задачи: доработку документа, отчёт и простую интеграцию. Реакция на реальную работу за пару недель покажет совместимость с платформой точнее любых обзоров.