1 added
1 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>22 окт 2021</li>
2
<ul><li>22 окт 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Погружаемся в загадочный мир русскоязычного программирования. Бывший 1С-разработчик рассказал, как устроена платформа и что изменилось за 20 лет.</p>
4
</ul><p>Погружаемся в загадочный мир русскоязычного программирования. Бывший 1С-разработчик рассказал, как устроена платформа и что изменилось за 20 лет.</p>
5
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
5
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
6
<p>Фёдор Езеев</p>
6
<p>Фёдор Езеев</p>
7
<p><strong>об эксперте</strong></p>
7
<p><strong>об эксперте</strong></p>
8
<p>Фёдор Езеев, в Twitter<a>@fezeev</a>. Индивидуальный предприниматель, пишет на 1С и Python. Увлекается яхтингом и самогоноварением.</p>
8
<p>Фёдор Езеев, в Twitter<a>@fezeev</a>. Индивидуальный предприниматель, пишет на 1С и Python. Увлекается яхтингом и самогоноварением.</p>
9
<p>Я начал программировать на 1С в 1998 году. Довольно долго поработал на версиях 7.5, 7.7 и немного с восьмой, но она не легла на душу. Именно тогда я ушёл из 1С. Сейчас только помогаю поддерживать конфигурацию одного проекта на семёрке.</p>
9
<p>Я начал программировать на 1С в 1998 году. Довольно долго поработал на версиях 7.5, 7.7 и немного с восьмой, но она не легла на душу. Именно тогда я ушёл из 1С. Сейчас только помогаю поддерживать конфигурацию одного проекта на семёрке.</p>
10
<p>Сколько бы ни ругали экосистему "1С", у неё есть ряд достоинств.</p>
10
<p>Сколько бы ни ругали экосистему "1С", у неё есть ряд достоинств.</p>
11
<p><strong>Платформа хорошо продумана и структурирована.</strong>Есть чёткий шаблон Model-View-Controller, визуализированная база данных и свой объектно-ориентированный язык. Правда, несмотря на объектоориентированность, создавать свои объекты можно с большими ограничениями.</p>
11
<p><strong>Платформа хорошо продумана и структурирована.</strong>Есть чёткий шаблон Model-View-Controller, визуализированная база данных и свой объектно-ориентированный язык. Правда, несмотря на объектоориентированность, создавать свои объекты можно с большими ограничениями.</p>
12
<p><strong>Упрощает вход в разработку русскоговорящему человеку.</strong>Язык хоть и специфичный, но в целом не хуже и не лучше других. Операторы 1С и документация написаны на русском. Кстати, именно это не нравится большинству ненавистников 1С.</p>
12
<p><strong>Упрощает вход в разработку русскоговорящему человеку.</strong>Язык хоть и специфичный, но в целом не хуже и не лучше других. Операторы 1С и документация написаны на русском. Кстати, именно это не нравится большинству ненавистников 1С.</p>
13
Изображение: Public Domain<p>Я думаю, не важно, на каком языке писать команды: на русском или английском, на Python или С. Когда разработчик уверенно владеет синтаксисом, он просто берёт и программирует. А если плавает, то постоянно будет ошибаться и тратить время на поиски правильного варианта в документации. И, конечно, многое зависит от внимательности: пропустить табуляцию или точку с запятой можно в любом языке.</p>
13
Изображение: Public Domain<p>Я думаю, не важно, на каком языке писать команды: на русском или английском, на Python или С. Когда разработчик уверенно владеет синтаксисом, он просто берёт и программирует. А если плавает, то постоянно будет ошибаться и тратить время на поиски правильного варианта в документации. И, конечно, многое зависит от внимательности: пропустить табуляцию или точку с запятой можно в любом языке.</p>
14
<p>Для тех, кто не любит программировать на русском, в 1С есть англоязычные аналоги операторов. Однако я считаю, что их использование снижает поддерживаемость кода - большинство 1С-программистов пишут и читают только на русском.</p>
14
<p>Для тех, кто не любит программировать на русском, в 1С есть англоязычные аналоги операторов. Однако я считаю, что их использование снижает поддерживаемость кода - большинство 1С-программистов пишут и читают только на русском.</p>
15
<p><strong>Из 1С несложно перейти на другой стек.</strong>Платформа хоть и специфическая, но во многом похожа на другие популярные языки. Сейчас я работаю в проекте на Flask и скажу, что 1С вполне можно сравнить с Python. Там, например, похожая "утиная типизация": если объект крякает, значит, это утка.</p>
15
<p><strong>Из 1С несложно перейти на другой стек.</strong>Платформа хоть и специфическая, но во многом похожа на другие популярные языки. Сейчас я работаю в проекте на Flask и скажу, что 1С вполне можно сравнить с Python. Там, например, похожая "утиная типизация": если объект крякает, значит, это утка.</p>
16
<p><strong>Удобно собирать проекты.</strong>Интеграция моделей и контроллера в 1С реализована по-человечески: просто накидываете в конфигураторе поля - и никакой головной боли. Конфигуратор - это такая "одинэсная" IDE, в которой есть все нужные модули. Не нужно собирать кучу маленьких файликов: одна неделимая конфигурация управляет компонентами и автоматически их связывает. Иногда мне этого не хватает в остальных IDE и языках, где надо прописывать взаимосвязи модулей вручную.</p>
16
<p><strong>Удобно собирать проекты.</strong>Интеграция моделей и контроллера в 1С реализована по-человечески: просто накидываете в конфигураторе поля - и никакой головной боли. Конфигуратор - это такая "одинэсная" IDE, в которой есть все нужные модули. Не нужно собирать кучу маленьких файликов: одна неделимая конфигурация управляет компонентами и автоматически их связывает. Иногда мне этого не хватает в остальных IDE и языках, где надо прописывать взаимосвязи модулей вручную.</p>
17
<p><strong>Самодостаточная платформа.</strong>На самом деле это палка о двух концах. С одной стороны, 95% типовых задач в 1С можно решить без напряга и сторонних модулей - это заметно ускоряет разработку. С другой - закрытость уменьшает свободу действий, а в редких 5% случаев приходится собирать костыли и велосипеды либо прикручивать сторонние компоненты. В некоторых случаях проблему просто невозможно решить.</p>
17
<p><strong>Самодостаточная платформа.</strong>На самом деле это палка о двух концах. С одной стороны, 95% типовых задач в 1С можно решить без напряга и сторонних модулей - это заметно ускоряет разработку. С другой - закрытость уменьшает свободу действий, а в редких 5% случаев приходится собирать костыли и велосипеды либо прикручивать сторонние компоненты. В некоторых случаях проблему просто невозможно решить.</p>
18
-
<p>Семёрка была более открытой, чем нынешняя восьмая версия. Это позволяло хакерам-энтузиастам писать многочисленные внешние компоненты, которые существенно расширяли возможности седьмой версии. Я, например, участвовал в разработке 1С++ и ряда других дополнений.</p>
18
+
<p>Семёрка была более открытой, чем нынешняя восьмая версия. Это позволяло хакерам-энтузиастам писать многочисленные внешние компоненты, которые существенно расширяли возможности седьмой версии. Я, например, участвов��л в разработке 1С++ и ряда других дополнений.</p>
19
<p>1С++ - это независимая от компании внешняя компонента, которая расширяла возможности седьмой версии. В частности, появилось полноценное объектно-ориентированное программирование: разработчики теперь могли создавать свои классы.</p>
19
<p>1С++ - это независимая от компании внешняя компонента, которая расширяла возможности седьмой версии. В частности, появилось полноценное объектно-ориентированное программирование: разработчики теперь могли создавать свои классы.</p>
20
<p>Ещё добавили прямые запросы к базе данных, что заметно ускорило построение отчётов. В стандартном 1С нужно использовать специальную "прокладку": писать запрос на языке системы, который потом транслируется в SQL. Появилась компонента FormEx, которая давала свободу в работе с экранными формами - раньше, например, в 1С нельзя было программно поменять форму.</p>
20
<p>Ещё добавили прямые запросы к базе данных, что заметно ускорило построение отчётов. В стандартном 1С нужно использовать специальную "прокладку": писать запрос на языке системы, который потом транслируется в SQL. Появилась компонента FormEx, которая давала свободу в работе с экранными формами - раньше, например, в 1С нельзя было программно поменять форму.</p>
21
<p>Потом разработчики залезли внутрь конфигуратора, расширили его возможности, добавили автокомплит и навигацию по методам. Постепенно собралось сообщество, которое дорабатывало седьмую версию. Проекты выпускали под лицензией GPL. Кажется, бизнес и разработчики были счастливы.</p>
21
<p>Потом разработчики залезли внутрь конфигуратора, расширили его возможности, добавили автокомплит и навигацию по методам. Постепенно собралось сообщество, которое дорабатывало седьмую версию. Проекты выпускали под лицензией GPL. Кажется, бизнес и разработчики были счастливы.</p>
22
<p>Я, как мог, помогал ребятам организационно: администрировал форум и репозиторий, куда разработчики коммитили свои доработки, и был техническим менеджером. В то время я знал несколько десятков разработчиков, которые развивали платформу.</p>
22
<p>Я, как мог, помогал ребятам организационно: администрировал форум и репозиторий, куда разработчики коммитили свои доработки, и был техническим менеджером. В то время я знал несколько десятков разработчиков, которые развивали платформу.</p>
23
Скриншот: интерфейс программы "1С:Бухгалтерия 8.3"<p>В 2002 году вышла восьмая версия, а с ней - новые правила пользования.</p>
23
Скриншот: интерфейс программы "1С:Бухгалтерия 8.3"<p>В 2002 году вышла восьмая версия, а с ней - новые правила пользования.</p>
24
<p><strong>Компания поменяла лицензионное соглашение.</strong>Если точнее - они его просто написали. В предыдущих версиях формального лицензионного соглашения вообще не было.</p>
24
<p><strong>Компания поменяла лицензионное соглашение.</strong>Если точнее - они его просто написали. В предыдущих версиях формального лицензионного соглашения вообще не было.</p>
25
<p>Пользователи знали, что права на движок принадлежат "1С", а на кастомную конфигурацию - разработчикам конфигурации. В новом лицензионном соглашении движок 8.x и конфигурация стали чем-то неделимым, а значит, права на все конфигурации тоже становились собственностью компании "1С". Возможно, сейчас что-то изменилось, но вряд ли.</p>
25
<p>Пользователи знали, что права на движок принадлежат "1С", а на кастомную конфигурацию - разработчикам конфигурации. В новом лицензионном соглашении движок 8.x и конфигурация стали чем-то неделимым, а значит, права на все конфигурации тоже становились собственностью компании "1С". Возможно, сейчас что-то изменилось, но вряд ли.</p>
26
<p><strong>"1С" стала ещё более закрытой платформой.</strong>В восьмёрке появилось много новых фич, и мне понравилось, что создатели пошли по этому пути, но по-моему, компания так и не довела это до логического конца. Экосистема "1С" достаточно закрытая, и, судя по всему, это осознанная политика компании. Именно поэтому у других программистов может возникать несколько снисходительное отношение к 1С-разработчикам: они варятся в своём котле, и у них нет ни желания, ни потребности выходить за рамки 1С.</p>
26
<p><strong>"1С" стала ещё более закрытой платформой.</strong>В восьмёрке появилось много новых фич, и мне понравилось, что создатели пошли по этому пути, но по-моему, компания так и не довела это до логического конца. Экосистема "1С" достаточно закрытая, и, судя по всему, это осознанная политика компании. Именно поэтому у других программистов может возникать несколько снисходительное отношение к 1С-разработчикам: они варятся в своём котле, и у них нет ни желания, ни потребности выходить за рамки 1С.</p>
27
<p>Когда конфигурации "1С" стали очень большими, понадобились инструменты коллективной разработки. Вместо того чтобы осуществить интеграцию с CVS, SVN, Git или Mercurial, в "1С" решили создать своё хранилище конфигураций, которое не поддерживало ни один популярный инструмент. Поэтому 1С-программисты работают внутри одной экосистемы, которая полностью изолирует их от внешней среды.</p>
27
<p>Когда конфигурации "1С" стали очень большими, понадобились инструменты коллективной разработки. Вместо того чтобы осуществить интеграцию с CVS, SVN, Git или Mercurial, в "1С" решили создать своё хранилище конфигураций, которое не поддерживало ни один популярный инструмент. Поэтому 1С-программисты работают внутри одной экосистемы, которая полностью изолирует их от внешней среды.</p>
28
<p>Бизнес "1С" полностью построен на франшизе. Компания выпускает платформу, а её продажей, доработкой конфигураций и внедрением в конечных организациях занимаются франчайзи. Компании подписывают с "1С" договор франшизы и получают скидки на коробки с софтом. Если собираетесь стать 1С-программистом, то лучше сразу идти в фирму-франчайзи.</p>
28
<p>Бизнес "1С" полностью построен на франшизе. Компания выпускает платформу, а её продажей, доработкой конфигураций и внедрением в конечных организациях занимаются франчайзи. Компании подписывают с "1С" договор франшизы и получают скидки на коробки с софтом. Если собираетесь стать 1С-программистом, то лучше сразу идти в фирму-франчайзи.</p>
29
<p>Но франчайзи тоже бывают мелкие и крупные, плохие и хорошие. И среди десятков компаний нужно выбрать лучшую (ну, или не самую плохую). Нельзя напрямую пойти учиться в "1С". Сначала нужно устроиться к франчайзи, а потом компания направит вас на курсы, по окончании которых нужно сдать двухступенчатый экзамен.</p>
29
<p>Но франчайзи тоже бывают мелкие и крупные, плохие и хорошие. И среди десятков компаний нужно выбрать лучшую (ну, или не самую плохую). Нельзя напрямую пойти учиться в "1С". Сначала нужно устроиться к франчайзи, а потом компания направит вас на курсы, по окончании которых нужно сдать двухступенчатый экзамен.</p>
30
<p>Организации тоже не могут напрямую обратиться в "1С" с заказом - там только дадут список франчайзи. Есть ещё много независимых 1С-программистов. Обычно это опытные специалисты с репутацией и наработанной клиентской базой.</p>
30
<p>Организации тоже не могут напрямую обратиться в "1С" с заказом - там только дадут список франчайзи. Есть ещё много независимых 1С-программистов. Обычно это опытные специалисты с репутацией и наработанной клиентской базой.</p>
31
<p>Когда я начинал, в 1998-2000 годах, "1С" была на подъёме, а 1С-разработчиков не хватало. Даже человек, который просто ездил по фирмам и обновлял регламентную отчётность, мог вполне неплохо заработать. А если он решал большие задачи для бизнеса, то получал 20-30 долларов в час. Тогда франчайзи забирали около половины заработанных денег.</p>
31
<p>Когда я начинал, в 1998-2000 годах, "1С" была на подъёме, а 1С-разработчиков не хватало. Даже человек, который просто ездил по фирмам и обновлял регламентную отчётность, мог вполне неплохо заработать. А если он решал большие задачи для бизнеса, то получал 20-30 долларов в час. Тогда франчайзи забирали около половины заработанных денег.</p>
32
<p>Основная ниша "1С" - автоматизация бизнеса: различные виды учёта (в первую очередь бухгалтерский) и управленческие задачи. Там есть инструменты для управления денежным потоком, товарооборотом, кадровым и налоговым учётом. Поскольку в России бизнес ведут по разным схемам, платформа позволяет их реализовать и отслеживать, чтобы менеджмент видел всю картину.</p>
32
<p>Основная ниша "1С" - автоматизация бизнеса: различные виды учёта (в первую очередь бухгалтерский) и управленческие задачи. Там есть инструменты для управления денежным потоком, товарооборотом, кадровым и налоговым учётом. Поскольку в России бизнес ведут по разным схемам, платформа позволяет их реализовать и отслеживать, чтобы менеджмент видел всю картину.</p>
33
<p>Думаю, если глубоко погружаться в суть задач, а не просто писать код по техзаданию, можно достаточно быстро вырасти до продакт-менеджера. Дело в том, что 1С-разработчику ставят задачи в терминах бизнеса, а он их транслирует на язык программирования. Поэтому мне кажется, что 1С-программисты гораздо быстрее вникают в бизнес-процессы, лучше понимают язык бизнеса и задачи. Как только вы это почувствуете, начнёте очень быстро расти, а окружающие полюбят вас и зауважают.</p>
33
<p>Думаю, если глубоко погружаться в суть задач, а не просто писать код по техзаданию, можно достаточно быстро вырасти до продакт-менеджера. Дело в том, что 1С-разработчику ставят задачи в терминах бизнеса, а он их транслирует на язык программирования. Поэтому мне кажется, что 1С-программисты гораздо быстрее вникают в бизнес-процессы, лучше понимают язык бизнеса и задачи. Как только вы это почувствуете, начнёте очень быстро расти, а окружающие полюбят вас и зауважают.</p>
34
Фото: 4Max / Shutterstock<p>На 1С реализованы довольно крупные проекты с большим количеством пользователей и объёмом данных. Там всегда найдутся задачи для работы в команде: например, оптимизация алгоритмов и работы с базой данных, прокачка user experience (да, формы в "1С" тоже должны быть удобными). В этом язык 1С похож на другие стеки - задачи одни и те же, просто инструменты разные.</p>
34
Фото: 4Max / Shutterstock<p>На 1С реализованы довольно крупные проекты с большим количеством пользователей и объёмом данных. Там всегда найдутся задачи для работы в команде: например, оптимизация алгоритмов и работы с базой данных, прокачка user experience (да, формы в "1С" тоже должны быть удобными). В этом язык 1С похож на другие стеки - задачи одни и те же, просто инструменты разные.</p>
35
<p>Сейчас вся разработка переезжает в веб. "1С" - это в первую очередь тяжёлые приложения в классическом понимании - на компьютере у бухгалтера. Но постепенно экосистема движется в сторону тонкого клиента и веб-версий. Приложения можно размещать в облаке, и тогда даже серверы будут не нужны.</p>
35
<p>Сейчас вся разработка переезжает в веб. "1С" - это в первую очередь тяжёлые приложения в классическом понимании - на компьютере у бухгалтера. Но постепенно экосистема движется в сторону тонкого клиента и веб-версий. Приложения можно размещать в облаке, и тогда даже серверы будут не нужны.</p>
36
<p>Но рынок "1С" очень локальный и в первую очередь заточен на Россию, немного на Украину и Казахстан. Если вы уверены, что никогда не захотите выйти на международный IT-рынок, то можно смело осваивать 1С. Скорее всего, как минимум 10-20 лет у вас будет много работы.</p>
36
<p>Но рынок "1С" очень локальный и в первую очередь заточен на Россию, немного на Украину и Казахстан. Если вы уверены, что никогда не захотите выйти на международный IT-рынок, то можно смело осваивать 1С. Скорее всего, как минимум 10-20 лет у вас будет много работы.</p>
37
<p>С другой стороны, IT-рынок тем и интересен, что, находясь в условной Пензе, можно работать в американских корпорациях, получать американскую зарплату и чувствовать себя хозяином жизни. С 1С это труднее представить.</p>
37
<p>С другой стороны, IT-рынок тем и интересен, что, находясь в условной Пензе, можно работать в американских корпорациях, получать американскую зарплату и чувствовать себя хозяином жизни. С 1С это труднее представить.</p>
38
<p>Есть альтернативный путь - вырасти в продакт-менеджера, бизнес-аналитика или системного архитектора. По крайней мере, мой опыт показывает, что лучше двигаться в сферу на стыке бизнеса и программирования. Потому что этого добра в "1С" более чем достаточно, это то, с чего всё начинается.</p>
38
<p>Есть альтернативный путь - вырасти в продакт-менеджера, бизнес-аналитика или системного архитектора. По крайней мере, мой опыт показывает, что лучше двигаться в сферу на стыке бизнеса и программирования. Потому что этого добра в "1С" более чем достаточно, это то, с чего всё начинается.</p>
39
<p>Братья Нуралиевы (основатели "1С") создали огромную корпорацию, но в какой-то момент потеряли интерес к производству бизнес-софта и ушли в дистрибуцию мультимедиа и компьютерных игр. Тем не менее начальный задел и энергия франчайзи продолжают толкать этот поезд вперёд и будут толкать его ещё довольно долго.</p>
39
<p>Братья Нуралиевы (основатели "1С") создали огромную корпорацию, но в какой-то момент потеряли интерес к производству бизнес-софта и ушли в дистрибуцию мультимедиа и компьютерных игр. Тем не менее начальный задел и энергия франчайзи продолжают толкать этот поезд вперёд и будут толкать его ещё довольно долго.</p>
40
<p>Начинающим программистам советую не принимать свою первую работу близко к сердцу, соблюдать work-life balance и не верить песням вроде "наша компания - это дружная семья". Вы работаете, чтобы зарабатывать деньги и помогать в этом другим. Соблюдайте формальные отношения, не бойтесь отстаивать свои интересы и личные границы, даже если это может обидеть работодателя. И ещё - не замыкайтесь внутри экосистемы "1С". Чаще выглядывайте наружу: изучайте веб, OLAP-кубы и другие системы учёта - всё что угодно. Подобных задач довольно много, и через них можно легко войти в большое IT.</p>
40
<p>Начинающим программистам советую не принимать свою первую работу близко к сердцу, соблюдать work-life balance и не верить песням вроде "наша компания - это дружная семья". Вы работаете, чтобы зарабатывать деньги и помогать в этом другим. Соблюдайте формальные отношения, не бойтесь отстаивать свои интересы и личные границы, даже если это может обидеть работодателя. И ещё - не замыкайтесь внутри экосистемы "1С". Чаще выглядывайте наружу: изучайте веб, OLAP-кубы и другие системы учёта - всё что угодно. Подобных задач довольно много, и через них можно легко войти в большое IT.</p>
41
<p>Если Python и Java - это парадный вход в IT, то 1С - небольшая калитка, на которую редко обращают внимание. А зря, ведь бизнес и бюджетные организации высоко ценят толковых 1С-программистов. Записывайтесь на курс "<a>Профессия 1С-разработчик</a>" и входите в IT с минимальной конкуренцией.</p>
41
<p>Если Python и Java - это парадный вход в IT, то 1С - небольшая калитка, на которую редко обращают внимание. А зря, ведь бизнес и бюджетные организации высоко ценят толковых 1С-программистов. Записывайтесь на курс "<a>Профессия 1С-разработчик</a>" и входите в IT с минимальной конкуренцией.</p>
42
<a>Научитесь: Профессия 1С-программист Узнать больше</a>
42
<a>Научитесь: Профессия 1С-программист Узнать больше</a>