Как стать автором
Обновить

Комментарии 209

О, все таки написали? Неплохо. Я бы с некоторыми пунктами поспорил наверно, но лениво, да и во многом вкусовщина.
когда победите лень — пишите, уверен комментарии будут полезнее статьи )
Из статьи понял только то, что 1С сложнее java оказывается. И что большинство java — программистов не знают sql.
1С сложнее java оказывается
неожиданный вывод. как вы к нему пришли?
Опыт работы быстрее набивается :-)

1С — это в первую очередь про знание предметной области, самих алгоритмов ну там не особо много и оптимизация до O(n) там редко требуется. Поэтому зачем в статье вообще она упомянута — неясно.

Сама 1С сейчас сильно дрейфует в сторону java — почти все инструменты вспомогательные на ней. Так что сам потихоньку вспоминаю эту адовую экосистему.
Опыт работы быстрее набивается
а к этому как пришли?
1С сложнее java оказывается

Скорее не сложнее, а замороченнее (мягко говоря).

Ну не проще точно. Хотя и у Java своих скелетов хватает, но 1С там столько своих дырявых и текущих абстракций нагородил, что абстракции Spring по сравнению с ними детский сад. Впрочем справедливости ради я думаю это не вина архитекторов 1С, а особенность рынка бизнес-приложений ну и «так исторически сложилось».

И большинство 1С — программистов тоже не знают sql. Спросите их хотя бы про базовые механизмы predicate push down. Что не удивительно, так как 1С сам не рекомендует использовать ни подзапросы, ни полагаться на оптимизатор и вообще поддерживают SQL на уровне SQL-92 (не поддерживая даже представлений, который емнип были в том стандарте).

У 1С не SQL, а если угодно, EntityQL, который хотел сделать Майкрософт, но что-то там не срослось. И он кросс-субдшный, поэтому вынужден быть минимально доступным подмножеством фич, имеющихся на всех 4 СУБД. Плюс 1С в том, что там есть все и сразу в одной коробке. Часть этого не так хороша, как в какой-то специализированной либе/среде/продукте. Но если сложить ценники 8-9 продуктов узких ниш, и ценник 1С, где "все сразу"...

по чем там нынче Spring Data?

Не знаю. А есть там что-то похожее на MXL с возможностью сохранения в PDF?

Даже стало интересно чем вас тот же XLSX для хранения табличных документов не устраивает. Зачем использовать непонятно кем разработанный закрытый формат?

XLSX выигрывает по одним фичам и проигрывает по другим. Выигрывает тем, что он не только формат отображения, но и формулы, умеет играть с источниками данных. Проигрывает, например, если есть строки с разной шириной колонок. Есть задачи, которые удобнее делать в XLSX, есть те, которые удобнее в MXL. Макеты печатных форм часто удобнее шлёпать в MXL.

Проигрывает, например, если есть строки с разной шириной колонок.

Ну а графическим форматам тогда проигрывают оба эти формата. В любом случае как-то маловато причин для того чтобы отказываться от формата, который откроется на любом устройстве и в сотне самых распространенных программ.
Макеты печатных форм часто удобнее шлёпать в MXL.

Макеты печатных форм к форматам, в которых формируются эти печатные формы прямого отношения не имеют. В том же Jasper'е можно делать формы с разлинейкой (получая потом предсказуемые XLSX), а можно графические для PDF.
Ну а графическим форматам тогда проигрывают оба эти формата.

Не надо так передёргивать. Если речь про "отчёты в табличном виде", то это некоторый вывод из программы, которые потом пользователем используются для просмотра, несложного анализа и печати. Графические файлы и PDF очень неудобны пользователю для "несложного анализа" (скопировать половину столбца чисел и сложить). HTML и XLSX плохи для печати (нет гарантии, что напечатается также). MXL плох потому что его не отдашь внешнему пользователю (у него может не быть 1С). Текстовый формат (а также csv, json, xml даже с xslt) проигрывает в возможностях оформления.
XLS/XLSX открывается внезапно совсем не одинаково и не всегда.
Важный плюс 1С в том, что из одного макета получаются приемлемые конечные формы большого количества форматов. У джаспера на словах это как бы почти так, но есть нюансы.
На практике за годы разработки, руководства и архитектуренья я вижу, что работа разработчика 1С с макетом и последующее сохранение в общеупотребимый формат в рамках этой задачи занимает в разы меньше времени при более стабильном и предсказуемом результате. И это если сравнивать с удачными платформами (типа Jasper), потому что в неудачных добавить новый формат это вообще отдельный проект.


Макеты печатных форм к форматам, в которых формируются эти печатные формы прямого отношения не имеют. В том же Jasper'е можно делать формы с разлинейкой (получая потом предсказуемые XLSX), а можно графические для PDF.

Имеют. Табличный документ и его файловое представление MXL — это основной инструмент и одновременно выходной артефакт в 1С. И 1С-ник именно в нём делает форму отчёта. В других платформах обычно это бывает по-другому, там инструмент и выход разнятся (а если не разнятся, то это скорее всего отчёт, формируемый из шаблонного файла MS Office и это один из худших вариантов).

нет гарантии, что напечатается также

А у MXL есть гарантия? Это же ячеистый формат с неограниченный шириной, как можно гарантировать что он влезет на A4?
На практике за годы разработки, руководства и архитектуренья я вижу, что работа разработчика 1С с макетом и последующее сохранение в общеупотребимый формат в рамках этой задачи занимает в разы меньше времени при более стабильном и предсказуемом результате

В конечном итоге вся информация либо выводится на принтер, либо сохраняется в excel (как стандарт ячеистого формата). Промежуточное звено в виде MXL не совсем понятно чем помогает в этом вопросе.
Табличный документ и его файловое представление MXL — это основной инструмент и одновременно выходной артефакт в 1С.

Я в курсе, но непонятно чем это лучше модели обычных reporting systems. Либо рисуй все в графическом формате для принтера / pdf, либо включай «разлинейку», и рисуй все по линиям, после чего при выгрузке в «ячеистый» формат (xls) все автоматически разложится по ячейкам.
А у MXL есть гарантия? Это же ячеистый формат с неограниченный шириной, как можно гарантировать что он влезет на A4?

Письменной гарантии от вендора нет. Но а) вендор один (в XLSX — несколько "совместимых"), б) если 1С не будет сильно стараться унифицировать печатный вид, то все печатные формы 1С: Бухгалтерии развалятся и для них это будет серьёзный фэйл.


В конечном итоге вся информация либо выводится на принтер, либо сохраняется в excel (как стандарт ячеистого формата). Промежуточное звено в виде MXL не совсем понятно чем помогает в этом вопросе.

Помогает делать макет 1 раз для всех конечных форматов. Да, есть ограничения. Но сам процесс достаточно удобен для всех целевых применений. Более того — часть процесса вёрстки формы можно отдать даже пользователю. Более того, в 1С мне очень удобно смотреть diff между макетами в системе контроля версий. В отличие от того же jasper (а уж как "прелестно" с SCM работать с каким-нибудь SSRS или SSAS — там вообще труба).


Если вы считаете, что эта "модель обычных reporting systems" лучше — да ради бога. Я у обеих сторон вижу гору недостатков и достоинств.

Но сам процесс достаточно удобен для всех целевых применений


Так а какие целевые применения?

Печатные формы (те же накладные) обычно выводятся на печать практически сразу даже не просматривая (часто даже не показывая форму предпросмотра), потому как данные в интерактивной форме обычно вводятся и проверяются.

Уложить нормально аналитический отчет с динамическим числом колонок и группировок в A4, чтобы там что-то было видно все равно не получится. Да и если получится непонятно зачем это делать.

Более того, в 1С мне очень удобно смотреть diff между макетами в системе контроля версий


Вы сейчас про их внутреннюю систему контроля версий? Потому как если про выгруженные xml в git, то не понятно чем это лучше Jasper'а. А внутренняя система контроля версий имеет столько недостатков по сравнению с git, что упоминать ее достаточно бесмысленно.

все печатные формы 1С: Бухгалтерии развалятся и для них это будет серьёзный фэйл.


Ну это из разряда «мы успешно решать проблемы, которые сами себе создаем». В других бухгалтерских системах (и контроллинга) что я видел, где задача drill down актуальна, интерфейсы работы с данными просто изначально делают в интерактивных, а не печатных формах.
интерфейсы работы с данными просто изначально делают в интерактивных, а не печатных формах

Внезапно, в 1С табличные документы интерактивны, драг-дроп, клавиатура, евенты мыши, driil-down. Только еще это все и удобно формировать и печатать нормально.

А динамические списки (то есть чтение из базы видимыми порциями), реквизиты в панели для текущей записи, человеческие отборы, поиски и сортировки (а не через еще -> изменить вариант и переформировать отчеты), вкладки, «связанные» списки и т.п.?

Не, я понимаю, что можно из печатной формы слепить интерактивную, но только это будет тот самый троллейбус из буханки.

Из коробки контрол табличного документа всего этого не делает. Только отборы поиски и сортировки показывает, причем, сразу на форме, без упомянутого "изменить вариант". Остается пункт "Реквизиты в панели для текущей записи" — ну да, контрол spreadsheet не показывает "реквизиты текущей записи", одна процедура в коде — и конечная юзер-форма будет это показывать. Или ваша претензия, что все задачи работы с данными не вынесены в единый контрол spreadsheet, чтобы прям плюх на форму, и все-в-одном? Ну такое себе желание.

Да нет, вопрос зачем печатным формам добавлять функционал интерактивных форм. Получается ни рыба ни мясо (то есть оба варианта не удобны / не производительны в той или иной части).

Не правильнее ли было сделать как в Odoo, где любой список (как и отчет) можно переключить в режим сводной таблицы и там делать любую аналитику (в том числе drill down, и там же переходить к другой информации).
Не знаю
сильно дешевле. )))
MXL с возможностью сохранения в PDF
мне такого делать не приходилось, но гугл подсказывает org.apache.pdfbox. и слово «apache» так же намекает на сильную дешивизну ))

Я не искал PDF-принтер под Java, но вот под .NET все очень сильно уступает по качеству 1С-у, если говорить про бесплатное. Платное не покупал.


Ну и xslx сильно менее удобно писать нежели секции табличного документа и "Документ.Вывести()", не находите? А еще можно вспомнить фичу разных ширин колонок, которой в Excel порой очень не хватает.


UPD посмотрел что предлагает PDF-Box и их примеры. Ну нет, это и близко не лежало по времени и простоте выдачи результата по сравнению с 1С.

я запутался в вашей позиции. то вы говорите «дешевле», то вы говорите «качественнее», то «проще и быстрее».

Поясню. Есть задача отдавать по веб-сервису что-то печатное в PDF. Например счета. И есть метрика time-to-market. На мой взгляд, в 1С эта метрика будет самой лучшей, с учетом в т.ч. и цены фреймворка.

C JasperReports это делается элементарно.

В lsFusion (которая использует как раз JasperReports) вообще на кончиках пальцев:
lsfusion.org/try
Выберите в списке Печать накладной и замените XLSX на PDF.

И все бесплатно.

Замечательно, возьму это название на вооружение.

JasperReports отличный инструмент для отчётов. Но 1С-ной системе отчётов (инструменты работы с MXL, конструкторы, построитель, СКД) он скорее проигрывает. Проигрывает в простоте drill-down, сравнение табличных документов в 1С просто есть (джасперу оно не нужно, но когда нужно, то ХЗ что делать), когда нужно сделать странные шибанутые вещи, MXL позволяет. 1С тоже не лапочка, когда надо сделать готовый красивый отчёт-презентацию, но тут проще смотреть изначально на софт для презентаций.
1С-ный MXL, кстати, при определённой прямизне рук, позволяет без проблем работать с гигантскими MXL (миллионы строк). В Jasper я такие объёмы не пробовал, а вот Excel на этих объёмах просто ад.


lsfusion пока изрядно молодой, при всём уважении к ним, я пока не готов детально обсуждать.

Тут дело в том, что 1С в своей системе отчетов зачем-то совместили несовмещаемые вещи — печатные формы и бизнес-аналитику. В частности:
Проигрывает в простоте drill-down

Это вообще не задача печатных форм, это задача аналитических отчетов, а точнее BI tools. Например тут. А в плане эргономики аналитических отчетов 1С-ная система проигрывает специализированным BI инструментам вчистую. Ну и вообще делать аналитику на OLTP базе так себе идея.

Работа с гигантскими Excel-файлами тоже «странная шибанутая вещь», вроде троллейбуса из буханки.

Вы же понимаете, что остальные вендоры вроде майкрософт не реализовали систему отчетности как в 1С, не потому что не могут, а потому что просто считают нецелесообразным. Гвозди логично забивать молотком, а бактерии изучать под микроскопом.
Это вообще не задача печатных форм, это задача аналитических отчетов, а точнее BI tools.

Ну… Где-то в мире розовых пони и танцующих единорогов оно так и есть. Реальность же сложнее и интереснее.
Вот есть прям классические отчёты и печатные формы. Счёт-фактура, 2НДФЛ, банковская выписка, отчёт биржевого брокера клиенту, отчёт агента принципалу. Сформировал, отправил, забыл. Со стороны клиента нет и, наверное, не может быть никакого дрилл-дауна.
Есть аналитики статистики, которые сидят в PowerBI, Tableau, QlikView или даже SAS (за психическое здоровье последних я уже не поручусь). Они сидят в башне из белого мрамора и пару раз в квартал/месяц/неделю снисходят к нам, глупым, неся свою мудрость (но мы-то знаем, что они ещё только учатся серьёзно обрабатывать данные на пятончике). Эти чуваки, конечно, без дрилл-дауна просто выпрыгнут с самого верхнего этажа башни, потому что это лучше и проще, чем BI без инструментов.


Но есть и промежуточные задачи. В рамках учётной системы оператор сделал накладную, смотрит — ой, а что это за строчка? Тыкает мышкой, проваливается в карточку товара или контрагента. А вот бухгалтер сформировал ОСВ по счёту — ой, что за странный дебетовый оборотик тут. Тыкает мышкой, листает проводки в карточке счёта. А вот завсклад, который тоже ткнул мышкой в отчёт и теперь-то понял, что за хрень с секцией №152. А вот и директор, который нахмурившись ткнул мышой в диаграмму на столбике и увидел детализированный отчёт по сложному проекту. И все они не могут себе позволить работать даже с QlikView (который как витрина достаточно прост), потому что в 1С это тык мышкой и 2 секунды, а просто найти нужные данные в QlikView или другой отчёт в 1С — это несколько минут.
Мы решаем бизнес-задачи и в них важны такие возможности. Да, в голой теории это можно разнести. А в практике простые возможности drill-down просто необходимы конечным пользователям.
Причём в джаспере дрилл-даун тоже относительно удачный для разработчика по сравнению с MS SSRS, или со старым Crystal Reports (современный лучше, но он стал SAP), или с, простите, FastReport. Я сам в нём делал такие отчёты, но после простоты 1С в данной теме мне это было некомфортно.
Кстати, мне лично сильно не хватает полноценного drill-down в дэшбордах и отчётах Jira и YouTrack. И я много раз видел и даже был участником, когда 1Сники за вечерок делали потрясные отчёты с расшифровкой по данным своих задач, загруженных из Jira.

Но есть и промежуточные задачи. В рамках учётной системы оператор сделал накладную, смотрит — ой, а что это за строчка?

В рамках учетной системы оператор печатает накладную даже не глядя ее. Потому как он набил ее в систему и проверил до по идее.
А вот бухгалтер сформировал ОСВ по счёту — ой, что за странный дебетовый оборотик тут.
А вот завсклад, который тоже ткнул мышкой в отчёт и теперь-то понял, что за хрень с секцией №152.

У аудита и бухгалтерии да — всякие оборотки и «аналитические» отчеты важный инструмент, но:
a) опять-таки как я писал выше не понятно зачем делать это печатной формой, почему не интерактивной.
б) таких задач на современном хорошо автоматизированном предприятии, хорошо если 5% (там люди в основном выполняют конкретные бизнес-процессы в своих АРМах). Проверено на личном опыте.
А вот и директор, который нахмурившись ткнул мышой в диаграмму на столбике и увидел детализированный отчёт по сложному проекту.

Вот директору как раз давать формировать отчеты не во внешнем BI (где плюс отчеты за секунды формируются), а на OLTP базе, это очень опасная вещь. Не говоря уже о том что тот же Imply куда эргономичнее для рядового пользователя чем тот же СКД.

Еще раз это не я все придумал, это мировой опыт.
Мы решаем бизнес-задачи и в них важны такие возможности. Да, в голой теории это можно разнести. А в практике простые возможности drill-down просто необходимы конечным пользователям.

Тут дело в другом, у 1С просто все очень плохо с интерактивными формами (в частности с вводом и отображением там большого количества в том числе вычисляемой информации), поэтому они и пытаются выкручиваться своими «аналитическими» отчетами. Но это у них скорее вынужденная необходимость.
JasperReports умеет выгружать куда угодно:
community.jaspersoft.com/documentation/jasperreports-server-user-guide-v52/exporting-report

Штука бесплатная. Вывод просто делается одной строкой report.exportPdf() или что-то типа того.

И JasperReports может вообще в графическом формате работать, не то что разные ширины колонок поддерживать.

Да, в 1С аналитические отчеты тоже через табличный документ (по сути печатные формы) сделаны. Но зачем — непонятно. Потому как: а) если для печати, то вообще 21 век на дворе и непонятно зачем деревья убивать, когда можно работать непосредственно в программе б) в аналитике, как правило, нужен интерактив, где в частности можно скажем группировки на лету менять без переформирования отчета и желательно drag-drop'ом как делают во всем мире.

Повторюсь, я не изучал инструменты мира Java. В шарпе с PDF все довольно уныло.

Плюс 1С в том, что там есть все и сразу в одной коробке
sing responsibility принцип не согласен с тем, что это плюс )))
Single Responsibility principle — это про то как организовывать и писать код, а не про то что включать или не включать в коробку.
это весьма поверхностное понимание. в каком-то смысле даже разделение властей в развитых странах — это реализация этого принципа
Я бы тогда Вам возразил, что это скорее у вас своя довольно вольная трактовка вполне себе устоявшегося и абсолютно технического термина который строго относится к разработке программного обеспечения и организации кода при ООП.

Именно потому что термин устоявшийся и общепризнанный среди разработчиков вы даже перешли на английский в своем комментарии, намекая на то что это ТЕРМИН, а не просто фраза на русском языке.

И уж если вы хотите перейти на уровень государства, то принцип разделения ветвей власти (как что-то супер-хорошее) не является аксиомой. Это скорее некая парадигма современной «демократии». И эту парадигму почти нигде не удается имплементировать, кроме тех случаев когда общество изначально исторически было сформировано с таким разделением.
автор термина делал на этот счет уточнение. принцип про людей а не про код
И чем он по вашему от того же HQL отличается?
И он кросс-субдшный, поэтому вынужден быть минимально доступным подмножеством фич, имеющихся на всех 4 СУБД.

MS SQL, Oracle, PostgreSQL уже лет как сто и оконные функции поддерживают и рекурсивные CTE и даже рекурсии в табличных функциях можно нормально реализовать (с пометками). Проверено на личном опыте. Так что это очень странная отговорка.

Ну да, зато они не поддерживают сквозную типизацию и обращение к вложенным таблицам, чтобы в колонке результата запроса был результат другого запроса. Еще раз: в 1С не SQL, а специализированный язык выборки данных, более близкий к EntityQL идеологически. А на SQL похоже, да. И транслируется почти 1-в-1. Но дъявол, как обычно — в деталях. И да, языку запросов 1С есть куда развиваться, кто же спорит. Но вы же понимаете разницу между "есть куда развиваться" и "полное говно"?

Не знаю почему у всех вызывает статья негатив, мне очень понравилось и я для себя отметил пару фишек. Сам из девопсов в джаву пытаюсь зайти. Спасибо за советы.

Негатив из-за некоторых набросов, вызванных недостаточной компетентностью автора в обсуждаемом вопросе (возможно, кажущейся), а не фреймворка 1С:Emterprise, как такового.

А ну да, ну да. Как обычно «автор не разобрался». Хотя он вроде как в самом 1С даже успел поработать.

Я тоже успел. Это не показатель. И потом, я написал "возможно, кажущейся". Есть моменты в статье, которые вызывают сомнение, но возможно, это просто неудачно выбранные формулировки и неверно понятые мысли.

Ожидал другого от статьи, будучи 1С-ником переходящим на Java, позвольте дать несколько советов тем кто хочет выбраться из 1С:
1.Самое первое и главное — любовь, страсть к изучению нового в Computer Science.
Например у меня на одной из работ был коллега по 1С разработке, когда появилась 1С 7.7, он ругался, когда вышла 1С 8.0, он опять ругал 1С и не спешил что-то на ней делать, когда все клиенты начали требовать тонкий клиент, веб, упр.формы он ныл мне целый год как это плохо и сложно но изучал, я это к тому, что в современном мире разработки ее нет и не может быть!

2.У вас должна быть симпатия к английскому языку. Если вы не любите его и не терпите сериалы и фильмы без перевода, словечки и выражения на английском, не хотите и не видите смысла в его изучении, это будет большая проблема. Много интересных статей, книг, коментариев на github и Stack Overflow и других сайтах на английском как и сама Java.

3.Вы должны найти в себе храбрость, после 1С, принимать решения и выбирать инструменты, оружие, алгоритмы и решения. Уметь признавать поражение и бесконечно учиться у мастеров.

4.Вы должны заставлять всегда докапываться до исходников, 1С не позволяла вам этого делать, в Java можно много чего понять открывая исходники, не просто использую готовые фреймворки.

5.Оптимизация и слежение за кодом. После 1С вам придется быть внимательным бить себя по рукам, а иногда и давать себе подзатыльники за говнокод, который в 1С всегда работал почти одинакого (случаи типа запросов в цикле не беру в счет). Оптимизация и включение мозга.

6.Проектирование приложения, рефакторинг, как ни странно это принесет вам удовольствие. После 1С вам покажется, что вы мазохист если любите переписывать код.

7.Максимум внимания. Когда я работал в 1С, я мог смотреть обучающие видео, или разговаривать с женой и слушать аудиокниги и оставалось еще много мозгового времени. С Java такое не прокатит, нужно всегда быть максимально включенным (как же я раньше не понимал шутки про отвлечение программиста)

Я начал изучать Java с книги Философия Java, после того как укладывал детей спать, с 23 до 4 утра и я был счастлив. Так что изучайте технологии пока у вас есть время, позже будет тяжелее.

к изучению нового в Computer Science.
(и не только CS)
выбирать инструменты… алгоритмы и решения. Уметь признавать поражение и бесконечно учиться у мастеров.

можно много чего понять открывая исходники

Проектирование приложения, рефакторинг, как ни странно это принесет вам удовольствие

Прям очень и очень согласен с перечилсенным. А уж рефакторинг кода на статически типизированных языках используя нормальные инструменты — просто сказка. В 1С даже банальные вещи отрефакторить боль, а потому легаси только копится и правило бойскаута становится применять довольно сложно. Тесты бы проблему немного решили, но их для 1с писать не очень принято, да и неудобно.
А какая волшебная типизация у языка 1С в целом… Шутки про типизацию JS это детский лепет).
Можно попытаться засунуть в, например, реквизит регистра с типом СправочникСсылка.Справочник1 значение типа СправочникСсылка.Справочник2, присвоение не произойдет, но и исключения не будет. А чего стоит их своеобразный «типизированный null» для ссылок (я про СправочникИмя.ПустаяСсылка()). Вообще с null у 1С сложные отношения. Есть null, Неопределено, ПустаяСсылка() и «00010101» у даты — видимо из-за этого и появилась костыль-функция ПустоеЗначение(). Вообще про «особенности» языка и платформы 1С можно написать не одну холиварную статью.
Так недавно и писали. Правда чуть про другие особенности. Почти 2к комментариев набрала.
пустая ссылка особенно доставляет в полях с множественным ссылочным типом, когда значение иногда может быть Неопределено, а иногда пустой ссылкой. а уж если там и примитив типа число/булево возможен — то вообще труба. мы как-то пытались устроить мозговой штурм на тему того, как сделать аналог ЗначениеЗаполнено в запросе — в итоге решили не портить себе нервы )
кстати, Veidt, это тоже неплохой пункт для вашей следующей статьи )
Для следующей статьи у меня уже более чем достаточно пунктов. :)

Работа с null'ами это в принципе беда во многих языках. Я сначала думал что в SQL этот 3-state это жесткая штука, но после того как последнее время пришлось много на JS писать, я понял, что в SQL еще легко отделались. Хотя надо сказать, что именно для задач фронтенда (по сути «тупиковых», которые никем не используются дальше) мне JS даже чем-то понравился, и весь этот огород с undefined и null'ами воспринимается как пусть и не очень приятная, но особенность.

В любом случае я что в первой статье, что во второй не очень хотел / хочу придираться к мелким вещам, которые локальны (!) и к которым можно просто выработать некоторые шаблоны workaround'ов.

Плюс проблему работы с null'ами в 1С можно рассматривать как частный случай проблемы отсутствия явной типизации.

Если вам понадобилось ЗначениеЗаполнено в запросе, то у вас проблемы в модели метаданных, в понимании предметной области, а не разу не в 1С

ну естественно! если вам нехватает функций 1Са — значит вы используете 1С неправильно!

А вы исключаете такую вероятность, да? Если у вас в одной колонке может быть и пустая ссылка и примитивные типы и Null, то что это за колонка? Ее точно нужно проверять на "заполненность"? А что мы будем считать "заполненностью"? Если там не Неопределено, то значит в нее что-то заполняли, причем в явном виде. И если туда "заполнили" пустую ссылку — это заполнено или нет? Ведь значение-то присваивали и присвоенное значение — это GUID 0000. Оно значимое и именно вы его туда записали. Зачем? Чтобы потом что делать с такой колонкой? Но виноват, конечно 1С, ага :D

Оно значимое и именно вы его туда записали

метод ЗначениеЗаполнено с вами не согласен

Не надо путать метод языка и тип колонки в результате запроса. ЗначениеЗаполнено проверяет, что значение не является значением по-умолчанию для заданного типа. Аналог: x == default в C# 7.x. Язык запроса вернет вам значение записанное в базу данных. Проверять его на соответствие результату дефолтного конструктора типа — это не задача языка запросов. А сама постановка задачи намекает мне на то, что с этой колонкой явно что-то не так. Такая задача в принципе не должна возникать, если метаданные адекватные.

ЗначениеЗаполнено проверяет, что значение не является значением по-умолчанию для заданного типа

разве метод называется «ЗначениеПоУмолчанию»?

Разве документация говорит о его поведении что-либо иное?

название говорит о его поведениии что-то другое

Разве? Что, например?

ну… что значение заполнено… я это как-то перефразировать должен?

Дык загвоздка-то как раз в том, что такое "Заполнено". В C# с его default и в 1С есть четкое определение того, что считается заполненным. И это по сути — значение типа по-умолчанию. И работает, так как описано. А какой вы смысл в понятие "заполнено" вкладываете, я не знаю.


Можете сформулировать свое определение "заполненного значения" для произвольного типа данных?

метод ЗначениеЗаполнено определяет стандарт того что в 1С считается заполненным, а что нет. таким образом, формально выражаясь:
ЗначениеЗаполнено(Справочник.Имя.ПустаяСсылка()) = Ложь
, что входит в противоречие с вашим утверждением
если туда «заполнили» пустую ссылку — это заполнено или нет? Ведь значение-то присваивали и присвоенное значение — это GUID 0000. Оно значимое и именно вы его туда записали

Давайте начнем с того, что в СУБД колонки строго типизированы. А в "поле составного типа" — могут быть типизированы нестрого. За скобками оставляем, как это хранится в СУБД, мы же про язык запросов говорим и его понимание "заполненности".


Итак. 1С считает значение "незаполненным", если это значение совпадает со значением типа по-умолчанию. Это документировано. Вернемся к СУБД. Есть колонка составного типа. Она может принимать значение одного из N возможных типов. Если колонку "заполняли", то тип известен, если колонку не "заполняли", то ее значение "Неопределено". На мой взгляд, здесь понятие заполнености абсолютно прозрачно. Значением по-умолчанию для "составного типа" является Неопределено. Если там что-то другое — значение заполнено. Соответствует спецификации.


Далее, в скриптовом языке переменные не строго типизированы и там по определению все переменные имеют "составной тип". Поэтому концепция отдельного "составного типа" отсутствует. Это значит, что нельзя определить переменную, которая может принимать значения одного из N типов. Таким образом, ПустаяСсылка совпадает со значением типа Ссылка по-умолчанию и считается незаполненной. Аналогично для всех других типов.


Если в скриптовом языке появится тип значения "СоставнойТипИзNДругихТипов", то его значением по умолчанию будет Неопределено, а ПустаяСсылка будет "заполненной". Но, слава Богу, такой тип никто не собирается вводить, ибо незачем. Он существует только для результатов, получаемых из СУБД и то, только потому, что СУБД имеют строго-типизированную природу и нестрогая типизация языка 1С для результата запроса эмулируется с ограничением на число типов.


Вывод: ЗначениеЗаполнено ведет себя предсказуемо, однозначно и соответствует документации. А если вы хотите сделать ЗначениеЗаполнено для результата запроса — задайте себе вопрос: а какую задачу я хочу этим решить?

чтобы обосновать логичность собственных умозаключений, вам пришлось:
— придумать строгую типизацию языка запросов, которую тут же и опровергнуть
— ввести разное понимание заполненности в языке запросов и процедурном языке, которая рассыпется как только я сделаю док.ПолучитьОбъект()
— ввести в логику какой-то странный подразумаваемый строгий тип, который является ссылкой на нестрогий тип
— прийти к выводу, который как бы никто не собирался оспаривать.
— повторить тезис «если 1С чего-то не позволяет — вы используете 1С неправильно»
занавес.

К сожалению, вы неверно меня читаете.


  1. Я не придумывал строгую типизацию языка запросов, напротив, я сказал, что строгую типизацию имеют СУБД, а язык запросов эмулирует нестрогую типизацию языка 1С в рамках единой системы типов.
  2. этот пункт просьба пояснить. Что рассыпется? У Док.Объект нет значения по умолчанию, вы неверно прочли предложение "значение незаполнено, если оно совпадает со значением типа по-умолчанию". У ДокументОбъект значения по-умолчанию, доступного в скриптовом языке просто нет. Ничего не рассыпется.
  3. Я пытаюсь пояснить свою мысль введением аналогии про "странный строгий тип". Аналогия не зашла, ну что-ж жаль. Неудачная оказалась.
  4. к какому выводу?
  5. Да, 1С всего лишь инструмент. Если он чего-то не позволяет, иногда надо просто понять, что задача вышла за возможности инструмента. Не все работы при ремонте квартиры можно сделать перфоратором. Даже хорошим. А вот когда перфоратором начинают вкручивать лампочки — тут и возникает мой вопрос — а вы точно знаете, что делаете?

ПустаяСсылка это не null, не пишите ерунду. ПустаяСсылка это uuid 0000-0000...

4.Вы должны заставлять всегда докапываться до исходников, 1С не позволяла вам этого делать, в Java можно много чего понять открывая исходники, не просто использую готовые фреймворки.

это не всегда возможно кстати, не весь код вокруг нас — opensource, что кстати особенно касается вотчины java — энтерпрайза
Тем не менее декомпиляторы очень неплохо спасают, если конечно есть хотя бы скомпилированная и не обфусцированная версия. ctrl+b в идее и уже смотришь декомпилированный кусок кода. В 1С же даже предположить невозможно что у конкретной функции под капотом и как будет зависеть ее работа от объема данных например. Ну и с open source все гораздо лучше конечно.
я с вами отчасти согласен, у меня более «утилитарный» подход к вопросу.
с другой стороны вы уже немного вторгаетесь в вопрос «зачем?», а я изначально задавал рамки «как?»
готовься, что если ты сейчас топовый 1Сник — твой доход скорее всего восстановится когда ты станешь уверенным middle'ом. Как правило, это не меньше 2-3 лет практики

не всегда это так. у меня есть история успеха слезания с иглы 1С сразу на позицию сеньора java девелопера с грейдом в зп. но практика — да, должна быть. можно делать заранее (до перехода) и выкладывать на гитхаб, например.

с иглы 1С сразу на позицию сеньора java девелопера
а чо, так можно было??? )))
Ну… Я тоже перешел без потери в окладе… Правда повезло, да и как у 1сника оклад был не очень.

А у меня есть история успеха с хорошим окладом 1сника :)

Так нужно было. Если вкалывать, то по-полной!

Хочется обнять и плакать…

Вот вам примерный план перехода с 1С на Java:


1.Начать читать Философия Java и Javarush(не обязательно, но полезно), установить IntelliJ Idea, Open JDK


2.Найти готовый гид по созданию CRUD приложения с нуля, технологии: Java WebApp Spring, Angular, сервер Tomcat. (все это время читать теорию)


3.Попытаться реализовать в Java некоторые не сложные задачи, которые вы легко сделаете в 1С, например учет клиентов, или своя домашняя бухгалтерия. Смотрите гиды и примеры. (все это время читать теорию)


4.Создать свой github, загрузить проект, склонировать, выучить базовые команды (все это время читать теорию)


Дорогие коллеги по 1С, кто имеет вопросы по переходу на Java пишите сюда или в личку, готов помочь всем кому смогу по мере сил.

Да ептыть — берите и делайте фичи из проекта стат. анализатора для 1С (https://1c-syntax.github.io/bsl-language-server/) — предметная область знакомая, а написано на Java. Идеальное место, чтобы 1С-нику, оставаясь в модели языка 1С кодить на Java. Плюс крайне дружелюбное сообщество.

Хм, почему то был уверен что вы все на C# ваяеете… Вообще то что вы предлагаете можно было бы советовать, только одно но, если сам не пользуешься инструментом — может быть неинтересно его ковырять (ну либо будет проблематично понимать потребности пользователей и фиксить ошибки). А инертность многих команд такова что его внедрить будет очень сложно))

BSL Lang Server и плагин для SonarQube написаны на Java. На шарпе сделан скриптовый движок oscript.io

Это как пытаться реанимировать динозавра или нацепить на жигули дворники от мерседеса?
Нет уже спасибо, есть более интересные вещи.

Аргументировать сможете?

Аргументировать что? То что язык 1С отсталый? вы и так все знаете, лично я достаточно потратил своего времени на этого динозавра (и трачу до сих пор), пора двигаться дальше, и всем 1С-никам желаю того же.

Нет, аргументировать то, почему 1С-нику не будет легче начать изучать Java с участия в около-1С-ном проекте BSL Language Server.

Какие технологии из полезных для получения работы использует проект? Как можно объяснить будущему работодателю что ты делал? Можно ли гордиться результатом? Сомневаюсь.
(Как вы поняли я не любитель 1С Предприятия как платформы и 1С как фирмы и их методов, в будущем не хочу иметь ничего общего).

Лучше наверное сделать кросс-платформеное веб приложение с оффлайн доступом, с современных фронтом и БД на облачных сервисах как альтернативу скажем не сложной Торговле или CRM?
Какие технологии из полезных для получения работы использует проект?

Из того, о чем знаю я:


  • antlr4
  • gradle
  • lombok
  • jackson
  • language-server-protocol
  • какая-то кодогенерация и темплейтинг

точнее могут рассказать авторы (думаю, они читают тред)


Как можно объяснить будущему работодателю что ты делал

… я делал статический анализатор кода с парсером на базе antlr, работал с графом узлов AST. Применял паттерн visitor, библиотеки А,B,C DI-контейнер X, писал правила эвристики, выявляющие ошибки в чужом коде


можно ли гордится результатом

решение enterprise-класса, применяемое в десятках крупных предприятий страны, чем не повод для гордости

может и так, и все это как костыль для «языка» 1С? Круто

Не совсем понятно, как статический анализ может являться "костылем" языка? Причем, неважного какого. Вот есть SonarQube для C# — это костыль для C# или как?

Ну да костыль для 1С, как и большинство интересных разработок на инфостарте. Я конечно понимаю, что эти разработки хорошо продаются и внедряются, но все это ради проприетарного ПО с закрытым кодом, старым языком, решениями с кучей бойлерплейта, кучами багов на уровне платформы и ужасным интерфейсом?
На Java вы уже достигли уровня дохода, который был на 1С?
К счастью, не всё измеряется уровнем дохода :))

Твой следующий чекпоинт — Scala :)

Какая-то немного путанная статья… Старание изучать новое, безусловно, похвально, но вы и сами отметили, что 1С-ники шарят в быстрых запросах намного лучше многих и многих тертых Джава/Шарпистов. Я сам сейчас наблюдаю на работе (перешел в C#) как "ведущие погромисты" такое в SQL отправляют и потом думают: "а где же тормозить может...?"


Далее — анализ предметной области, анализ задачи. У 1С-ников в крови понимание смысла предлагаемой бизнес-идеи, и отсюда гораздо более качественная ее декомпозиция на модули, сущности, интеграции. Опять же, "настоящие" программисты — специально пишу в кавычках, потому что уже насмотрелся на них — говнокодеры похлеще самых сраных 1С-ников — думают про иерархии классов, а будет ли на выходе адекватная система, которая делает то, что от нее хотели — им пофиг. Если аналитик за них не подумал, лепят горбатого и прикрываются отмазкой "ну так в аналитике". А то, что сука, здравому смыслу постановка противоречит и хотя бы задуматься "а не накосячил ли аналитик" — нет, это выше моих сил, я вот классы будут сверху до низу проектировать, смысл это не ко мне.


Средней руки 1С-ника можно смело ставить лидом аналитиков, не прогадаешь. Да еще и SQL соптимизирует и ORM-щиков краснеть заставит.

ну то что 1Сник не столько программист, сколько аналитик — это понятно.
хорошо ли это? при поверхностном рассмотрении кажется, что да, но судя по тому, что такая схема не прижилась (в мировых масштабах) — вероятно в ней есть какой-то изъян, который мы не замечаем.

Не прижилась? Где не прижилась, откуда информация? Программист, который понимает смысл задачи, а не monkey-coder, который делает РОВНО то, что написано — приживётся везде, и будет любим и оплачиваем

SAP например не соединяет функции аналитика и программиста в одном человеке. да и 1Сные конторы как только поднимаются чуть выше плинтуса обзаводятся аналитиками/методологами.

Функции аналитика и разработчика объединяют в своих сотрудниках только мелкие франчи, которым удобно, чтобы студент за мелкий прайс был и швец и жнец. С другой стороны, от такой школы жизни вырастает качественный, сильный разработчик — сразу сильного уровня, только синтаксис поменять и считай готовый спец. А вот "кодеров по ТЗ" в других экосистемах — пруд-пруди и такое лепят с честными глазами "так в задаче написано" — что аж волосы шевелятся и хочется заменить их 1С никами к херам собачьим.

ну и поинт то в чем? пусть ваш сильный разработчик сходит в гугл — расскажет им что он достоин зп $200k в год, потому что он прошел школу жизни

200к хочет любой разработчик, только один их стоит, а другой- нет. Поинт в том, что язык программирования не важен и светлая мечта "уйду из 1С и заживу" — наивна. Не обязательно быть 1С-ником, чтобы быть говнокодером. Верно и обратное, не обязательно быть говнокодером, если пишешь на 1С

Не обязательно быть 1С-ником, чтобы быть говнокодером. Верно и обратное
это правда
А помимо синтаксиса еще поменять голову, которая совсем к другому программированию привыкла))

При наличии оной — это несложно. Скажем так, если делал курсовик на C на первом курсе — можешь писать на чем угодно из мейнстрима.

Ну, на первом курсе у меня еще ПК не было, но курсе на третьем читал K&R. И да, писать то можно на чем угодно. Но писать ХОРОШО — далеко не факт. Ну и C — тоже процедурный язык. Перестроить голову на ООП и ФП — далеко не просто (даже если забыть про маргинальные случаи вроде акторов (хотя не такой уж и маргинальный), хардкорных ФП языков и прочего).
НЛО прилетело и опубликовало эту надпись здесь
Вообще для изучения джавы в этом году JetBrains+Stepik сделали такую штуку га Hyperskill — мне очень понравился их поход в том, что в процессе обучения выполняются хоть простые, но все же проекты, т.е. сразу видишь применение знаний. Ну и конечно огромное количество задач для практики(и теоретической информации тоже). Единственным минусом для некоторых может оказаться то, что там все полностью на английском.
хорошая штука, спасибо. посмотрел пару задач — чем-то напоминает хакерранк
Только хакерранк — для того чтобы произвести оценку скилов и платный, а гиперскилл — для обучения и пока что бесплатный(и судя по всему основной функционал и останется бесплатным)
я не знаю есть ли у хакерранка платные услуги, но я обошелся без них, полностью free.
и раздел interview preparation там действительно есть, но есть и problem solving на котором надо тренироваться
А да, действительно, я сразу не нашел. Но все равно — там больше ориентация на определение уровня, чем на обучение. Немного разные инструменты под немного разные задачи.
Хм, больно крутые у вас 1сники. Я до сих пор в байт-коде почти не шарю, (особенно том что для классической jvm а не для андроидных далвика и арта, все таки отличаются довольно неслабо они, да и не очень интересно мне), с многопоточностью пробелы гигантские, да с адекватным построением архитектуры и паттернами пробелов немало. Про библиотеки и вспоминать страшно, сколько их существует и сколько еще не знаю. А ведь почти год как начал изучать и писать на ней. На котлине правда, но один фиг jvm. Это я еще не вспоминаю про сопутствующий инструментарий вроде обработчиков аннотаций, гредла с мейвеном, докеров всяких и прочей бубуйни.
Ну ладно можно вдвое сократить сроки за счет того что я не сказать что очень активно впахиваю. Ну еще вдвое за счет того что менторов нет и приходится до всего доходить только головой и гуглом. Еще вдвое можно скостить за мою общую тупость. Ну даже еще вдвое за то что был посредственным 1сником — все равно не вижу как можно за неделю освоить java на уровне хорошего мидла.

Тут место для картинки "C++ за 21 день"

Архитектура и паттерны не относятся к java. Это фундаментальные знания.
Байт код мидлу нахер не нужен.
Принципы построения многопоточности во всех языках похожи.
Библиотеки всегда учатся только те, которые нужны. В целом одна дополнительная библиотека осваивается от 2 часов до недели.
Градл мавен докер надо понимать, но чем это
отличается от других сборщиков? мидлу не обязательно лезть в дебри. Надо уметь настраивать сборку и понимать последовательность. В 95% случаев за сборки отвечают более опытные разработчики, чем среднестатистический мидл. Ну а докер вообще к яве не относится. Предполагается что ты его уже знаешь! Все ведь запускали 1с и edt в докере, нет?


Если говорить об изучении явы с нуля, без фундаментальных знаний, без опыта в других языках, то скорее всего это займет от 2х лет.
Ечли говорить о разогретом опытном 1снике — неделя.

Архитектура и паттерны не относятся к java. Это фундаментальные знания.

Которые 1сники не изучают, а если и изучают то не могут применять ибо платформа, язык и стандарты их ограничивают.
Байт код мидлу нахер не нужен.

Но без этого трудно сказать что знаешь jvm. Да и я вот все еще из джуна выползаю — уже разок пригождался. Ни за что не поверю что мидлу оно не нужно.
Принципы построения многопоточности во всех языках похожи.

Угу, обенно в 1с и java. Очень смешно, да.
Библиотеки всегда учатся только те, которые нужны.

Тем не менее нужно их много, и на разных местах/проектах они разные. И багаж этих знаний у мидла довольно высок чтобы без проблем выбирать нужные под конкретную задачу, зная подводные камни и плюсы каждой.
Градл мавен докер надо понимать, но чем это
отличается от других сборщиков? мидлу не обязательно лезть в дебри. Надо уметь настраивать сборку и понимать последовательность. В 95% случаев за сборки отвечают более опытные разработчики, чем среднестатистический мидл. Ну а докер вообще к яве не относится. Предполагается что ты его уже знаешь! Все ведь запускали 1с и edt в докере, нет?

Вы живете в мире сказочных пони. Большинство 1сников до сих пор ни разу не слышали про докер, на edt ругаются, а системы сборки для них магия. Опять же, мне вполне себе в последнее время приходится ковыряться с gradle. CI вот буду настраивать в скором времени. А я ведь еще даже не мидл. Да и докер только как пример был. Нормальному разработчику еще дофига чего нужно знать из ПО, чего средний 1сник не встречал.

Если говорить об изучении явы с нуля, без фундаментальных знаний, без опыта в других языках, то скорее всего это займет от 2х лет.
Ечли говорить о разогретом опытном 1снике — неделя.

Если говорить об 1снике который как и большинство их замкнуты в 1сной экосистеме и за ее пределы не выходили — это те же годы почти. Ну раза в 2 скостить можно.
Если говорить о прошаренном 1снике который старается быть в курсе того что и как в других экосистемах — будет чуть проще, но одна теория и домашние эксперименты без тысяч часов практики погоды не сделают, но да, въехать будет проще.
Ну и про изучение явы с нуля без фундаментальных знаний и без опыта — 2 года это вы махнули. За этот срок если у человека не исключительные способности и если он не впахивает по 100 часов в неделю — мы хорошо если jun+ получим.

Вы были на последнем инфостарте?
Сейчас про докер едт и системы сборки не знает только совсем темный и ленивый.

Не всем оплачивают инфостарт. Тем более что мне он уже перестал быть интересен. Вы сейчас серьезно опыт пары-тройки тысяч 1сников пытаетесь на всех растянуть?

Ну дык… эта пара-тройка тысяч лидов потом продвигает это внизу в своих командах. Так это и работает во всей отрасли. Учишься у лучших, учишь других...

Не обязательно. Даже среди них инертность мышления сильна. Да и как то странно под опытным 1сником лида подразумевать. А большинство 1сников, с опытом пару-тройку лет, про все это ничерта даже от лидов не слышали, которые покумекали и решили что это не для их маленьких проектов. edt тоже потеря времени, да и программистам железо менять нужно. Не стоит мерить все мерками столиц и крупных компаний.

Да, есть проблема в нежелании 1С-ников вылезать из своего мирка. Но разве это проблема 1С, как фреймфорка?

Коммьюнити формируется в т.ч. усилиями вендора. Ну и как бы выше просто упомянули «опытного 1сника», т.е. примерно медианного, без всяких оговорок, и он якобы подтянется до уровня хорошего мидла за неделю. Хотя, я уверен, даже человеку приходящему из гораздо более близкой экосистемы C# потребуется месяц-другой чтобы сравняться с нормальным мидлом java. Ровно и наоборот.

Вы в SAP загляните. Там до сих пор считается нормой интеграция через обмен файликами Excel. А за предложение выдавать оттуда PDF вас скорее всего тихо убьют, чтобы крамолу подавить в зародыше.

«С козырей решил зайти» :) Вы еще COBOL вспомните.

Что значит "вспомните"? SAP вообще-то мировой лидер, лучшие методологии и современные технологии. Кажется я цитирую их методичку, но это только говорит о том, что они не закрылись, а вполне себе продают и внедряют. Это не вчерашний день.

Ну а на COBOL по городским легендам проводится 80% всех финансовых транзакций в мире. Только непонятно зачем на них смотреть. Они как и 1С заняли свои ниши, не по причине качества продукта, а потому что были первыми на рынке, которые ему хоть что-то цельное предложили. Но это не повод всю жизнь оставаться в «средневековье».
Ну с т.з. продвинутости разработчиков сап и правда глупо вспоминать. По крайней мере если там все как вы описываете.
Вопрос в том, что 1С в принципе не хочет интегрироваться в IT-сообщество. Может или не может технически (например использовать готовые системы управления зависимостями, или встраиваться через всякие DI) другой вопрос, но не хочет это точно. И понятно почему, им выгодно, чтобы 1С-ники не смотрели по сторонам. А то начнут сбегать к бесплатным конкурентам не дай бог при любой возможности, и вендор-лок ослабнет, а 1С потеряет деньги.
все что вы описали 1Сник не знает, даже опытный

Это написал опытный 1С-ник и я подтверждаю, что он это знает. Если вы, работая с 1С, всего этого не осилили, то обобщать на всех, право, не стоит

come on! а middle Java developer умеет проводить операции на сердце и запускать ракеты в космос!
давайте будем честны: если мы говорим о массовом сегменте — 1Снику не свойственны такие знания

Хотите, я вам покажу пару десятков профессиональных C#-разработчиков, которые про докер не знают ровно ничего? А про async/await они знают, что это хорошо, но не знают почему. Быть невеждой можно не только на 1С, это не проблема фреймворка.

Но это автоматически означает что они ни разу не мидлы, а просто мимокрокодилы какие то.

Нет. В трудовой книжке и в зарплатной ведомости у них написано, что они мидлы. Да и в прицнипе, C# знают хорошо, библиотеки, фреймворки. Но только на уровне ежедневных потребностей. Вглубь не лезут. Это потому, наверное, что Microsoft плохой и .NET говно.

На заборах тоже много чего пишут. То что многим джунам пишут что они мидлы — ничего не значит. Просто ЧСВ тешат. Есть «мидлы» по бумаге которых и джунами то стыдно назвать, что с того?

Боюсь, классификация джун/мидл/сеньор слишком условна, чтобы завязываться на нее в дискуссии. То, что я понимаю под словом "мидл" — они этому соответствуют. Задачи делают, библиотеки знают, на ревью откровенного говна отдают немного. НО — дальше рамок своих служебных задач не интересуются. Докер, Девопс, особенности TPL и async — "зачем, оно просто работает и я знаю, как это использовать". Это мидлы, в моей классификации, а в вашей — возможно нет, см. первое предложение в этом каменте.

ну вы бы еще посмотрели что у них в резюме написано

Не понял тезис. А чем мне бы это было полезно?

Что говорить о массе если в моем прошлом франче, имеющем несколько коробок на счету, проект в портфолио с несколькими тысячами пользователей (пусть не самым лучшим образом сделанный), входящий в относительно небольшое число франчей имеющих статус «Центр разработки» про докер большинство впервые узнало чуть больше года назад только от меня, покивало головой и забило. А хотя нет, кажется они у вас таки вебинар заказали, послушать. Но по моим сведениям оно так дальше и не пошло с тех пор. Собственно по остальным пунктам у большинства также пробелы. Но сертификатами увешаны как елки, да. Правда не уверен что сейчас там есть больше одного-двух экспертов, в основном сертификаты чисто по конфигурациям.
Вот я — 1С-ник со стажем 18 лет. И впервые слово Докер прочитал тут в комментариях. Мельком погуглил — на кой вообще это нужно тем, кто занимается 1С?
Ну вот а товарищи выше утверждают что это любой 1сник знает и потому ему не нужно будет это объяснять при переходе на другие стеки (правда за докер все зря зацепились так, в изначальном каменте я скорее подразумевал «докер и т.п. технологии которые средний 1сник не знает за ненадобностью а джависту они нужны»).

и джависту докер не нужен. Докер нужен тому, кому нужен, не больше не меньше. Сопустствующая технология, которая полезна, но необязательно всем и каждому. Примерно, как знание HTML. веб-фронтендеру очень надо, бэкендеру — желательно, DBA — ну фиг знает, но на хабре каменты форматировать — полезно.


С докером то же самое, девопсу — обязательно, а джаверу-бекендщику — просто полезно и то, по желанию.


Вывод: "товарищи" выше не утверждают ничего необычного, и уж тем более того, что докер знает любой 1С-ник.

Цитирую ZEEGIN
Сейчас про докер едт и системы сборки не знает только совсем темный и ленивый.

Не, конечно джавист или любой другой спец может разрабатывать и деплоить по старинке проект, ручками, но как бы так уже мало кто делает. То же и с мобилками, у многих на CI сборка мобилок и тесты в докер контейнерах крутятся. Ну и да, лучше не цепляться к бедному докеру так сильно, речь скорее про весь стек инструментов полезных разработчику, частью которого докер в т.ч. является.

"ленивый и совсем темный" не подразумевает "1С-ник", верно же?

Ммм… И? Во-первых среди 1сников таких гораздо больше по моим наблюдениям, среди них вообще немногие программированием интересуются и развиваются в этом направлении спустя время. Во-вторых из за обособленности экосистемы и коммьюнити 1снику таки сложнее перескочить. И уж тем более сразу за неделю с уровня мидла в 1с на уровень мидла в java/kotlin/c#/js/etc.

За неделю не знаю. Без бэкграунда точно нельзя, а с бэкграундом и stackoverflow под рукой — думаю можно

Байт код мидлу нахер не нужен.

Возвращаюсь к нашему спору, вот прямо сейчас я, будучи джуном, вынужден смотреть кроме документации еще и байткод чтобы раскурить как работает передача лямбд в инлайн функцию в корутине в котлине (причины опустим, долго и путано придется описывать). Так что нужен. И не только мидлу, но и джуну.
смотря что вы называете уровнем хорошего мидла…
Спасибо за статью. Некоторые «особенности» 1С-разработки подмечены очень точно.
«надоело нянчиться с бухгалтерами» или «не хочу, чтобы моя зарплата обрушилась вместе с курсом рубля» и тем более «хочу свалить из этой грё...»

— а от этого вообще чуть слеза не покатилась)

Сам сейчас в процессе перехода с 1С на Swift и iOS разработку. И так же, как и автор, до этого ни на чем кроме 1С не писал. Надеюсь, мой мозг еще не травмирован этим опытом и у меня еще есть шанс стать настоящим программистом)

Когда начнете писать энтерпрайз-приложения с базой данных, моделями предметной области и ui — вспомните 1С не одним добрым словом, поверьте.

Ну вот пишу приложения, правда под андроид, ни разу не вспоминал 1с добрым словом. Наоборот, с ужасом вспоминал как приходилось городить простыни кода, копипастить или извращения изобретать для банальных вещей, или вот мучаться с рефакторингом.

О, у меня тоже есть пара десятков лучей говна в сторону IDE 1С и некоторых аспектов платформы. Но я не пишу, что 1С дерьмо и пора валить. Я отчётливо понимаю ее плюсы и преимущества и я предпочитаю решать задачи наилучшими для них инструментами. 1С в своей сфере применение — очень хороша. Но подправить ряд вещей, безусловно стоило бы. Есть там и херовые решеньица во фреймворке.

1с хороша только в основном за счет доступности кадров в регионах, выстроенной системе франчей, низкого порога входа и большого количества готовых решений многое в которых open source, пусть и платно. Преимуществ в платформе как таковой особых нету. Не говоря уж о языке. Даже какой нибудь js (чтоб его черти сожрали, ужасная дрянь) — пусть уродлив, но куда гибче.
Кстати. Меня постоянно пинают, что я в статье не упомянул плюсы 1С. И я честно ищу их для второй части статьи, чтобы она была не такой однобокой.

И надо сказать это не просто. Пока из того что они сделали, чего нет у других из коробки, это то что они сильно загнались с работой со временем (эти ОстаткиИОбороты, которые например умеют включать движения для границ интервалов), и вообще аналитическими отчетами (что само по себе очень спорно в OLTP системах).

Другое дело, что в современном мире польза такой расширенной работы в отчетах, а особенно в оборотках весьма сомнительна. Современные системы должны быть (и бывают) куда более бизнес-процесс ориентированными, где пользователь работает в АРМах, где он одновременно и видит нужную ему информацию и вводит ее в систему. А в этом плане у 1С все очень плохо. А оборотки (и другой интерфейс аналитических отчетов) по сути важны в процессах аудита / бухгалтерии и там где процессы очень плохо автоматизированы. Как инструмент же BI СКД очень неудобен.

При этом если исключить работу со временем и аналитикой по периодам, то те же регистры это одно простое материализованное представление.

Плюсы в 1С не очень явные, они раскиданы по платформе и видны, когда видишь, как это делается в других платформах. В основном это НЕ фичи, а наоборот — отказ от фич. Несколько примеров.


  1. (Мой любимый пример) Числа. В 1С есть только аналог BigDecimal в контексте переменных встроенного языка (и numeric/decimal в данных). Это офигенно роняет производительность (сравните цикл инкрементов до миллиарда с любым языком, даже с Python). Но сколько же раз я видел ошибок прикладных программистов в решениях связанных с этим. То float начинают для денег использовать, то с округлением напортачат, то за maxint уйдут, то в конвертации между типами ерунду наделают. А как прекрасно выглядит java-код, который интенсивно работает с bigdecimal/biginteger! Особенно через пару месяцев, после его написания. Я после пары раз такого опыта, для этих задач настоятельно рекомендую kotlin или scala (ну или .NET) — там хотя бы перегрузка операторов есть.
  2. Unicode. Что, блин, может быть проще? Не надо в 2019 году использовать однобайтные ASCII кодировки (кроме интеграции с дремучими legacy). Ни за что. Но нет же. Раз в год-два я очередной раз объясняю людям, что надо использовать nvarchar и не надо однобайтный varchar в БД (когда этой системы будет 100-200 инсталляций кастомизированных по несколько ТБ и в одной самой ценной невозможно будет внести имя клиента — будет прикольный фэйл). В 2015 году у gitlab отваливалась LDAP-авторизация из-за неправильной работы с кодировками, у JetBrains IDE до сих пор не везде работает с кириллицей в именах файлов. Ну чёрт подери — доколе?
  3. Нумерация документов/справочников. В 1С она точно не самая гибкая и не самая лучшая. Но что делают в банковском софте и в самописных системах учёта — ну это же просто мрак. То identity воткнут (и потом "ой, а почему у нас дырки"), то наоборот, сделают генератор, который работает с блокировкой на уровне СУБД (и станет узким местом).
  4. Составные типы. Я не рад тому, как это сделано в 1С. Но опять же ровно до того момента, как приходит пора увидеть очередную попытку их переизобрести в самописных решениях. Ну как же так вот у этих людей (senior+ уровня!) и гуру C# и Java получается сделать ещё хуже? Да даже с идентификаторами ссылки. 1С приняла волевое решение — всё, все идентификаторы ссылок абсолютно синтетические, но последовательные, примерно как NEWSEQUENTIALID в MS SQL и нет больше проблем, например, при репликациях/обменах. Нет же, разработчики других систем упрямо лепят что-то типа identity (она же короче!), тащат их в GUI, пока не придёт пора делать несколько связанных инстансов (и тут их ждёт открытие).
  5. Ещё одна мелочь — отображение списков. В 1С есть достаточно удачные механизмы листания (больших) списков и навигации по ним. Вообще тема достаточно неприятная, она идеально не решается: тут либо интуитивно и просто (но риск огромных рекордсетов на клиенте), либо той или иной кривизны пейджинг. Те, кто делают пейджинг часто делают его криво. Те, кто делает честный скроллбар — кладут базу данных, канал и клиента.
  6. Одно место для проектирования пользовательского интерфейса (я про управляемые формы). Спору нет, в веб-клиенте интерфейс работает не то чтоб идеально. Но работает. А вот для многих других учётных и банковских систем сделать удалённое рабочее место — это проект уровня предприятия. Оговорка: к счастью для тех кто изначально сделал на вебе это либо не нужно, либо есть Электрон.

Всё это лишь горстка примеров, когда ограничение функциональных возможностей или реализация с компромиссами оказывается важным архитектурным преимуществом в будущем. Даже компромиссный или не самый эффективный вариант — он уже есть в коробке и принимается как данность. Его самостоятельная реализация будет либо невозможной (потому что такие решения надо принимать в начале проекта, а там не до того, да и вообще архитектора нет), либо несколькими дорогими итерациями.

Все то, что вы написали стандартный «набор джентельмена» для любой высокоуровневой (в частности ERP) платформы. И все они в 1С реализованы мягко говоря так себе. Я надеюсь вы читали эту статью.

В ваших же пунктах вы кстати почему-то сравниваете с совсем низкоуровневыми платформами вроде Java (даже не .Net где хотя бы LINQ есть). Ну и составные типы если они ссылочные, то это просто костыль для обхода наследования, а если там мешаются разные примитивные типы, то это мина замедленного действия с точки зрения производительности (и сам 1С не рекомендует их использовать по сути). Впрочем в статье выше это все есть.
  1. Вашу статью я читал. С чем-то согласен полностью, с чем-то частично, с чем-то полностью не согласен, но статья очень хорошая. Даже начинал писать комментарий, но а) я понял, что он по объёму может стать сопоставим со статьёй, б) там и так тьма комментаторов (и опять же — с кем-то согласен, с кем-то нет). Писать такой комментарий ради "в интернете кто-то не прав" — только тепловую смерть вселенной приближать :)
  2. Все то, что вы написали стандартный «набор джентельмена» для любой высокоуровневой (в частности ERP) платформы. Для SAP и DAX — соглашусь, но если посмотреть шире, то боюсь разрушить вашу веру в человечество. Если б вы знали, какой трешак происходит в банковской и финансовой сфере даже по перечисленным пунктам.
  3. В ваших же пунктах вы кстати почему-то сравниваете с совсем низкоуровневыми платформами вроде Java (даже не .Net где хотя бы LINQ есть). Потому что эти пункты низкоуровневые. Я могу, наверное, 100 пунктов хорошего и 100 плохого написать разной степени низкоуровневости и высокоуровневости. Потому и выбрал именно эти пункты, что сравниваю не только и не столько с Java, сколько со всеми распространёнными языками/платформами. Всё перечисленное применимо для Java/JS/C# и большая часть для Ruby/Python, а то что про СУБД для SQL Server/Oracle/PostgreSQL/MySQL.
  4. Главный посыл, что если в платформе/среде есть доступ к распространённым языкам программирования (Java/JS/C#), или прямой доступ к структуре БД, то скорее всего будет возможность, особенно на ранних стадиях разработки решения, наделать решений, которые для этого класса задач будут очень неприятными. А в 1С — не самые лучшие решения, но от типичных грубых ошибок спасают. Я был бы рад, если бы этих грубых ошибок не было, но я их вижу в крупных финансовых организациях во всех без исключений. И во многих "не ERP" решениях (Jira, gitlab, IDEA прямо упомянуты). Отсутствие этих ошибок позволяет гораздо быстрее создать MVP на 1С (в определённом классе задач) и позволяет MVP дальше масштабировать.
  5. Ваши статьи по lsFusion внимательно читаю. Не со всем согласен, настроен скептически, но искренне желаю удачи.
  6. Ну и составные типы если они ссылочные, то это просто костыль для обхода наследования Мне кажется, что правильнее было бы приводить аналогию, что это тип-сумма из алгебраических типов данных, которые активно используются в ФП. Но работа с ними по-хорошему требует полноценного pattern matching и вообще, гораздо более зрелой работы с типами. Но это всё споры типа "эта какашка больше похожа на орхидею или на розу" — не похожа она ни на то, ни на другое и вообще лежит и пахнет.
  7. мина замедленного действия с точки зрения производительности — не такого уж и замедленного, ага, и я выше кидал ссылку на свою статью.
какой трешак происходит в банковской и финансовой сфере даже по перечисленным пунктам.

Я в курсе. Но да, фокус в том, что и не понятно какие платформы там использовать. С их то требованиями к ИТ.

С 4 пунктом все сложнее. Вообще самый эффективный способ, это когда архитектура разбита на уровни, где разработчик может / должен работать на максимально высоком уровне на котором только возможно. И строго говоря человеческая лень этому способствует. Но при этом важно чтобы каждый уровень был четко спроектирован (с понятными, завершенными и непересекающимеся абстракциями) и понятной лесенкой на нижний уровень, вплоть до самого низкого (например той же Java). Во всяком случае в lsFusion такой принцип (там например ограничения это просто надстройка над простыми событиями, простые события над обычными и т.п.). В Java же например нет верхних уровней, а в 1С — очень плохо с нижними (да и в верхних абстракции очень дырявые и текущие).

5. Посмотрим, одной из основных целей для нас это использование платформы в своих проектах. Но сейчас уже почти готов перевод на английский, будет реально интересен фидбек на, на мой взгляд, более лояльном к инновациям и менее консолидированном мировом ИТ-рынке.

6. Ну то что пока я видел в типовых их используют именно для того, для чего в том же lsFusion используются классы и множественное наследование.

7. Ну так в статье есть ссылка на рекомендации по использованию их самим 1С. И она сводится по сути к тому что: не используйте.
я бы сказал что есть две разнонаправленные тенденции:
— когда надо сделать что-нибудь вроде нового документа — плясок действительно больше, но я думаю что это честная цена за то, что ORM не работает как магия и я не привязан к нему и могу его заменить.
— с другой стороны когда надо описать бизнес-логику — то что в джаве лаконично описывается в три строки — на 1Се надо пилить нудно и длинно
Почему Swift, а не Java? Как прогресс?
Субъективно больше понравился. Наверное, потому что я отдаю предпочтение iOS, нежели Android. Интереса ради поставил как-то раз Хакинтош, запустил Xcode и понял, что все это время жил неправильно. Строгая типизация, подсветка синтаксиса и ошибок, именованные параметры у функций, замыкания, опциональные значения… В общем для человека, не видевшего ничего кроме 1С — это было сильно.
Сейчас прохожу курсы. Как закончу, буду работу искать.
С чем тяжело, так это думаю с декомпозицией, архитектурой. В 1С процедуры по 4000 строк, делающие все и сразу — в порядке вещей. Хочется писать красивее)
Брррр. Ну про 4к строк это вам просто видимо с конфой не повезло. Все таки так даже на 1 не пишут.
Пожалуй, Вы правы. Хотел привести пример из типовой конфы — не нашел. Как минимум с тем, что это в порядке вещей — точно погорячился.
Интересно было услышать мнение другого человека, что на том же пути. В 1С больше 10 лет, до этого немного паскаля, делфи, с, с++. Давно хотел заняться мобильной разработкой, но руки не доходили. Делал приложения и под IOs и под Android на мобильной платформе 1С, но это, если честно, ужас. Посмотрел курс Стэнфорда по Swift, кое-что повторил, понравилось. Учу английский, на русском информации очень мало, да и вакансий тоже мизер.
Я с 1С лет 6 проработал. В какой-то момент стало скучно. Даже с учетом того, что появляются какие-то новые вещи типа расширений и EDT — все равно тоска.
Тоже пробовал мобильную платформу от 1С, но что-то не зашло. Swift начинал изучать также со Стэндфордских курсов. Делал все лекции, ДЗ. Потом понял, что не хватает базы, смотрел курсы cs160a, cs106b — тоже Стэнфорд. Потом еще алгоритмы и структуры данных на Coursera, мобильная разработка на edx, задачки на HackerRank — в общем все, на что времени хватало) На английском несопоставимо больше информации. Хотя сейчас прохожу русские онлайн курсы. К ним, конечно, много вопросов в плане качества, но полезную информацию я и оттуда получил.
Любопытный факт замечаю что 1сники часто именно в мобильную разработку уходят. Не только в нее, конечно, но что в андроид чатах такое встречаю, что в чате по флаттеру один из активнейших участников 1сник, что вот тут на хабре многие так же поступили, что сам. Хотя может в чатах по бэку или веб фронтенду та же история, не знаю.

Просто мобильная разработка сама по себе появилась не так давно по времени. Новое, развивающееся, востребованное. Туда не только из 1С уходят. Доля стационарных PC в мировом трафике все ниже

Еще хороший вариант готовиться к экзамену 1Z0-815/816 или 1Z0-808/809. Можно не сдавать, но добиться прохождения пробных тестов на 70-80%. Позволяет посмотреть на многие вещи в Java под другим углом, не так, как их понимаешь при прохождении курсов и написания домашних проектов.
как мне кажется, это хороший способ вылезти из мидлов в синьеры, а не из 1Сников. но может кому-то прийдется по душе…
С JavaRush как то не законченна мысль. Стоит потом продолжать проходить уровни с 15 по 40 или нет смысла если придерживаться программы из статьи?
я бросил, не знаю что там дальше 15 уровня
О, как мне это знакомо. 3 года назад, после 13 лет 1с-а понял, что хочу что-то новое. Не помню уже конкретно почему (что-то прочитал в инете про выбор языка программирования), но выбрал Android разработку. Так же начал читать про джаву, потом всякие сайты по программированию Android. Даже купил и прошел курс «мобильный разработчик» на geekbrains.ru. Это, наверное, самая глупая трата денег в моей жизни.
Через пол года начал слать резюме в разные компании. Сейчас с улыбкой вспоминаю, свои тестовые задания с сетевыми запросами на AsyncTask-ах и God Activity. В одной, после тестового задания, мне отказали, но hr (спасибо ему большое) выслал мне перечень с ссылками, что надо изучить: rxJava, Clean Arhitecture, MVP, Dagger… Еще месяца через 3-4 уже что-то мог писать на Rx-ах и устроился в одну компанию, которая разрабатывала приложение на Xamarin и С#, ну там в процессе работы переучился на C#. Переход Java -> C# гораздо легче, чем 1C -> Java. Там работал 2,5 года, почти каждый день узнавал, что-то новое. И пришел к понимаю, что хочу разрабатывать на нативе, ушел в другую компанию. Теперь пишу на Java и Kotlin.
По зп, где-то через год достиг своей 1с зарплаты. Но, как писали выше, деньги конечно хорошо, но это не главное. Главное, что получаю удовольствие от работы. 1С очень ограниченный язык, да и знание бухгалтерии (которая достала) необходимо.
Ощущение от перехода с 1с на Java: вот дали тебе большой лист бумаги, а ты в уголочке рисуешь одним простым карандашом, и внезапно узнаешь, что есть и карандаши других цветов, и лист большой, и до хрена чего нарисовать можно.
Извините, сумбурно получилось.
Самое важное тут — это Тим лид. Ты должен был познакомиться с ним на тех.собесе и «он должен был выбрать тебя и ты должен был выбрать его» (с).

"— А как я узнаю, что он меня тоже выбрал?
— Он захочет тебя убить…" ©
Вставлю свои 5 копеек. Интересно, а много вообще людей пришли в программирование, сразу начиная с 1С? Я лично пришёл в 1998 году, когда только вышла 7.5. Пришёл с неоконченной вышкой, и уже определенным общим багажом знаний, включая опыт решения задач на всяких Бейсиках, асмах, Си(++), Паскалях. До 1С шабашил написанием курсовых и дипломов. На том языке, который требовался заказчику. Это конечно не было серьёзными масштабными проектами, но тем не менее. И дальше ещё несколько лет, уже став ведущим разработчиком 1С, сейчас бы это называлось тим лид, тогда таких слов не было, я очень активно продолжал заниматься ещё множеством других технологий.
То, что теперь называется фулл стэк. Да, конечно же, времена очень сильно поменялись. И сейчас поддерживать тот уровень, который удавалось держать тогда во множестве технологий, уже практически не реально. И я со временем ушёл полностью в 1С. Просто потому, что мне это было интересно, и за это всегда и везде платят вполне хорошие деньги по меркам ИТ. Со временем я, конечно же, стал перегорать. И сейчас 1С уже просто как средство для обеспечения всей остальной жизни. А в остальной жизни вернулся к старым навыкам, которые уже не работа, а хобби: микроконтроллеры, паяльник, юниксы, си, php, JS. Конечно же, я не претендую на то, что быть сеньйором во всём этом зоопарке, но и врядли много найдётся джунов, которые со мной потягаются.
Так что я к чему всё это? Я не признаю определения 1Сник, Джавист или Шарпист. Есть программисты. Хорошие, и не очень. И криворукие уроды ещё :-).
Да, ещё есть и 1Сники, но это те, которые консультируют и настраивают, они не программисты, и практически никто из них никогда не станет хорошим программистом. Но исключения тоже бывают.
Изучить конкретный инструментарий, это дело некоторого времени, и самое главное — наличия причин для этого. Тут автор всё правильно написал, прямо сразу даже мидлом не получится. Вот вариант — как это делать, я вижу единственный приемлемый: это работая в компании, в которой используются разные технологии, постепенно сместится в другой сектор. У нас сейчас, в крупном фин.холдинге, среди коллег люди так и приходили в 1С, и уходили из неё.
Упираться рогом, типа «опостылила эта ваша 1С!» и уходить просто в никуда с нуля, это весьма спорное решение. Я вот для себя причин не могу найти, даже при том, что для меня другие технологии представляются примерно как вождение машины, трактора или квадроцикла. Если действительно хорошо умеешь на одном, то на любом другом виде поедешь практически сразу, а через короткое время и наработаешь навыки до должного уровня, при желаемом условии постоянной реальной практики. По деньгам, по месту работы, по должностям, по перспективам — лично для себя я не вижу причин, уходить с 1С. Я вижу только одну возможную причину — ненависть :-). Скорее всего конкретно к прикладным областям. Тут можно походить к психиатру, но у нас это не принято :-). Сам я считаю это скорее моим преимуществом в области ИТ: я отнюдь не чистый ИТшник, я знаю ещё массу всего о хоз.деятельности, причём во множестве отраслей. Благодаря тому, что прошёл весь положенный путь от франча, и включая многопрофильные компании.

Дай расцелую!

Интересно, а много вообще людей пришли в программирование, сразу начиная с 1С

Я пришел. В 2014 правда, и сразу на 8.2.
По поводу того что программист не должен быть программистом на фреймворке или на языке мнение разделяю, но если к этому не прикладывать специально усилий, и неслабых, в течении долгого времени, то не выйдет таковым стать. И очень немало «опытных 1сников» как раз такие программисты на фреймворке и есть.
Упираться рогом, типа «опостылила эта ваша 1С!» и уходить просто в никуда с нуля, это весьма спорное решение. Я вот для себя причин не могу найти, даже при том, что для меня другие технологии представляются примерно как вождение машины, трактора или квадроцикла.

1С — это песочница с более низкими бортами, по сравнению с другими фреймворками. И здесь реально(пока реально!) годам к 35 достать до края этого бортика и понять, что именно в разработке здесь принципиально далее двигаться некуда. Сфер применения мало. Ну производство, ну WMS, ну ритейл, ну ещё несколько вариантов. Опробовав и наладив в каждой из сфер свое решение, проект, одно, второе, третье, далее понимаешь, что следующее — это просто калька с предыдущего. И всё — далее потеря интереса к работе, потому что начинается день сурка.
Доходы тоже ограничены сверху. Ну вырос ты в своем городе до потолка по доходам. Далее — ну переехал в столицу, там вырос по доходам до верхнего уровня. И всё. Куда далее? За пределами бывшего СНГ 1С не распространено, включать трактор без смены профиля смысла нет.
Уходить в руководство — это опять-таки отказ от себя в роли разработчика.
Становиться фрилансером многостаночником, развивать свое — это тоже уже не разработка, да и ситуация с интересной работой ещё хуже, чем в первом абзаце.
Вот и получается что на четвертом десятке лет перед человеком встает вопрос о смене песочницу на другую, где борта повыше, а перспектив побольше.

Возможно, на четвертом десятке возникает опыт, который можно передавать более молодым? Руководство отделом, архитекторство, IT-консалтинг, например?

Так это же все скучно обычным программистам.
ну это один из вариантов, да, но во всех этих случаях именно разработкой заниматься придется в лучшем случае эпизодически
Всё примерно так. Но тут уж тогда вопрос глубже. Работа для жизни, или жизнь для работы?
Я за свои уж более 20 лет стажа прошёл уже практически всё упомянутое: и руководство, и несколько городов сменил, от мелких к крупным. Ну разве что фрилансом сильно не увлекался, там тоже надо иметь определенный склад характера, важно быть не столько программистом, сколько предпринимателем. Заграницы мы с супругой рассматривали, и пришли к выводу, что они того не стоят. Большинство из наших знакомых, которые свалили, страдали откровенным отвращением ко всему советскому/российскому/русскому, и именно это было основным их движетелем. Мы такой фигнёй не страдаем. В остальном надо себе отдавать отчёт обо всех сопутствующих неудобностях: другая культура, языковой барьер, фактический разрыв с друзьями и родственниками и т.п. И ради чего тогда всё? Я езжу по заграницам, и мне интересны не тур.достопримечательности, а повседневная жизнь людей там, насколько её можно так мельком разглядеть. И я не вижу, чтобы я, мы как семья, могли рассчитывать на принципиальное улучшение качества жизни. Скорее наоборот, очень реально в нём потерять.
В итоге теперь, уж на пятом десятке, да, честно могу признать, я подвыгорел.
Вот только во-первых, каждое утро по прежнему иду на работу с удовольствием: крутая компания, один из лидеров в своей отрасли, отличный коллектив, хорошее отношение.
Во-вторых: полная уверенность в стабильности себя и семьи. Я найду работу практически где угодно и когда угодно, будь то Москва, или мухосранск. И по меркам места она будет вполне достойной. Мы можем в любой момент распродать недвижимость тут и переехать практически в любую точку России, будь то Владивосток, Сочи или деревня в средней полосе. И я, при всё критическом восприятии мира, не вижу причин, чтобы в перспективе 10-20 лет что-то поменялось в этом плане. Как говорится, лишь бы не было войны.
В-третьих: о планке сверху. Я стараюсь отслеживать тенденции зарплат в ИТ. И я как-то вот нифига не вижу, чтобы в других специализациях планки были сколь-нибудь заметно выше. Да, выше бывает в относительно узкоспециализированных направлениях, те же SAP/Axapta. Или правильнее сказать — были выше. Вот только резко сужается свобода выбора места работы. И куда чаще бывает, что выше планка зависит не от специализации, а от эксклюзивных условий работы, пресловутой «незаменимости». Вот в таких условиях и 1Сники сидят сильно далеко за 200 т.р., и не только в Москве.
В-четвертых: уже давно таки работа для жизни. Как разработчик, я реализуюсь теперь уже вне работы, проектирую дом, системы умного дома в нём. А работа мне всего лишь позволяет всем этим заниматься, оставляет мне время для этого и даёт средства.
Причём я отнюдь не считаю такой подход единственно верным, всё зависит от человека. Сам порой с некоторой ностальгией вспоминаю времена, когда жил работой. Теперь — иначе.
И я не вижу, чтобы я, мы как семья, могли рассчитывать на принципиальное улучшение качества жизни

Я найду работу практически где угодно и когда угодно, будь то Москва, или мухосранск

Я вам открою секрет, но если бы Вы сейчас знали JavaScript, Python, PHP или любой другой современный язык, то Вы бы не были привязаны к Москве и Мухосранску, а могли бы выбрать любую страну для жизни, работая или удаленно, или в офисе. Хоть Испанию, хоть США, хоть Таиланд. Или перемещаться между ними. Не думаю, что стоит рассказывать в чем преимущество такого выбора.
Ой, вот уж прямо секрет! А я же не зря описал своё отношение к переездам в другие страны. Я оценивал такие перспективы, и они мне не интересны по совокупности факторов, причём ИТ-специализация на тот момент не являлась решающим фактором. Преимущества такого выбора отнюдь не однозначны, это уже дело личного мировозрения человека. Как я упомянул, кто-то питает ненависть ко всему здесь, и власти и людям, а кто-то не приемлет свободы и ограничения, царящие в западных странах. Кто-то чувствует себя гражданином мира, не привязанным ни к чему, а кто-то держится корней, и для него имеют огромное значение близкие родственные и дружеские отношения. Так же принципиально меняют ситуацию дети, таскать их с собой по миру — вот уж совсем сомнительное мероприятие.
К тому же есть несколько стереотипное отношение, что вот всякие джавы допускают удалёнку, а 1С нет. Сейчас основная причина, которая тормозит развитие удалёнки в среде 1С-разработчиков, это доступность спецов на местном рынке.
В нашей компании уже давно все процессы выстроены таким образом, что присутствие на рабочем месте совершенно необязательно, с пользователями-заказчиками видимся эпизодически в лифтах. Пока ещё существуют некоторые корпоративные предубеждения относительно удалённой работы, но они ослабевают по мере роста и децентрализации компании. И для себя собственно следующей планкой в ближайшей перспективе я вижу строительство дома в пригороде с личным кабинетом и договорённость с моим непосредственным руководством об удаленной работе.
Я искренне рад, что у Вас все хорошо. Просто живя в такой стране, где бывший работодатель может в любой момент просто так вас прессануть, то важно имееть запасной аэродром. А с 1С у Вас его не будет.

Странно… а почему без 1С — будет?

что вы понимаете под термином «качество жизни»?
А что вы имеете предложить для понимания под этим термином?
Простые базовые вещи всем понятны — уровень личного благосостояния, доступность и качество общественных благ, развитие инфраструктуры, климат и экология.
Вы думаете, что в мире много мест, которые принципиальным образом выиграют у Москвы/подмосковья по совокупности этих факторов?
Можете более развернуто пояснить что такое «уровень личного благосостояния»?
Если у вас зарплата в Москве будучи программистом 200К или примерно 3К в зеленых бумажках. А у рабочего в Нью Йорке 4К. Его уровень личного благосостояния выше вашего или ниже?

климат и экология.

Пару лет назад вроде леса вокруг Москвы дымили так что все кто мог оттуда сбежали к бабушкам в деревню.

А по совокупности факторов на планете довольно много мест которые выиграют у Москвы.
думаю что про уровень благосостояния можно спорить (в среднем он выше, но персонально для вас он может не измениться), но все остальное что вы назвали в любой из развитых стран на порядок лучше
Вот как раз про уровень благосостояния можно было бы и не спорить. Есть вон рядом тема про соотношения зарплат к стоимости жизни. Вот только почему-то все рассматривают сферического ИТ-шника в вакууме. Не вспоминают про то, что у среднестатистического ИТ-шника уже весьма вероятна супруга. Которая здесь может зарабатывать столько же, а там её специализация без переучивания ничего не будет стоить. Дети, которым надо получить общее образование, но язык они пока знают только русский и получать общее образование должны на нём. И которые болеют бывает часто, и здесь их перехватывают бабушки-дедушки, чтобы больничные не брать, а там их не будет рядом. Ну это ладно, это же очевидные вещи, да? Что про них спорить.
А вот про всё остальное как раз нужно спорить. Потому что вот эти лозунги яркие «на порядок лучше» — они вообще ни о чём. Что на порядок лучше, то ровно на тот же порядок и дороже. И здесь есть такое же за те деньги. А всё остальное ой как не однозначно. Что можно сравнить с Москвой? Нью-Йорк подходит? Я сравнивал лично, и лучше он лишь кое-где местами, а где-то на порядок хуже. Но тут уже продолжать дискуссии иметь смысл только предметно, остальное всё пустая демагогия.
вы знаете, меня иногда пугает пропаганда. в какой еще стране третьего мира, кто-то возьмется на полном серьезе утверждать, что «мы тут живем лучше, чем в развитых странах»?..
загуглить «ввп на душу населения», «динамика реального располагаемого дохода» — это же так просто!
не нравятся вам «большие цифры» — возьмите отношение средней зп (net) к аренде какой-нибудь двушки не совсем на отшибе. в Москве будет 80/50, в Германии 168/105. Можно цифры Германии пересчитать по курсу ППС, если так вам больше нравится, получится 60/37 (все цифры в тысячах рублей)
не нравятся вам вообще цифры — возьмите натуральные показатели обеспеченность жильем, топ продаваемых автомобилей (тут/там).
вот можете еще ознакомиться, дальнобойщик машину жене купил в штатах. дом плотника в германии. дом тестировщика в штатах. я понимаю, что «коммуналка то дороже!!!», но на коммуналке свет клином не сходится.
А про качество российского образования, лучше вас я и не скажу:
там её специализация без переучивания ничего не будет стоить
А где в моих комментах есть хоть намёк на фразу «мы живём лучше»?
Я совершенно не склонен разбрасываться такими пустыми лозунгами. И такими, как «у них там на порядок лучше». Вы же сами сейчас ссылаетесь на ВВП. А уж в темы про ВВП я погружён весьма глубоко. И там нет и близко никаких «порядков». Да, мы отстаём в разы лидеров. Вот только практически вся первая десятка этих лидеров практически никогда не рассматривается ИТ-шниками, как место для переезда. А от тех стран, которые обычно рассматриваются, отрыв уже идёт даже не в два раза, а на десятки процентов. И да, преодолевать эту разницу мы будем десятки лет, причём независимо от того, кто будет рулить.
Но мы же вообще не про это в этой теме!
Я изначально пишу конкретно про возможную разницу в качестве жизни среднестатической семьи ИТ-шников! Не про сферического коня в вакууме, не про дальнобойщика или плотника. 1Сник тут, джавист где угодно. С семьей, хотя бы с одним ребенком.
Ссылка про арендованный кусок таунхауса тестировщика из штатов повеселила вообще. Это единственный пример, касающийся ИТшников, и вот как он вообще демонстрирует разницу в качестве жизни?
Типичная РЕАЛЬНАЯ картина, десятки моих коллег и знакомых: миддл или сеньор-1Сник, человек за 30 лет, с семьёй, 1-2-3 несовершеннолетними детьми, достигший в целом здесь потолка. Т.е. это Москва, на руки от 150 т.р. у миддлов, от 200-250 у сеньоров, жильё уже у большинства в собственности, и у большинства именно в Москве, не области. Родители-бабушки-дедушки или рядом, или видятся 3-4-5 раз в год. Фанаты загородной жизни уже имеют недвижимость или планируют ей обзавестись в обозримых сроках. На какие такие порядки любой из них может улучшить качество жизни себя и семьи не здесь, а где-то там? Что конкретно где-то «там» может быть лучше аж на порядки, чем здесь? Или хотя бы в разы? Да попробуйте хотя бы пяток конкретных сколь нибудь значимых тем найти, которые вообще лучше?
Кроме климата. Уже полдекабря прошло, а даже зимы нормальной не было ещё. Но те мои коллеги, которые сильно теплолюбивые, очень недурно живут где-нибудь в Краснодаре.
Вот только практически вся первая десятка этих лидеров практически никогда не рассматривается ИТ-шниками, как место для переезда
да, действительно, для полноты картины надо первых 2 десятка смотреть. и мы же про ввп на душу населения говорим, на не про 1300 млн индийцев, зарабатывающих как 65 млн французов? по ввп на душу там только нефтяные султанаты «не в тренде»
преодолевать эту разницу мы будем десятки лет
рост ввп Германии и США 2-3% в год. рост ввп России около нуля. и самое главное — «догнать и перегнать» тут обещают уже лет 70 наверно. как-то ни разу не вышло…
Что конкретно где-то «там» может быть лучше аж на порядки, чем здесь? Или хотя бы в разы? Да попробуйте хотя бы пяток конкретных сколь нибудь значимых тем найти
Извольте: климат (нет, не кроме), продолжительность жизни и уровень медицины, миграция населения, участие в политических мероприятиях, уровень преступности, доля ВВП на образование, науку и здравоохранение, уровень образования и науки, затраты на экологию в ВВП, затраты на силовые ведомства в ВВП, рациональное использование природных ресурсов.
Про ВВП я пишу именно на душу, и конкретно по ППС. Никаких порядков разницы там нет. И догнать и перегнать никто не обещает. И пресловутое удвоение ВВП этого не гарантировало, база была слишком низкой.
Но есть группки местных оголтелых баранов, которые мечтают отнять и поделить олигархические миллиарды и мнят что вот тогда то мы и заживём. А на самом деле нет, не заживём. Работать надо долго и усердно всей страной, и обходится без войн, революций и глобальных переделов собственности. И всё равно так же страна в целом не заживёт, инфраструктурные затраты на нашей территории всё равно всегда будут значительно выше, чем у тех, на кого постоянно кивания идут.
А вот всё дальше — это что вообще? Где там порядки разницы? И по каждому пункту можно отдельно разнести всё в пух и прах.
Климат таки кроме, про это и без вас все знают. Вот только даже и он не однозначен, моей пожилой маме жара противопоказана, ей в этом климате лучше.
Продолжительность жизни? Что, она у немецкого программиста будет выше? Да фиг там, это средняя температура по больнице! Да, мне жаль, что тракторист Михаил из колхоза «Заветы ильича» проживёт меньше, чем фермер Джон. Потому что Миша за свою жизнь употребил в разы больше Джона алкоголя. Жаль, но на моей жизни это не отражается.
Уровень медицины? У них в принципе нет той медицины, которая есть у нас. Не высокого уровня, зато общедоступной и бесплатно/дешевой для всех слоёв населения. А вот у нас есть за те же деньги, что у них, медицина близкого к ним уровня, разве что по сложным каким-то вопросам пока не дотягиваем. Зато у нас залёт в больничку на долгий срок не загонит в долги на десятилетия.
Участие в мероприятиях? Да их глобалистов там винтят и накуривают слезоточивкой похлеще, чем у нас. Вот только подобный уровень экстрима нужен лишь отдельным неусидчивым личностям, а широким слоям что тут, что там — насрать на эти акции.
Уровень преступности? Москва более безопасный город, чем Нью-Йорк или Лондон. Я устал уже строить свою семью, что дверь в квартиру, калитку на даче и машины надо держать закрытыми на замки. Но, тьфу-тьфу, пока никаких последствий это не навлекло, хотя вечно всё чуть ли не нарастапашку. О да, в России есть мрачные места. Вот только они есть практически в любой стране мира, кроме разве что Ватикана.
Затраты ВВП… Ля-ля-ля-ля… Ещё раз, где вообще разница на порядок?
Россия тратит на образование 4.1%, а лидеры в этом неоднозначном вопросе, Лесото и Куба — 13%. Что, там образование реально в 3 раза лучше, чем в России? Или хотя бы лучше вообще? Добрая сотня стран тратит на образование большую долю ВВП, вот только у большинства из них ВУЗы не попали в сотню лучших. А наш, хоть и один, там есть. Потому что попадание в этот рейтинг коррелирует куда больше не с пресловутыми долями, а с абсолютными цифрами.
Но мне, и абсолютному большинству спецов-ИТшников, которые достигли планок в своих городах, перебрались в столицу, обосновались здесь — вот эти доли от ВВП вообще пофиг. Нигде в России нет лучшего уровня услуг, чем в Москве. А все эти доли отражают лишь среднюю температуру по больницам.
Ещё раз, я не обсуждаю здесь уровень жизни в разных странах. Я утверждаю, что ИТ-шник в Москве, и в частности 1Сник, в общем случае уже не получит весомого прироста в качестве жизни в каком-то другом месте, с обязательным учетом всех немалых материальных и моральных затрат, связанных с переездом в другую страну. Вы же не можете привести никаких конкретных примеров, разводите демагогию о средних температурах, хотя тема не о них.
Я не сторонник «у них лучше», но то что у нас жизнь нормальная есть только в нескольких городах — ни разу не есть хорошо. Если человек не любит крупные города — это приговор.
никаких конкретных примеров, разводите демагогию о средних температурах
у вас был вопрос о качестве жизни. качество жизни определяется через те показатели, которые я привожу.
И еще, надо бы определиться: мы Москву или Россию сравниваем с развитыми странами, ибо совершенно верно указали, что это две большие разницы.
где вообще разница на порядок
моя вина: я слишком вольно обошелся с термином. я не имел ввиду наличия 10-кратной разницы в показателях. скорее как «мерседес на порядок лучше жигулей», хоть и едет он 250, а жигули 150 — даже не в 2 раза быстрее
Климат
мы про вашу маму или про среднестатистического 1Сника? Думается, у 1Сников таких проблем нет. Здоровья вашей маме.
Продолжительность жизни? Что, она у немецкого программиста будет выше?
думаю, точных сведений на эту тему, нет ни у кого, но, например, сметрность в ДТП и эпидемия спида на программистов влияют так же как на трактористов.
Уровень медицины? У них в принципе нет той медицины, которая есть у нас
надо было Лужкову рассказать, он то не знал, в Мюнхен попёрся! а если серьезно — у меня у одного гугл работает?
Москва более безопасный город, чем Нью-Йорк
вы серьезно? там прям сверху написано, что этот рейтинг составлен путем опроса населения, т.е. это рейтинг ВОСПРИЯТИЯ преступности, а не самой преступности. Сколько я буду за вас гуглить?
у большинства из них ВУЗы не попали в сотню лучших
мы как-то пересчитывали по рейтингу топ-1000, количество вузов на душу населения. Всех уже не помню, вот помню Ирландия была оснащена в 3 раза лучше. А МГУ там кстати не в первой сотне, а во второй.
Я утверждаю, что ИТ-шник в Москве, и в частности 1Сник, в общем случае уже не получит весомого прироста в качестве жизни
в принципе, если говорить вот только о самом 1Снике здесь и сейчас, забывая что у него могут быть дети, которым нужно образование и через 2-3-4 десятков лет ему на пенсию — я спорить не буду, я изначально допускал что в каких-то случаях качество жизни может не измениться.
И ещё раз. Моя изначальная цитата: «я не вижу, чтобы я, мы как
семья, могли рассчитывать на принципиальное улучшение качества жизни».
«Я, МЫ КАК СЕМЬЯ». Я не рассуждаю про средний или чей-то уровень жизни. Я, как ИТ-шник, достиг планки по российским меркам, это Москва. Я, как ИТ-шник, причём тогда ещё более широкого профиля, чем только 1С, в начале ещё 2000х, внимательнейшим образом изучал возможность движения дальше, т.е. по заграницам. И причём ещё и детей не было тогда. Для меня важным источником информации являлись не рейтинги, не доли от ВВП. Я искал и изучал реальный практический опыт уехавших соотечественников. И вот именно исходя из практического опыта я, даже в тех обстоятельствах, так и не смог для себя найти достаточного количества реальных преимуществ, которые бы перевесили бы все реальные сложности, связанные с переездом.
Причём тут, в моём конкретном окружении, в моём районе и городе, за прошедшие годы множество повседневных вещей ещё существенно приросли качеством.
Вы продолжаете рассуждать о сферических конях. Вы так и не смогли привести ни одного конкретного реального примера, в чём я и моя семья выиграет здесь и сейчас, или хотя бы в перспективе 5-10 лет.
А я отлично знаю, в чём мы сразу проиграем. Это всё субъективные вещи, каждый для себя сам определяет их вес.
1. Языковой барьер. Продолжительное время это будет доставлять НУ ОЧЕНЬ МНОГО неудобства. Во всех сферах. С врачём банально объясниться, когда ребёнок очередной раз затемпературит.
2. Обучение детей. Выбор школ в течении нескольких лет будет ОЧЕНЬ ограничен.
3. Разрыв с родственниками. Бабушки-дедушки очень любят своих внуков, и постоянно канючат, как бы провести с ними побольше времени. И они могут легко и недорого практически в любой момент навестить нас. А ещё, если вдруг ребёнок заболеет надолго, они приедут и позволят нам не уходить на больничный. И не нанимать злую чужую няньку. Которую тоже придётся искать русско-язычную. Это будет легко везде, да?
4. Разрыв с друзьями и кругом общения. У нас тут под боком целые географические кланы, Таганрогские, Ростовские, даже Псебайские и Поцховские (но это уж никому ничего не скажет). Среди них есть очень близкие уже люди, с которыми дружим 20 и более лет. Мы часто встречаемся, проводим вместе время, помогаем друг другу по мелочи и по крупному (найдёте где-то там за границей поручителя по ипотеке?).
5. Стареющих родителей в какой-то момент надо будет поселить к себе поближе. Здесь это можно будет сделать я бы сказал — легко. К нужному времени мы с нашим уровнем дохода сможем без проблем купить им рядом однушки, они сразу и без проблем получат здесь весь спектр гос. и мед.услуг. А туда захотят ли они в принципе ехать?
Про культурные барьеры я сильно не заморачиваюсь, не являюсь и тут каким-то ярым ортодоксом. Хотя публичная демонстрация гомосексуальности мне совершенно однозначно удовольствия не доставит.
И ещё туча всяких мелочей и не очень.
И вот на фоне всех этих вещей — что же такого я и моя семья там получит на порядок лучшее? Что конкретно?
Вот вас тут люто минусуют. Думаю это не совсем заслужено. Каждый имеет право на личное мнение. Но попробую вам ответить один раз. Вернее даже не вам, а скорее другой взгляд для тех кто ищет для себя мотивацию и взвешивает за и против. Пусть некий сторонний слушатель сам решает где правда и есть ли она вообще.
Вот вы сначала пишете:
Я, как ИТ-шник, причём тогда ещё более широкого профиля, чем только 1С, в начале ещё 2000х, внимательнейшим образом изучал возможность движения дальше, т.е. по заграницам. И причём ещё и детей не было тогда.

Прошу запомнить этот момент я буду ссылаться на него каждый раз как на Цитата №1.
И далее идем для начала по вашим пунктам и потом я добавлю просто мысли вслух от себя. Все мои утверждения прошу принимать со ссылкой «у нас в Канаде, Монреале» (за другие страны и континенты пусть другие добавят).
1. Языковой барьер. Продолжительное время это будет доставлять НУ ОЧЕНЬ МНОГО неудобства. Во всех сферах. С врачём банально объясниться, когда ребёнок очередной раз затемпературит.

Языкового барьера у многих молодых (а вы же были тогда молодым? 20 лет назад?) практически нет. Есть жуткий акцент, но при должной подготовке на Родине перед переездом никаких серьезных проблем быть не должно. Насчет врачей, да наверное, есть небольшое неудобство при разговоре. Но медобслуживание устроено так, что с вами никто особо не разговаривает. В 90% случаев после 4-5 часового ожидания и 5-минутного обследования вам скажут, что ничего страшного у вас нет и отправят домой восвояси. Так что повторюсь проблема не в языковом барьере, а в системе как таковой. Но тут сторонники канадской медицины всегда отвечают статистикой, а она реально в пользу Канады. Моя семья из 2х взрослых и 3 детей реально стали тут меньше болеть. То ли от нежелания сидеть по 5 часов в очереди к врачу. То ли воздух тут экологичный, то ли пища вся на антибиотиках. Я не знаю почему но это факт. Есть пару интересных историй про медицину в Канаде, но это достойно небольшой статьи наверное. Ваша попытка выставить ребенка как щит заставляет меня отослать вас к цитате №1.
2. Обучение детей. Выбор школ в течении нескольких лет будет ОЧЕНЬ ограничен.

У нас например дети всегда учились в довольно обычных школах и на Родине и в Канаде. Не очень понимаю о каком выборе вы говорите. Дети по умолчанию ходят в ближайшую школу. Если ваши дети (которых согласно цитате №1 не было) привыкли ходить в некую фельдиперсовую школу. Да наверное вам надо приехать и сразу получить работу. Частная школа стоит порядка 10К в год плюс всякое сопутствующее, если вы приедете как ИТ спец и устроитесь на работу с зарплатой 70-80К в год, то со скрипом но потянете и частную школу (хотя большого смысла в этом нет, проверено на собственном опыте, опять же материала на статью — легко). Мои дети старшие 2 ходили в обычную местную школу и после нее поступили и в местные колледжи и в местные университеты.
3. Разрыв с родственниками. Бабушки-дедушки очень любят своих внуков, и постоянно канючат, как бы провести с ними побольше времени. И они могут легко и недорого практически в любой момент навестить нас. А ещё, если вдруг ребёнок заболеет надолго, они приедут и позволят нам не уходить на больничный. И не нанимать злую чужую няньку. Которую тоже придётся искать русско-язычную. Это будет легко везде, да?

Тут довольно много правды. Но решения есть. На самом деле мы за 10 лет 4 раза ездили на Родину, чтобы повидаться с родственниками. Они тоже приезжали к нам 2-3 раза разными составами. Насчет помощи и скинуть внуков бабушкам. Это конечно фишка, но в Канаде ваша супруга могла бы просто не работать а все время уделять семье и дому, либо найти работу с неполной занятостью или удаленно. Не так страшен черт, как его малюют. Мы справились и без бабушек. И многие наши друзья здесь справляются. Так что отмазка так себе особенно если перечитать Цитату №1. Некоторые наши друзья отправляют детей на Родину к бабушкам на все лето. Для меня лично это странновато, но если хочется, то в чем проблема?
4. Разрыв с друзьями и кругом общения. У нас тут под боком целые географические кланы, Таганрогские, Ростовские, даже Псебайские и Поцховские (но это уж никому ничего не скажет). Среди них есть очень близкие уже люди, с которыми дружим 20 и более лет. Мы часто встречаемся, проводим вместе время, помогаем друг другу по мелочи и по крупному (найдёте где-то там за границей поручителя по ипотеке?).

Друзья остаются друзьями. Да потерь не избежать. Но например в нашем случае все наши друзья тоже разлетелись в Австралию, Германию, Англию, Штаты и прочая. То есть, если для вас это настОлько важно, то крыть конечно нечем. Насчет поручителя по ипотеке, думаю вы просто что-то когда-то прочитали и запомнили. У нас тут в 99% никакой поручитель не нужен. Вносите свой первоначальный взнос (от 5 до 20%), остальное дает банк под низкий процент (сейчас на уровне 3%) на 25-30 лет. Помогать друг другу никто не запрещает. Но система устроена так что всем доступно Очень много различных кредитных ресурсов, поэтому одолжиться до получки или на ремонт или на путешествие или на что угодно никому не нужно. Но мы не прочь помочь и помогаем когда просят. При чем тут страна?
5. Стареющих родителей в какой-то момент надо будет поселить к себе поближе. Здесь это можно будет сделать я бы сказал — легко. К нужному времени мы с нашим уровнем дохода сможем без проблем купить им рядом однушки, они сразу и без проблем получат здесь весь спектр гос. и мед.услуг. А туда захотят ли они в принципе ехать?

Ответ примерно как с медициной и образованием. Это инертность мышления. Пенсионеры тут получают больше, если бы вы приехали 20 лет назад, то ваши родители уже получили бы гражданство, и все полагающиеся пенсионерам плюшки: не мизерная пенсия, льготы, медицинское обслуживание. Хочу добавить что старость тут наступает как бы позже. И после выхода на пенсию люди продолжают жить полноценной жизнью. А не консервируют себя ужимаясь во всем и жалуясь на государство и посвящая остаток своей жизни либо борьбе за существование либо служению детям и внукам.

И ещё туча всяких мелочей и не очень.
И вот на фоне всех этих вещей — что же такого я и моя семья там получит на порядок лучшее? Что конкретно?

Вот тут наступает самое интересное. Здесь есть другая туча всяких мелочей которые вам в голову не приходят. Например, отсутствие бытовой коррупции и вечная улыбка на лицах окружающих. Вы не представляете как это влияет на вашу психику. Достойный уровень жизни. Понимаете, мы тоже не бедствовали в своей стране. Но тут на продукты у нас уходит примерно 1000 баксов в месяц. И это почти средняя сумма по нашему окружению. И дело не в ценах на продукты. Дело в том что здесь все тратят на себя МНОГО. А кредитная система выстроена так что всем хватает на это много. Большинство ездят на новых или почти новых авто. Не 1-10%  населения, а 70-80. Для меня как для спеца тут есть весь спектр компаний с любыми технологиями которые мне могут быть интересны. Мне не надо выискивать вакансии их просто море и можно реально выбрать чем хочется заниматься.
Ваши дети, если бы они родились и/или выросли здесь точно не имели бы никаких языковых барьеров и говорили бы как минимум на 3х языках (поскольку в квебеке официальный язык французский). Вы не представляете насколько более яркими красками играет жизнь когда вы путешествуя по миру свободно понимаете и общаетесь на нескольких языках. Канадский паспорт это отдельная песня. С Российским к превеликому сожалению, все не так классно. Тут много чего конкретно можно написать, но я и так уже увлекся.

Итого, на мой взгляд, ваши аргументы очень личные и субъективные. Они ни в коей мере не отражают объективную реальность. Особенно если смотреть на длинном горизонте. Но я вас понимаю, при таком складе характера и выработанной системы ценностей мигрировать наверное и не стоит. Ваше право и оно по-своему достойно уважения. Я тоже держался «до последнего». Но когда мигрировал и устроился, понял что потерял минимум 10 лет жизни на борьбу с ветряными мельницами, вместо того чтобы жить и работать в свое удовольствие.
Вот вас тут люто минусуют
это не я )))
Притормозите на минутку. Вы и m-rv заодно. Конечно же, моё мнение субъективно, уж я то это знаю и не скрываю. А как насчёт вашего? С чего вы вдруг ваше мнение возводите в единственно верную точку зрения?
Круг моих знакомых и коллег ИТ-шников за последние 15 лет — порядка 70-80 человек. Чуть менее половины — 1Сники, остальные всякие разные. Уехали из них… Аж 2. Один, кстати, вообще один, другой парой без детей. Оба, кстати, в Канаду. И по тем весточкам, которые долетают, мы как-то не замечаем, что они там живут как-то заметно лучше.
Сейчас у нас ИТ-департамент около 60 человек, 1Сников из них 15, остальные опять же всякие разные. Я специально опросы не проводил, но обычно мы в курсе о таковых желаниях и планах, много общаемся не формально. По крайней мере те два человека свои планы афишировали прямо.
Так чьи аргументы личные и субъективные?
С чего вообще весь сыр-бор? Нужна ли 1Снику Java?
Я этот тезис поставил под сомнение — зачем? Меня взялись убеждать, что для того, чтобы уехать. Я опять спрашиваю — зачем? Меня убеждают, что там «на порядок лучше». Так вот, как насчёт того, что это ваше субъективное мнение? Что надо ехать и что там лучше? Всем и безусловно причём.
Ваши отзывы про жизнь в Канаде крайне интересны. Но я и в них не вижу ничего такого, из-за чего бы стоило терпеть массу неудобств. Болеть дети стали меньше? Так это и в России бывает, просто если переехать в другое место. Улыбки влияют на психику? Вы уж извините, но я не верю в искренность «вечных улыбок», эта тема разобрана уже была психологами.
Зато у нас с супругой уже есть у обоих большой опыт переездов. И мы знаем, что влияет на психику. Как раз разрыв круга общения. Но если мы здесь после множества переездов в итоге таки собрались вместе группой очень давних и крепких товарищей, то вот там уже ничего не светит. А с годами новые друзья заводятся всё сложнее.
Так что как насчёт встречного предложение — давайте будем ваше мнение считать личным и субъективным. Я вижу здесь, вокруг себя, большинство, которое не горит желанием ехать куда-то дальше. И на первое место выходит всё-таки личное неприятие обстановки вокруг. Видите, вы тут 10 лет тратили на борьбу с ветряными мельницами, а я просто живу в своё удовольствие, и моя специализация 1Сника позволяет мне это делать.
моё мнение субъективно, уж я то это знаю и не скрываю. А как насчёт вашего?
не горячитесь, я подключился к дискуссии, когда разбирали конкретные вопросы, вроде здравоохранения и образования и сказал что они лучше. еще говорил, что там качество жизни выше, но я подразумевал под ним конкретные показатели, а не всеобъемлящее «лучше»
мы здесь после множества переездов в итоге таки собрались вместе группой очень давних и крепких товарищей
я ж ровно о том и говорил: перед вами выбор между друзьями/родственниками и образованием детей. вы, возможно, так этот выбор для себя не формулируете, но фактически делаете его в пользу друзей, я этого не поддерживаю, но это ваш выбор. (естественно, там еще параллельно 100500 разных кейсов вроде возможности расти в той или иной культуре, говорить на том или ином языке, пресловутые геи, как будет преподаваться история wwii и много-много всего подобного)
Улыбки… эта тема разобрана уже была психологами
не читайте перед обедом советских газет… хотя лучше никогда не читайте.
Вы и m-rv заодно
мы с dzsysop никогда ни о чем не договаривались, тут нет никакой скоординированности
Нужна ли 1Снику Java? Я этот тезис поставил под сомнение — зачем
я принципиально в этой статье и в комментариях под ней не обсуждал вопрос «зачем».
наша дискуссия переходит в терминологическую плоскость. в том определении качества жизни, которым я руководствуюсь — нет про бабушек, желающих видеть внуков.
зато есть про образование этих внуков и про вероятность получить диагноз «спид». эти параметры изменятся при переезде, хотите вы того или нет. и качество социального взаимодействия изменится, языковой барьер будет его сильно понижать первое время, спору нет.
если вы приняли решение, что для ваших детей видеться с бабушкой важнее хорошего образования — это ваше решение, но по той шкале «качества жизни», которая есть на википедии — ваше решение является решением понизить качество жизни ваших детей.
в таком случае стоит говорить о том, что вы приносите качество жизни в жертву другому параметру, можно назвать его «семейственность».
публичная демонстрация гомосексуальности
хоспади, ну как же вы надоели со своими геями! мне пропаганда этатизма и публичная демонстрация средств убийства людей удовольствия не доставляет — терплю вот уже который год…
Я бы не сказал, что в Мск «сеньоры» 1сники массово получают «от 200».

На хэдхантере таких вакансий относительно не много, единицы. Чтобы получать «от 200» нужно быть ведущем прогом или вообще не разработчиком, а тем или иным начальником, архитектором итд.
Во-вторых, если в Мск 1сники еще не сильно уступают по ЗП джавистам, то в регионах этот разрыв гораздо более заметный.
Для примера, в Новосибирске верхняя граница вилки джавистов доходит до 150-170.
Супер сеньор 1сник в большинстве случаев может в исключительных случаях максимум рассчитывать на 120. Но в целом это редкость, и ЗП большинства 1сников располагаются в диапазоне от 70 до 100…

Насчет эмиграции или возможности работы на забугорного работодателя. Да, возможно сейчас таких мыслей и близко нет.
Но ведь никогда не знаешь, как может жизнь сложиться лет через 10-20..? ЗП 1сников привязаны к экономической ситуации в отдельно взятой стране, любой кризис, усиление санкций, рост доллара итд и снова начинается боль и печаль.
1С как среда разработки — не какая-то мировая система, а собственность конкретной организации, которой владеют уже немолодые люди. Что будет с платформой, когда эти люди уйдут на покой или захотят, например, продать контору конкурентам?

Ну и, наконец, не стоит забывать, что за 1с прочно закрепилась репутация системы с низким порогом входа, где «даже английский знать не надо». Поэтому натиск вайтишников здесь особенно силен, оч много людей также переходят из бухгалтеров, сисадминов итд.

Соответственно, чисто мое мнение, демпинговый апокалипсис по ЗП после перенасыщения рынка специалистов здесь случится раньше, чем в Java.
Одинесников — пруд пруди.
Живых же программистов Java в реальной жизни я не встречал ни одного, при том, что в том же Новосибирске число вакансий по Java и 1С примерно одинаковое.
Я бы не сказал, что в Мск «сеньоры» 1сники массово получают «от 200»
если мы говорим о новых сотрудниках (т.е. на какие суммы устраиваются, а не на каких 3-й год работают), то может «от» не получают, но «около» получают. как я вижу рынок — 200 это как раз та цифра, которую сейчас стоит писать синьеру 1С программисту в резюме.
ЗП 1сников привязаны к экономической ситуации в отдельно взятой стране
1С как среда разработки — не какая-то мировая система, а собственность конкретной организации
поддерживаю вас в ваших наблюдениях
Что будет с платформой, когда эти люди уйдут на покой или захотят, например, продать контору конкурентам?
тут не могу с вами согласиться. собственность подобного рода в ее текущей юрисдикции означает скорее наличие обязанностей по учету интересов людей, позиционирующих себя как власть, нежели наличие прав по распоряжению этим имуществом
Помню, в институте, 1С — это была единственная технология, за которую агитировал один из преподавателей и обещал работу в своей компании. Также еще объявление висело о стажировке на SAP. А чтобы найти работу явистом, мне пришлось попотеть и затем ездить на другой конец Москвы. Видимо, для многих 1С становится доступным вариантом войти в мир программирования. Но есть хочется расти, надо двигаться дальше. На яве много финансового софта пишется, опыт 1С может и пригодится.
1C как идея имеет мало смысла, имхо. Имеет смысл только в налоговой среде — беспощадной и бессмысленной, а по сути бандитской. Бухгалтера давно превратились во внештатных сотрудников ФНС на содержании организаций-налогоплательщиков. Для остального — управленческий учет, производство, бюджетирование может иметь смысл, но там требуются очень серьезные познания и практики, которые очень мало у кого есть.
1C как идея имеет мало смысла, имхо.

1С как идея имеет абсолютно положительный и большой смысл. Есть спрос на специализированное ПО в определенной стране со своими стандартами бухучета и спецификой ведения коммерческой деятельности вообще.

Почему идея сделать качественный продукт для удовлетворения спроса целевой аудитории кажется вам лишенной смысла?
Т. е., со всеми остальными высказываниями, кроме 1с, Вы согласны. Это так теперь называется: стандарты бухучета и специфика ведения коммерческой деятельности. А 1с -это все автоматизирует. IBM тоже автоматизировала кое-что кое для кого в 30-40 годах прошлого века. Правда, продукты на базе 1с качественными я бы поостерегся называть, впрочем, как и саму платформу, имхо.
Поскольку не вы создаете спрос и не вы понимаете ценность этого продукта, это вполне нормально что вы остерегаетесь называть данный продукт и платформу качественными.
Я бы тоже поостерегся оценивать качество любого продукта пользователем которого я не являюсь или являюсь в очень небольшой степени.

Но я бы вам посоветовал иногда оценивать качество такого рода продуктов исходя из мнения целевой аудитории. Рядовых бухгалтеров, финансовых аналитиков, продавцов, кладовщиков и прочих. 1С реально на всем пространстве СНГ покрыло очень много задач, которые не имеют и по сей день почти никаких альтернатив.

Тоже самое касается и платформы. Платформа 1С на мой взгляд очень крутая, особенно как идея. С помощью этой платформы за день с нуля можно создать законченный продукт с таким функционалом, что на других платформах понадобится хорошо если месяц, а может и год. За такую скорость разработки, естественно приходится чем-то платить. И вот именно в этой части 1С подвергается критике. Реализация каких-то общепринятых в других языках вещей сделана не оптимально или криво. Но это не значит что идя плоха. А над реализацией и оптимизацией ведется постоянная работа.

Попытка «состарить» 1С сравнением с 30х-40х, совершенно смешна. То есть у вас нет конкретных аргументов и вы начинаете давить на психологию?
Вы бы посмотрели на 1С версии 1991 года по дос, развитие к 1995 в версию 6.0 с интерфейсом под Виндоуз, в 1999 выпуск 7.7 предложил уже вполне современную среду разработки бизнес приложений, 8.0 вышла в 2002 уже с обновленным интерфейсом и массой современных фич. Последняя версия 8.4 вышла в 2015 и основной упор был сделан на работу 1С в кластере. Фирма постоянно делает усилия для того чтобы осовременить среду. И сделать ее удобной и понятной для программистов из других областей не связанных с 1С.

Так что если бы вы были в теме вы бы не пытались сказать что 1С впаривают что-то очень устаревшее или несовременное.

Еще раз, мое мнение: у 1С нет и никогда не было проблемы с плохой идеей. Идея всегда была проста, понятна и уместна. Продукты 1С реально покрывают потребности большого числа реальных предприятий выигрывая у конкурентов дешевыми отлаженными типовыми решениями, простотой установки и использования, скоростью разработки решений как с нуля так и донастройкой типовых.
У 1С всегда были технологические вызовы и ограничения не присущие более универсальным языкам программирования и платформ для разработки. Никто этого никогда не отрицал и не скрывал. Но 1С всегда продолжала и продолжает работать над решением этих проблем. И на мой субъективный взгляд это один из немногих примеров когда отечественная компания сделала большой нужный и качественный продукт. А не скопировала или подсела на бюджетные деньги.
дешевыми отлаженными типовыми решениями,

Вы форумы 1С гляньте. Там в минорных релизах целые ветки ломаются. Дешевыми — возможно (хотя как раз платформа мягко говоря не дешевая). Отлаженными — я вас умоляю.
простотой установки и использования

Ну конечно. Проще чем yum install которой ставятся половина других платформ? Вам про ключи защиты напомнить?
скоростью разработки решений как с нуля

В 7.7 еще можно было как-то согласиться. Но в 8.3 с их МенеджерамиВременныхТаблиц, РеквизитФормыВЗначение, &НаСервереБезКонтекста, временными хранилищами, ручными, ой управляемыми, блокировками и еще с десяток таких пунктов.

Все что есть сейчас у 1С по факту это армия разработчиков, большая клиентская база накопленная годами, и благодаря этому набор типовых решений (впрочем большинство из которых являются средней температурой по больнице, и подходят не очень требовательным к ИТ компаниям, которых впрочем в России большинство).
IBM тесно сотрудничала с гитлеровской Германией, в том числе в области учёта заключенных. Там инновации были ещё те, правда, ради чего они были хорошим не назовёшь.
Аналогии Вы не уловили. 1с — порождение сложившийся «специфики»и паразитирует на ней. Убери эту «специфику» или заставь замолчать ихние принтеры — 1с ловить будет нечего и, скорей всего, канула бы в лету. А IBM осталась. Сам в ИТ слишком давно, а с 1с работаю ещё с начала времен 7.7. Ваши маркетологические рекламные речи очень складны, но весьма смешны. Правды в них столько, сколько в мусоропроводе чистоты.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории