В очередной раз в чате напомнили про 1С и захотелось немного защитить эту грешную платформу.
За самой платформой и программистами под неё закрепилась слава "недоязыка" и "недопрограммистов" да и в целом, многие, кто с ней сталкивался, вспоминают этот опыт с неприятными эмоциями.
Спорить не буду - язык там на редкость многословный (куда там джаве). Это, кстати, никто из одинэсников и не будет отрицать. Но нужно понимать, что разрабатывался он почти по тем же принципам, по которым создавался язык Go (от гугла который): быть максимально простым в изучении и максимально простым в чтении. Именно поэтому он основан на кирилице. Т.е. основаная цель этого языка в том, чтобы он не содержал неявных механизмов и был простым ровно настолько, насколько можно сделать простым DSL. Так чтобы любой 1С программист, знакомый с синтаксисом, мог без больших проблем прочитать код, написанный в другой компании и не ломал голову над жонглированием ссылками на функции или разухабистой иерархией классов. Вся суть платформы сводится к тому, что есть сотни тысяч 1С программистов, которые не используют каких-то общих фреймворков, кроме предоставленных фирмой 1С. Гайдлайны по оформлению кода есть, но ими пренебречь больших проблем нет, т.к. передача кода происходит крайне редко. Всё и всегда должно быть понять без лишних плясок с бубном.
Что касается самой платформы - то это реально крутая вещь. В одной упаковке вы получаете полностью настроенную под работу IDE, с интегрированным построителем форм и проверенными стилями, системой контроля версий, интегрированной ORM весьма недурного качества, движок бизнес-процессов, лютейший построитель отчётов, какого я в Java/JS/Python мирах никогда не видел и вряд ли увижу (представьте себе Apache Spark скрещенный с Jasper reports и это будет далеко не вся функциональность) и это еще не все плюшки, доступные одинэснику "из коробки". Большинство учётных задач любой одинэсник автоматизирует гораздо быстрее, нежели слаженная команда Java/JS/Python программистов.
По большому счёту 1С создавалась для того, чтобы закрыть потребность в продуктах определённого типа - учётные. При этом учитывалась и специфика рынка, где заказчиками выступают торгаши и бухгалтера: никто не готов платить дорого за понятные вещи, которые можно делать и в Excel. Продукты на платформе делаются быстро и часто перетекают от разработчика к разработчику, а значит нужно минимальное время на понимание кода (опять вспоминаем го, как инструмент тысяч инфраструктурных инженеров гугла). Это просто еще одна специфическая отвёртка, под которую у нас просто не заточены руки =)