Ответ на пост «Мифы про 1С-разработку, или почему не стоит недооценивать "язык бухгалтерии"»2
Стаж 14 лет, при том что паралельно увлекался разработкой на C#, Java, HTML, C++(но пока не осилил)
1С как совокупность технологий разработки бизнес приложений очень удачное решение.
Плюсы:
1. Легко в освоении. Все сущности с которы придется работать имеют лаконичное название и отражают их суть.
2. Прост в разработке. Многие сущности от пользоватеского интерфейса до инструментов взаимодействия с базой данных хорошо продуманы и предоставлены в виде инструментов. Например: чего стоит только одна скд для формирования отчётов.
3. Библиотеки функциональности. Для расширения функциональности существуют разные библиотеки. Например: бсп, бип, библиотека драйверов торгового оборудования и тп
4. Унифициронный пользоватеский интерфейс. Готовый набор примитивов для разработки пользоватеского интерфейса, которые уже стилизированы под общий интерфейс программы. Чтобы обеспечить приемственость пользоватеского опыта не зависимо от конфигурации.
5. Есть много примеров реализации. Как правило для любой задачи, создать что-то новое (документ, отчёт, функциональную подсистему) уже есть похожее решение в типовых конфигурациях. Мне лично нравится ковырять ЕРП, там очень много интересных подходов, методов и концепций, которые можно почерпнуть и это очень сильно ускоряет разработку. Потому что не нужно изобретать велосипед.
Минусы:
1. Язык очень слабо развивается, отсутствуют многие вещи синтаксического сахара. Например работа с переменной инкремента, нельзя использовать синтаксис ++ии или ии++, нельзя объявить массив [Элемент1, Элемент2,..., ЭлементN] и т.п.
2. Нет полноценного ООП
3. Если задача за рамками выстроенных инструментов платформы. Придется перейти на технологию разработки "Костылинг", а иногда и на "Очень суровый костылинг". Благо за все время моей работы таких задач было 2 или 3.
Из личного опыта.
Обычно 1С ругают говнокодеры при чем не важно какой у них стаж. Приведу несколько пример из жизни.
Первый пример.
Нужно было разработать подсистему выгрузки данных на сайт, я свою часть сделал и сижу довольный. При тестировании выяснилось, что со стороны сайта есть нюансы, которые нужно править. Тогда я узнал, что оказывается там кучу народу работает над этой задачей: бек-разработчик для разротки ДБ и интерфейса обмена данными с сайтом, фронт-разработчик который рисует морду сайта и использует api бек- разработчика и ещё где-то архитектор у них пробегал. А в 1с написал директиву на сервере вот тебе и серверная функция, написал на клиенте вот тебе логика клиента и все очень просто и понятно.
Второй пример.
У коллеги возникла задача на проекте к новому документу подключить некоторые подсистемы бсп. Он день что-то делал все время поливая 1С не чистотами, в конце дня я спросил, почему столько негатива, там работы на час может два. На что получил ответ, что пришлось лопатить конфигурацию в поисках примеров и разбираться как это все работает. Когда я показал, что на сайте 1С есть документация, он был сильно удивлен.
Третий пример.
Работали на проекте где был прогер ещё с 7 версии 1с начинал. Тоже всю дорогу поливал 1с. Мне стало интересно чего же ему не хватает в средствах разработки и выяснилось, что он застрял на этапе когда поверхностных знаний для работы ему хватает, а более углубленное понимание ему не нужно. Поэтому его обработки были лютым говном и костылями.
И таких примеров у меня полно. Иногда доходило до смешного коллега страдает, вяжет свои костыли. Потом ему показываешь, как можно решить его задачу красиво, на что он говорит: да решение элегантное, но переделывать не буду мне за это не платят))
Резюмируя, мое мнение такое:
1С это ТОП, как среда разработки и объем знаний который нужно иметь для разработки. Изучение всяких смежных технологий вроде HTML, CSS, ООП и т.п является опциональным и даёт более углубленное понимание тех инструментов, которые уже реализованы на уровне платформы. В других сферах разработки (сюдя по вакансиям) нужно иметь знания по очень широкому стеку технологий и постоянно их актуализировать, это не говоря про предметную область, а если этого не делать то будешь тем же самым говнокодером, но только из другой сферы.