Нашел на Хабре комментарий перебежчика с 1C на Java. Можно вместо 1С подставлять в эту копипасту другие технологии.
Ожидал этого вопроса, вот почему я начал учить Java:
1.В 1С я дошел до потолка: решаю на лету любые задачи, (в том числе в мобильной платформе), успел поработать во многих фирмах (в том числе иностранных) с большим количеством клиентов, почти во всех основных индустриях, так что ничего нового я уже не вижу
2.В 1С большие ограничения по дизайну, а в последнее время я сильно проникся material design разрабатываю мобильные приложения. Меня сильно обижает нехотение 1С предоставить возможность кастомизации (сами они предоставить нормальный дизайн не могут)
3.Сам внутрениий язык 1С не несет никакой индивидуальности, не развивается в сторону масштабируемости, оставаясь на уровне версии 7 (новые операторы работы с бинарными данными или асинхронные или другие дополнения не в счет)
4.Еще о языке 1С, он очень грязный и учит программиста халявности. Нет типизации, нет case-sensitive, нет инициализации. Все эти вещи может и снижают порого вхождения, но рождают ленивых (в плохом смысле) программистов и урезают напрочь охоту думать (об этом была статья на инфостарте)
5.Нет ООП, тут можно возразить, что он не нужен, или что он уже частично есть, но это не так! Инкапсуляция? Наследие? Полиморфизм? Когда я изучал Java я смеялся и плакал. Сколько кода можно было написать под другому, какая удобная была бы поддержка таких решений (написанных с ООП)!
6.Нет нормального IDE. Да разрабатывается 1c development tools, но он еще далек от того, чтобы им серьезно пользоваться, в текущий IDE ужасен, он заставляет вас печатать как печатной машинке, ничего не подсказывает и застрял в 98-м году.
7.Проприетарный формат решений / баз данных 1С, решения закрыты в бинарном формате, и это во время когда уже сам Microsoft перешел на xml? Да в 1С зашевелились и начали делать выгрузку, но этого мало и с большим опозданием.
8.В 1С постоянно что-то может вылететь и не работать. в некоторых случаях вы можете поработать напильником, в других случаях вы ничего не можете сделать, так как платформа закрыта и есть только один официальный форум (partnerts.v8.1c.ru) и он тоже закрыт для обычных людей, есть и bugboard но он тоже закрыт от обычных людей), но все эти сайты только если вы из СНГ, а для остальных все еще хуже. Клиенты потеряли лицензии, 1С сервер у клиента упал, соединения не закрываются сами, веб-клиент работает недекватно, мобильная платформа рандомно падает и т.д. Все это требует вмешательства 1С и ожидания решения. Нет стабильности.
9.Любое ваше решение в 1С будет всего лишь надстройкой для 1С Предприятия, вы не можете считать себя программистом в полной мере и считать продукт своим. Он наполовину собственность фирмы 1С (давайте будет честными)
10.Ваша карьера остановится на 1С, вы не сможете найти работу зарубежом. У меня были фриланс клиенты из-за рубежа, но это не сравнить с количеством с СНГ.
11.Ваша карьера остановится на 1С, вы не сможете найти работу зарубежом, так как вы не учили язык программирования. В крайнем случае можете сказать что знаете Бейсико-Паскаль. Вы не знаете, что такое ООП, деплой, юнит-тесты, методики разработки, паттерны (боже упаси)
12.Ваша карьера остановится на 1С, вы не будете развивать свой мозг. (опять будьте честными)
Что бы меня заставило остаться в 1С: — ООП (да да, создание Object -> Document/Catalog/… ->… Даже с метаданными можно это сделать — улучшениея языка и укорощение, принудительная типизация переменных, инициализация, Case-sensitive — Нормальный IDE (Eclipse далеко не лучший) — Отказ от бинарного проприетарного формата — Нормальная поддержка JS/HTML/CSS и возможность кастомизации, так же и в мобильной платформе. Все ради нормального дизайна
Как вы понимаете в 1С этого сделано не будет никогда.
Теперь о Java, C++, C#:
1. Java один из наиболее распространненых языков, говорят он наследник С++, много вещей в них похожи, но сейчас у С++ уже много наследников. C# похож сильно, но в силу связи с Microsoft, я отказался от идеи дальше изучать его, так что C++ -> Java это мой путь
2.Java прекрасен, ООП возможно для опытных программистов приелся уже (хотя я так не думаю), но горазду хуже без него, любой большой проект превращается в ад
3.Java так и просит использовать чужие решения, использовать наследие и проектировать решения заранее (чего не нужно делать в 1С)
4.Java строг, (но не слишком), требует порядочности, аккуратности и продумывания
5.Изучая Java вы имеете огромный выбор развития карьеры и покрываете большой рынок JAVAEE / JAVASE / JS фреймворки / Scala / Android, и т.д.
6.Изучая Java вы узучите паттерны и сильно удивитесь (если вы пришли из 1С)
7.Прекрасные IDE, Jetbrains/Netbeans/Eclipse/Android studio он продумывает за вас многие вещи и помогает как учитель наблюдающий за вами.
8.Вы найдете работу зарубежом или из дома фрилансером, вы можете участвовать в конкурсах, в Open-Source, выбор за вами.
Не подумайте, что у меня бомбит, наоборот я счастлив и мыслю трезво.
Пишите если тоже задумались об уходе с 1С, помогу вам. Удачи!