Ваши замечательные красивые потуги на FMX, к сожалению, уже не смогут переломить общей тенденции угасания интереса к Паскалю и к Delphi. Молодежь практически уже не смотрит в эту строну. Я-то ещё, кстати, использую FPC в реальной работе, но в основном уже только как быстрый и самодостаточный кросс-платформенный бэкенд.
Дельфи всё ещё пытаются втюхать за дорого, что почти никому кроме поддержки legacy-проектов уже не нужно. А вот FPC и Lazarus как opensource на этом фоне очень даже неплохи. Для создания небольших кросс платформенных десктопных программ и утилит с GUI подходят на ура. Скорость конечного кода на уровне GCC. Всякие питоновские скриптовые убогости там и рядом не стояли. При этом вероятность ошибиться и выстрелить себе в ногу на порядок меньше чем на C++.
Но это уже не мэйнстрим. А в корпоративной среде вообще с большим натягом применимо, поскольку WEB-интерфейсы только через одно место, и никаких тебе тонн готовых кирпичей и библиотек на каждый случай. Да даже и классические десктопные интерфейсы уже кажутся слегка устаревшими на фоне всяких там QML или WEB-движков прикрученных к дестопу.
Ну и среди миллениалов и более поздних поколений с сырой памятью и указателями (при необходимости) умеют работать уже только единицы, т.е. не вчерашние "грузчики", решившие вдруг податься в программисты из-за денег, а те кто на эту специальность в университетах учился. Но в университетах "эти ваши" Паскали уже больше не изучают. Из низкоуровневых в основном только С и C++. Поэтому, какой бы ни был хороший, современный и удобный компилятор с Паскаля - это уже по любому экзотика.
Ко всему прочему, в связи с вышесказанным уже почти не найти специалистов на Delphi / Lazarus(FPC). И поэтому т.н. эФФФективные мЭЭЭнэджеры (т.е. обычные тупые управленцы, которые сами обычно ни в чём кроме диаграмм Ганта и графиков доходов толком не разбираются) уже крайне боятся проектов на этом языке.
Очень долгое время сотрудничал с парой европейских контор по производству программно-аппаратных комплексов - нет и не было там никаких бизнес-аналитиков. Иженеры сами объясняли программистам, программисты сами дергали инженеров. Клиенты общались и передавали свои хотелки через обслуживающий персонал, через сайт, и в редких случаях напрямую с инженерами. Руководство полагалось на мнения и решения ведущего инженера и руководителя разработки.
После начала СВО вынужден был начать сотрудничать с российской конторой. Куча каких-то бизнес-аналитиков на всех этапах, которые по большому счету не нужны от слова совсем. Они лишь поверхностно вникают в производственный процесс, как правило не имею никакого профильного образования и программировать сами не умеют. По сути они лишь выступают в роли испорченного телефона и частично стенографиста. Почти любой вопрос гораздо проще и быстрее решить напрямую без их участия. И это не говоря ещё о куче каких-то почти полностью бесполезных менеджеров и промежуточных начальников. При этом везде какие-то бюрократические барьеры на пустом месте, которые походу существуют лишь за тем, чтобы кормить эту кучу почти абсолютно бесполезных для дела трутней.
Все IMHO просто. Например, в 90-е большими зарплатами (а не наворованными суммами) могли похвастаться в основном экономисты и юристы. В те времена экономические факультеты и курсы штамповали сотни тысяч бесконечно пафосных и претенциозно-амбициозных экономистов и мЭнЭджеров, которые при этом подчас даже после ВУЗа не могли правильно подсчитать элементарные проценты (сам неоднократно сталкивался), а по знаниях реального учета уступали порой даже младшему бухгалтеру. НО были убеждены в свой бесконечной значимости и требовали больших зарплат. И что характерно, часто получали желаемое. Такие были времена.
Сейчас платят хорошие деньги в IT. Поэтому-то большое количество лезет в эту сферу вовсе не по призванию и даже не по способностям, а тупо по меркантильному интересу.
Лично у меня высшее техническое - инженер-системотехник. И программирование как таковое (тогда это были (Си/C++/Pascal/Fort/Lisp/Разные ассемблеры и т.п.) - это было лишь одним из камней в системе обучения. Как условная биология или химия в обучении медиков. А кроме этого чего только не изучали. Даже собственные процессоры проектировали. НО как раз тогда-то кроме сис.админов или программистов по тупому складскому и бух.учёту, и при чем порой на довольно скромной зарплате (по сравнению даже с продажниками), особенно никто и не нужен был. И поэтому в профессии куда больше было людей именно по призванию, даже если и без высшего образования.
Я недавно поучаствовал в собеседовании со стороны как бы работодателя и насмотрелся на горе-кандидатов. В основном какие-то пафосные заготовленные пузыри про SOLID, МVVC, dependancy injection и т.д. и т.п., НО тупо приостановишь этот пафос и спросишь что-нибудь совсем простое типа, а зачем нужен абстрактный класс или какие вы знаете методы сортировки или что будет с целым числом после поразрядного сдвига влево/вправо, или что-нибудь про отличие стека от кучи, или просьба упростить булево выражение, ... - и всё - сразу видно, что никаких даже элементарных базовых знаний там и нет.
И IMHO глупость ситуации ещё в том, что частенько между нанимающей стороной и работодателем лежит прослойка в виде молоденьких дурочек/дурачков из HR, которые сами-то нифига особо в этом не понимают, но так же проставляют "обязательные" галочки на всякие там SOLID, MVVC и т.п., вот кандидаты и несут потом все как один эти зазубренные без особого понимания термины.
На мой IMHO ~80% ломящихся сейчас в IT вообще не математического, не логического и даже не технического склада ума. То ли родители отправили учиться (потому как это модно и денежно), то ли сам решил сменить карьеру неудачного повора (условно) на "удачного" программиста так же тупо из-за денег, и т.п.
Одно тут радует, что пока такое в гораздо меньшей степени возможно в нашей медицине. А иначе к врачам было бы ходить просто страшно и лучше было бы тогда делать даже сложные операции на сердце у деревенской бабки.
Если вы даете на любом серьезном ресурсе право выборного голосования безмозглой школоте или толпе, то ваш ресурс быстро и превращается в тусовочку для безмозглой школоты.
Даню Милохина сюда пригласите писать посты и комменты - он тут первым IT специалистом уже через неделю станет, поскольку тупая школота накончает ему плюсиков в комменты по любому :D
все высоконагруженные алгоритмы связанные с рендерингом встроены в движок...Юзеру остаётся управлять только логикой.
И все эти алгоритмы написаны на С++. А ты вообще-то не юзер, а девелопер. Шаг влево, шаг вправо - ой а мне вдруг нужно какой-нибудь свой алгоритм на матрицах просчитать. И что? Будешь ждать пока взрослые, умные дяденьки для тебя этот алгоритм запилят или довольствоваться пока в 2-е 3-е меньшей производительностью? Да и вообще профессиональному девелоперу в этой индустрии не знать С++ уже странно. Другое дело, что Unity изначально и нацеливался не на профессионалов индустрии, а на дизайнеров одиночек и на мелкие т.н. инди-команды, где вместо программистов с дипломом зачастую один-два школьника на подхвате.
Я не игродел. Но в силу своей специфики прекрасно знаю насколько хреново оптимизируется конечный код c MSIL в сравнении с C++, не говоря даже про объективные тормоза сборщика мусора и т.п. А вот в конторе с которой периодически моя фирма сотрудничает есть два парня работающих с UE. Они там делают очень специфические вещи по интерактивной визуализации некоторых физических процессов. И там чистой счетной матетематики, а не просто логики хоть отбавляй. А значит если нужно считать это быстро, то без хорошей оптимизации на C++ не обойтись. И кстати один из них тоже рассказывал, что начинал в студенчестве с Unity, но позже переполз на UE.
Да и мне-то все равно, на чем вы там свои поделки делаете. Но говорить о том что С++ это прошлый век, когда у вас даже сам Unity-движок безальтернативно на этом С++ и написан - это какие-то детские глупости про розовые пони.
C++ это прошлый век. Даже пользователи UE4 стараются писать всё на блюпринтах, и не лезть в C++
Прошлый, прошлый. Только вот беда, что одни и те же несложные алгоритмы на С++ даже без особых танцев с бубном и оптимизации на SSE/AVX и то выполняются порой в разы быстрее, чем на C#. SciMark вам в помощь для осознания сего факта.
А C# я тоже очень люблю в офисных и даже в инженерных поделках. Один только LINQ to Object экономит массу времени в написании рутинного перемалывания данных.
Но все же не место этой удобной мэнеджет погремушке в высокопроизводительном коде. И напрасно Unity на радость школоте его как скрипт прикрутили. UE на этом паровозе им не догнать.
Это статья, кстати, очень хорошо отражает ужас, в который порой превращается современный IT.
С одной стороны «эффективные менеджеры»(tm), коим часто по образованию по-хорошему нужно торговать помидорами на рынке, бойко крича, демпингуя и отбивая себе место под солнцем среди кавказских торговцев в кепке.
С другой стороны, приблизительно такие же по уровню «программисты»-самоучки сразу после школы/колледжа или месячных курсов примитивного жаба-скрипта с отточенным навыком и умением гуглить, какую именно жаба-скрипт библиотеку нужно молниеносно закачать для решения той или иной проблемы (конечно, если такая библиотека уже есть).
Все это сливается в банду aka команду и бежит на фрилансовые площадки отбивать себе место под солнцем, бойко конкурируя с индусами в чалмах, работающими за еду, и стремиться выполнять аж по 10 контрактов в месяц!
И как при этом люди в компаниях годами и десятилетиями выпускают, развивают и совершенствуют один и тот же продукт?!
Наверное, у них просто нет таких чудесных «эффективных менеджеров» и замечательных и реактивных «жаба-скрипт исполнителей».
И, наверное, это к счастью :)
Не так здесь то, что во времена моей учебы программазмом и схемотехникой в основном занимались те, кому это было реально интересно. Поэтому, на выходе из ВУЗов как правило уже получались специалисты весьма высокого уровня и хорошо знающие основы. А шелуха типа зубрежки языков или переключение между ними в зависимости от задачи была как бы немного вторична.
А карьеристы за зарплатой тогда шли в Финэк или на юридические факультеты. И приблизительно так же обсуждали, что бы им по-быстрому и попроще поучить, чтобы в блатную конторку на хорошую зарплату пристроиться.
> Просто у вас необычный случай… и ваша зарплата за этот стек…
Необычный случай? Зарплата за Стек? Что вы несете?
Классическое найтивное программирование вдруг стало чем-то необычным?
А платят теперь за понятие «стек технологий» (так любимое эффективными менеджерами) а не за результат, здравый смысл и возможность писать быстрые программы без каких-либо ненужных прослоек?
Давайте я объяснюсь.
Я уже писал как-то в другой теме, что вот включаю я свой персональный компьютер и не вижу там ни одной хоть сколько бы серьезной и нужной мне программы, написанной на javascript-е. И уж тем более ни одной на Питоне. А ведь последний чуть ли не в лидерах должен быть по количеству шума вокруг него в последние годы.
Но я ничего не вижу на десктопе и из лидеров данного конкретного списка. За исключением разве что Objective-C (но я не вижу и Objective-C, поскольку в моей области деятельности Маки нафиг никому не нужны).
Да у меня даже и на C#-то на десктопе днем с огнем ничего не сыщешь (кроме разве что каких-то мелочей от самой MS). Хотя, казалось бы, это-то должно бы давно уже появиться.
Все графические редакторы, все инженерные и математические пакеты, весь 3D, все нужные мне офисы и бухгалтерии, все системные утилиты и прочие интрументы для работы, все это либо C++, либо в том числе и Delphi (Delphi в моем случае это AIMP, утилиты Auslogics и хелпмэйкер HelpNDoc, пару хороших утилит для Баз-данных включая DBWorkbench, сборщик FinalBuilder и шикарный но дорогой автотестер TestComplete ). И просто поверьте, что я не выбираю программное обеспечение по принципу на чем это сделано.
И только не нужно мне рассказывать, что это мол де десктоп, а вот у нас мол в корпоративе все крутится на серверном скриптике «A» под библиотечкой «B» с прикрученными справа и слева пакетами «C» и «D», а визуализируется на HTML страничках под нехилым набором из новомодненьких библиотек E, F, G (набор которых чуть ли не каждые пару-тройку лет меняются).
И изначально все это было задумано вашими «эффективными менеджерами», чтобы ускорить и упростить.
Только на деле чаще всего выходит, что на создание и отладку всего этого времени уходит не меньше, а то и больше, чем на написание быстрого десктопа и серверной части сразу под конкретные платформы (естественно, кроме самих серверов и баз данных). А хуже то, что постоянная изменчивость и нестабильность вышеперечисленных «стеков», помноженная на нестройность и не строгость скриптовых технологий, еще раз помноженная на слабую компетентность непрофильных специалистов и четвертый раз помноженное на естественные скриптовые тормоза никак в результате не приводит к заветному для «эффективных менеджеров» удешевлению и упрощению.
Да и в результате чаще всего мы видим лишь очередную эмуляцию десктопа в Браузере, поскольку все html красивоти для серьезной работы как бы нафиг не нужны. Ну и не факт, что это вообще будет работать через пару лет при смене браузера и поколения скриптового движка.
При этом я вовсе не умаляю существенную значимость того же javascript-а в сайтостроительстве.
Хотя по размерам кода современных сайтов IMHO на таком изначальном убожестве это писать уже опасно. Недаром и появляются обертки типа typescript-ов
> При итоговом выборе вступают еще и другие критерии, как, например, количество людей на рынке труда могущих, и главное желающих с ним работать, чтобы потом было кому поддерживать и развивать это всё.
Ну вы же, думаю, не надеетесь, что что-либо из вышеперечисленных мной серьезных пакетов будет вдруг непонятно зачем переписано на какую-нибудь Скалу или Го лишь мимолетной моды ради?
Или тем более на скриптовые тормоза?
А главное зачем?! Чтобы нанять якобы дешевых спецов? См.выше. Да и по факту спецы эти уже не дешевы.
А теперь давайте более предметно и прагматично.
Вот нужны десктопные морды с небольшими мобильными довесками.
В силу задач (управление промышленными контроллерами) на десктопе желательно иметь возможность быстро спускаться до низкоуровневого программирования и время отклика должно быть минимален по возможности. Т.е. желателен быстрый найтив.
C# и вообще менеджет подход не желателен (к тому же часть все равно придется писать на найтиве).
Ну, например, можно и на С++Qt, благо опыт есть.
Но оказывается, что и современный Дельфи совсем не плох.
Интерфейсная часть накидывается элементарно и относительно быстро. А при использовании FMX теперь можно это замутить хоть даже и под Линукс. А вся подноготная часть пишется одинаково просто хоть на прикладном уровне, хоть на уровне прямого доступа к памяти и даже ассемблера и с почти бесшовным склеиванием с СОМ и низкоуровневым API на любой поддерживаемой платформе. При этом вероятность выстрелить себе в ногу при написании рутинной части все же существенно меньше, чем на C++.
Специалистов на просторах СНГ полно, да и за пределами есть. И это уже чаще именно специалисты, а не ничего не знающие пока толком школьники, которые лишь мечтают вызубрить (именно вызубрить) какую-то очередную новомодную фенечку ради заветной большой зарплаты.
Но только даже на моих глазах таких фенечек с 90-х уже куча промелькнула и пропала в никуда.
И знаете, я бы все понял, если бы в этих списках новомодных и хорошо-оплачиваемых языков, появлялись бы такие вещи как язык «D». И не только появлялись, но и выходили бы хорошие IDE, а сторонние фирмы наперебой клепали бы инфраструктуру и компоненты для этого.
Но вместо этого лишь куча таких же как и «D» многообещающих, но бесплодных выстрелов.
Ну или если бы C# на найтив перевели с возможностью прямого доступа к пямяти и ее очистки по желанию и т.п.( а ведь грозились когда-то).
А вместо этого MS лишь мечутся как Г в проруби и регулярно кидают своих адептов.
И вот на этом фоне Дельфи или даже Лазарь на найтиве выглядят весьма даже неплохо и развиваются вполне предсказуемо и стабильно. Не говоря уже о конечном результате в виде единственного запускаемого файла, который стабильно, быстро и совершенно не прожорливо пашет потом годами и ему как и Си-шному найтиву очень долго потом плевать и на смену операционок, и от смен прослоек он тоже не зависит.
Поэтому, если я могу к счастью выбрать сам, не опираясь на мнения «эффективных менеджеров» (ака недоучек из экономических колледжей) и не на мнение тинейджеров без профильного образования, то выходит, что и Дельфи живее всех живых, да еще и мобильные довески делать позволяет опираясь практически ровно на тот же код.
А платят мне и напарнику за конечный результат, а не зарплату. Поэтому, и сумма в среднем большая выходит.
А я вот с одних только Delphi в месяц больше 250т поднимаю чистыми.
Скажите, что я делаю не так?
А вообще еще кто-нибудь сейчас занимается программированием и выбором инструмента под решение задачи или в этой индустрии теперь все тупо лишь мечтают о зарплатах? :D
Да не хороните вы в милион-первый раз то что живее всех живых.
Веб-обезьянок конечно наплодилось много в последние лет десять, благодаря заманчивым мечтам эффективных менеджеров удешевить писательство кроссплатформенных мордочек дл внутрикорпоративов путем широкого использования низкоопплачиваемого труда непрофильной скриптовой школоты и прочих быдлокодеров.
Но большинство десктопных долгоиграющих проектов к счастью как не писались так и не пишутся на веб-скриптах.
И те же Дельфи в найтиве еще ой как востребованы.
Например, на моем лесктопе вполне себе живут две утилиты от компании Auslogics написанные на Дельфях, еще хелпмайкер HelpNDoc и хороший проигрыватель AIMP.
А вот Skype после переезда с Дельфей как раз сильно испортился.
Все остальное написано на C++ (Графика/редакторы/утилиты и т.п.)
И ни одной программы на Java, C# или WEB-скриптах (за исключением новой морды Skype).
Я прихожу в магазины или рестораны и иногда вижу там явно дельфевые морды даже на пост-терминалах.
И в конце концов я приезжаю к своим компаньонам в Германию и вижу дельфевые решения в индустриальном секторе.
Успокойтесь вы уже хоронить Дельфи и Билдер. Конечный результат на десктопе все равно пока работает быстрее, отзывчивее и менее прожорливее чем на мэнеджет-решениях.
Решения на C++ и Qt в найтиве тоже быстры, мало-прожорливы и хороши, но набросать навороченный интерфейс ( если не брать красивенькие «открытки» на QML ) там все равно дольше и запарнее, чем на Дельфях и Билдере, а стоимость коммерческой лицензии на команду выходит даже дороже чем у Эмбаркадеры.
Да, но если все данные и хранить в тех же объектах, которые их обрабатывают и тем более представляют на экране, то тогда на практике это и приводит к жуткому спагетти-коду. Автор в этом прав.
Объекты данных нужно отделять от объектов обработки. Собственно так в больших проектах чаще всего и и делается.
А объекты обработки используется как своего рода прокси интерфейс-оболочка поверх выбранных конкретных данных.
Автор отчасти прав.
Злоупотребление ООП действительно иногда приводит к крайне тяжело поддерживаемому спагетти коду. Чаще всего это происходит, когда объединяют объкты данных с объектами ответственными за их обработку. Иначе говоря, пихают всю обработку прямо в объекты данных. А если еще и визуальные представления пихают прямо внутрь этих же объектов данных — то вообще туши свет.
Данные безусловно лучше отделять от объектов обработчиков и тем более от объектов представлений этих данных. Но к этому итак приходят почти все в больших и серьезных проектах.
Но вот отказ от ООП как такового — это уже слишком.
Хорошо еще конечно, когда язык так же позволяет делать что-то обычными процедурными подходами в одном модуле/юните, а не извращаться с созданием абсолютно ненужных в данном случае static классов.
Лично я тоже знаю одних бедолаг, которые повелись на модно-молодежный NoSQL, но столкнулись по их словам лишь с неуправляемым и непереносимым хаосом после стандартизованного и легко переносимого порядка.
Сейчас откатились обратно на SQL. Правда пришлось писать нехилую отдельную программку для перевода.
Все-таки нормализация данных ( до разумного уровня ) полезна во всех смыслах. И с точки зрения и хранения и с точки зрения обработки.
IMHO Закон этот выглядит откровенно по-идиотски в случае предоставления услуг.
По факту же он приводит лишь к постоянным нервотрепкам в отношениях с заказчиком.
И в конечном счете получается, что проще заключать контракты на меньшее количество времени, чтобы по сумме не попадать под необходимость открытия валютного контракта в банке, а инвойсы в банк предоставлять уже по факту поступления денег на транзитный счет.
> в интернетах есть и кастомные, отличные от рекомендованных,
А так ли вы уверены в честности, объективности и альтруизме кастомных? Среди них более половины проплаченых или играющих на публику тупо за рекламу. А еще хуже якобы «кастомные» от обиженных с любой стороны…
> зато в ларьках были просто развалы всяких пиратских программ на CD
Я тоже помню это время. И также помню, что все прекрасно обходились и без интернета.
Но развалы проще прикрыть, чем торренты. А может даже лучше их и оставить. Столько бестолочей будут пристроены.
> ничего подобного.
Упадет упадет. Вирусы останутся. Но толку от них для воровства или шпионажа уменьшится на порядок. Ведь глобальной сетки нет, а значит далеко данные не утекут.
> в конце 90-х как продавалась, так и сдавалась в аренду на видеокассетах
В 90-х в России рынок был бесконтрольный. Сейчас это запросто можно ограничить продажей только в секс-шопах. Подростку не продадут. Он только у родителей свистнуть сможет либо у сверстников позаимствовать, но доступ будет на порядок сложнее. Что уже хорошо.
> откуда же возьмутся электронные книги
Оттуда же откуда и печатные — из магазинов. Привязку копии к устройству сделать не так уж сложно, при наличии программно-аппаратной защиты в самом устройстве (как в приставках)
> люди потому и общаются онлайн часто из-за отсутствия желания видеть в живую собеседника
К сожалению, люди часто «общаются» онлаин из-за боязни немедленно получить в табло в реале, за сказанные в лицо оскорбления. Так же люди любят притворяться теми, кеми они не являются.
Например, эта тема неплохо раскрыта в фильме «Суррогаты» с Брюсом Уиллисом
> это личное видимо…
Не, скорее просто удручает ситуация, когда необходимость удешевления кроссплатформенной корпоративной разработки случайно привела к раздутию ЧСВ у примитивного скрипта, который изначально не был предназначен ни для каких серьезных задач, кроме придания небольшого динамизма в изначально статичной HTML разметке, да и сейчас в своей основе таким и остается.
Пы.Сы. Не нужно все принимать слишком близко.
Но в каждой шутке есть доля правды.
Ваши замечательные красивые потуги на FMX, к сожалению, уже не смогут переломить общей тенденции угасания интереса к Паскалю и к Delphi. Молодежь практически уже не смотрит в эту строну.
Я-то ещё, кстати, использую FPC в реальной работе, но в основном уже только как быстрый и самодостаточный кросс-платформенный бэкенд.
Дельфи всё ещё пытаются втюхать за дорого, что почти никому кроме поддержки legacy-проектов уже не нужно.
А вот FPC и Lazarus как opensource на этом фоне очень даже неплохи. Для создания небольших кросс платформенных десктопных программ и утилит с GUI подходят на ура.
Скорость конечного кода на уровне GCC. Всякие питоновские скриптовые убогости там и рядом не стояли. При этом вероятность ошибиться и выстрелить себе в ногу на порядок меньше чем на C++.
Но это уже не мэйнстрим. А в корпоративной среде вообще с большим натягом применимо, поскольку WEB-интерфейсы только через одно место, и никаких тебе тонн готовых кирпичей и библиотек на каждый случай.
Да даже и классические десктопные интерфейсы уже кажутся слегка устаревшими на фоне всяких там QML или WEB-движков прикрученных к дестопу.
Ну и среди миллениалов и более поздних поколений с сырой памятью и указателями (при необходимости) умеют работать уже только единицы, т.е. не вчерашние "грузчики", решившие вдруг податься в программисты из-за денег, а те кто на эту специальность в университетах учился. Но в университетах "эти ваши" Паскали уже больше не изучают. Из низкоуровневых в основном только С и C++. Поэтому, какой бы ни был хороший, современный и удобный компилятор с Паскаля - это уже по любому экзотика.
Ко всему прочему, в связи с вышесказанным уже почти не найти специалистов на Delphi / Lazarus(FPC).
И поэтому т.н. эФФФективные мЭЭЭнэджеры (т.е. обычные тупые управленцы, которые сами обычно ни в чём кроме диаграмм Ганта и графиков доходов толком не разбираются) уже крайне боятся проектов на этом языке.
Очень долгое время сотрудничал с парой европейских контор по производству программно-аппаратных комплексов - нет и не было там никаких бизнес-аналитиков. Иженеры сами объясняли программистам, программисты сами дергали инженеров. Клиенты общались и передавали свои хотелки через обслуживающий персонал, через сайт, и в редких случаях напрямую с инженерами. Руководство полагалось на мнения и решения ведущего инженера и руководителя разработки.
После начала СВО вынужден был начать сотрудничать с российской конторой.
Куча каких-то бизнес-аналитиков на всех этапах, которые по большому счету не нужны от слова совсем. Они лишь поверхностно вникают в производственный процесс, как правило не имею никакого профильного образования и программировать сами не умеют. По сути они лишь выступают в роли испорченного телефона и частично стенографиста. Почти любой вопрос гораздо проще и быстрее решить напрямую без их участия. И это не говоря ещё о куче каких-то почти полностью бесполезных менеджеров и промежуточных начальников.
При этом везде какие-то бюрократические барьеры на пустом месте, которые походу существуют лишь за тем, чтобы кормить эту кучу почти абсолютно бесполезных для дела трутней.
Все IMHO просто.
Например, в 90-е большими зарплатами (а не наворованными суммами) могли похвастаться в основном экономисты и юристы. В те времена экономические факультеты и курсы штамповали сотни тысяч бесконечно пафосных и претенциозно-амбициозных экономистов и мЭнЭджеров, которые при этом подчас даже после ВУЗа не могли правильно подсчитать элементарные проценты (сам неоднократно сталкивался), а по знаниях реального учета уступали порой даже младшему бухгалтеру. НО были убеждены в свой бесконечной значимости и требовали больших зарплат. И что характерно, часто получали желаемое. Такие были времена.
Сейчас платят хорошие деньги в IT. Поэтому-то большое количество лезет в эту сферу вовсе не по призванию и даже не по способностям, а тупо по меркантильному интересу.
Лично у меня высшее техническое - инженер-системотехник. И программирование как таковое (тогда это были (Си/C++/Pascal/Fort/Lisp/Разные ассемблеры и т.п.) - это было лишь одним из камней в системе обучения. Как условная биология или химия в обучении медиков.
А кроме этого чего только не изучали. Даже собственные процессоры проектировали.
НО как раз тогда-то кроме сис.админов или программистов по тупому складскому и бух.учёту, и при чем порой на довольно скромной зарплате (по сравнению даже с продажниками), особенно никто и не нужен был. И поэтому в профессии куда больше было людей именно по призванию, даже если и без высшего образования.
Я недавно поучаствовал в собеседовании со стороны как бы работодателя и насмотрелся на горе-кандидатов. В основном какие-то пафосные заготовленные пузыри про SOLID, МVVC, dependancy injection и т.д. и т.п., НО тупо приостановишь этот пафос и спросишь что-нибудь совсем простое типа, а зачем нужен абстрактный класс или какие вы знаете методы сортировки или что будет с целым числом после поразрядного сдвига влево/вправо, или что-нибудь про отличие стека от кучи, или просьба упростить булево выражение, ... - и всё - сразу видно, что никаких даже элементарных базовых знаний там и нет.
И IMHO глупость ситуации ещё в том, что частенько между нанимающей стороной и работодателем лежит прослойка в виде молоденьких дурочек/дурачков из HR, которые сами-то нифига особо в этом не понимают, но так же проставляют "обязательные" галочки на всякие там SOLID, MVVC и т.п., вот кандидаты и несут потом все как один эти зазубренные без особого понимания термины.
На мой IMHO ~80% ломящихся сейчас в IT вообще не математического, не логического и даже не технического склада ума. То ли родители отправили учиться (потому как это модно и денежно), то ли сам решил сменить карьеру неудачного повора (условно) на "удачного" программиста так же тупо из-за денег, и т.п.
Одно тут радует, что пока такое в гораздо меньшей степени возможно в нашей медицине.
А иначе к врачам было бы ходить просто страшно и лучше было бы тогда делать даже сложные операции на сердце у деревенской бабки.
Если вы даете на любом серьезном ресурсе право выборного голосования безмозглой школоте или толпе, то ваш ресурс быстро и превращается в тусовочку для безмозглой школоты.
Даню Милохина сюда пригласите писать посты и комменты - он тут первым IT специалистом уже через неделю станет, поскольку тупая школота накончает ему плюсиков в комменты по любому :D
И все эти алгоритмы написаны на С++. А ты вообще-то не юзер, а девелопер.
Шаг влево, шаг вправо - ой а мне вдруг нужно какой-нибудь свой алгоритм на матрицах просчитать. И что? Будешь ждать пока взрослые, умные дяденьки для тебя этот алгоритм запилят или довольствоваться пока в 2-е 3-е меньшей производительностью?
Да и вообще профессиональному девелоперу в этой индустрии не знать С++ уже странно. Другое дело, что Unity изначально и нацеливался не на профессионалов индустрии, а на дизайнеров одиночек и на мелкие т.н. инди-команды, где вместо программистов с дипломом зачастую один-два школьника на подхвате.
Я не игродел. Но в силу своей специфики прекрасно знаю насколько хреново оптимизируется конечный код c MSIL в сравнении с C++, не говоря даже про объективные тормоза сборщика мусора и т.п. А вот в конторе с которой периодически моя фирма сотрудничает есть два парня работающих с UE. Они там делают очень специфические вещи по интерактивной визуализации некоторых физических процессов. И там чистой счетной матетематики, а не просто логики хоть отбавляй. А значит если нужно считать это быстро, то без хорошей оптимизации на C++ не обойтись. И кстати один из них тоже рассказывал, что начинал в студенчестве с Unity, но позже переполз на UE.
Да и мне-то все равно, на чем вы там свои поделки делаете. Но говорить о том что С++ это прошлый век, когда у вас даже сам Unity-движок безальтернативно на этом С++ и написан - это какие-то детские глупости про розовые пони.
Прошлый, прошлый. Только вот беда, что одни и те же несложные алгоритмы на С++ даже без особых танцев с бубном и оптимизации на SSE/AVX и то выполняются порой в разы быстрее, чем на C#. SciMark вам в помощь для осознания сего факта.
А C# я тоже очень люблю в офисных и даже в инженерных поделках. Один только LINQ to Object экономит массу времени в написании рутинного перемалывания данных.
Но все же не место этой удобной мэнеджет погремушке в высокопроизводительном коде. И напрасно Unity на радость школоте его как скрипт прикрутили. UE на этом паровозе им не догнать.
И на какие только извращения не идут любители офисных мэнэджет-песочниц, чтобы не учить C++ :D
С одной стороны «эффективные менеджеры»(tm), коим часто по образованию по-хорошему нужно торговать помидорами на рынке, бойко крича, демпингуя и отбивая себе место под солнцем среди кавказских торговцев в кепке.
С другой стороны, приблизительно такие же по уровню «программисты»-самоучки сразу после школы/колледжа или месячных курсов примитивного жаба-скрипта с отточенным навыком и умением гуглить, какую именно жаба-скрипт библиотеку нужно молниеносно закачать для решения той или иной проблемы (конечно, если такая библиотека уже есть).
Все это сливается в банду aka команду и бежит на фрилансовые площадки отбивать себе место под солнцем, бойко конкурируя с индусами в чалмах, работающими за еду, и стремиться выполнять аж по 10 контрактов в месяц!
И как при этом люди в компаниях годами и десятилетиями выпускают, развивают и совершенствуют один и тот же продукт?!
Наверное, у них просто нет таких чудесных «эффективных менеджеров» и замечательных и реактивных «жаба-скрипт исполнителей».
И, наверное, это к счастью :)
На худой конец уже давно как появился WebAssembly.
Не так здесь то, что во времена моей учебы программазмом и схемотехникой в основном занимались те, кому это было реально интересно. Поэтому, на выходе из ВУЗов как правило уже получались специалисты весьма высокого уровня и хорошо знающие основы. А шелуха типа зубрежки языков или переключение между ними в зависимости от задачи была как бы немного вторична.
А карьеристы за зарплатой тогда шли в Финэк или на юридические факультеты. И приблизительно так же обсуждали, что бы им по-быстрому и попроще поучить, чтобы в блатную конторку на хорошую зарплату пристроиться.
А теперь все перевернулось наоборот :)
> А кто говорит, что вы что-то делаете не так?
Вы иронию понимаете? ;)
> Просто у вас необычный случай… и ваша зарплата за этот стек…
Необычный случай? Зарплата за Стек? Что вы несете?
Классическое найтивное программирование вдруг стало чем-то необычным?
А платят теперь за понятие «стек технологий» (так любимое эффективными менеджерами) а не за результат, здравый смысл и возможность писать быстрые программы без каких-либо ненужных прослоек?
Давайте я объяснюсь.
Я уже писал как-то в другой теме, что вот включаю я свой персональный компьютер и не вижу там ни одной хоть сколько бы серьезной и нужной мне программы, написанной на javascript-е. И уж тем более ни одной на Питоне. А ведь последний чуть ли не в лидерах должен быть по количеству шума вокруг него в последние годы.
Но я ничего не вижу на десктопе и из лидеров данного конкретного списка. За исключением разве что Objective-C (но я не вижу и Objective-C, поскольку в моей области деятельности Маки нафиг никому не нужны).
Да у меня даже и на C#-то на десктопе днем с огнем ничего не сыщешь (кроме разве что каких-то мелочей от самой MS). Хотя, казалось бы, это-то должно бы давно уже появиться.
Все графические редакторы, все инженерные и математические пакеты, весь 3D, все нужные мне офисы и бухгалтерии, все системные утилиты и прочие интрументы для работы, все это либо C++, либо в том числе и Delphi (Delphi в моем случае это AIMP, утилиты Auslogics и хелпмэйкер HelpNDoc, пару хороших утилит для Баз-данных включая DBWorkbench, сборщик FinalBuilder и шикарный но дорогой автотестер TestComplete ). И просто поверьте, что я не выбираю программное обеспечение по принципу на чем это сделано.
И только не нужно мне рассказывать, что это мол де десктоп, а вот у нас мол в корпоративе все крутится на серверном скриптике «A» под библиотечкой «B» с прикрученными справа и слева пакетами «C» и «D», а визуализируется на HTML страничках под нехилым набором из новомодненьких библиотек E, F, G (набор которых чуть ли не каждые пару-тройку лет меняются).
И изначально все это было задумано вашими «эффективными менеджерами», чтобы ускорить и упростить.
Только на деле чаще всего выходит, что на создание и отладку всего этого времени уходит не меньше, а то и больше, чем на написание быстрого десктопа и серверной части сразу под конкретные платформы (естественно, кроме самих серверов и баз данных). А хуже то, что постоянная изменчивость и нестабильность вышеперечисленных «стеков», помноженная на нестройность и не строгость скриптовых технологий, еще раз помноженная на слабую компетентность непрофильных специалистов и четвертый раз помноженное на естественные скриптовые тормоза никак в результате не приводит к заветному для «эффективных менеджеров» удешевлению и упрощению.
Да и в результате чаще всего мы видим лишь очередную эмуляцию десктопа в Браузере, поскольку все html красивоти для серьезной работы как бы нафиг не нужны. Ну и не факт, что это вообще будет работать через пару лет при смене браузера и поколения скриптового движка.
При этом я вовсе не умаляю существенную значимость того же javascript-а в сайтостроительстве.
Хотя по размерам кода современных сайтов IMHO на таком изначальном убожестве это писать уже опасно. Недаром и появляются обертки типа typescript-ов
> При итоговом выборе вступают еще и другие критерии, как, например, количество людей на рынке труда могущих, и главное желающих с ним работать, чтобы потом было кому поддерживать и развивать это всё.
Ну вы же, думаю, не надеетесь, что что-либо из вышеперечисленных мной серьезных пакетов будет вдруг непонятно зачем переписано на какую-нибудь Скалу или Го лишь мимолетной моды ради?
Или тем более на скриптовые тормоза?
А главное зачем?! Чтобы нанять якобы дешевых спецов? См.выше. Да и по факту спецы эти уже не дешевы.
А теперь давайте более предметно и прагматично.
Вот нужны десктопные морды с небольшими мобильными довесками.
В силу задач (управление промышленными контроллерами) на десктопе желательно иметь возможность быстро спускаться до низкоуровневого программирования и время отклика должно быть минимален по возможности. Т.е. желателен быстрый найтив.
C# и вообще менеджет подход не желателен (к тому же часть все равно придется писать на найтиве).
Ну, например, можно и на С++Qt, благо опыт есть.
Но оказывается, что и современный Дельфи совсем не плох.
Интерфейсная часть накидывается элементарно и относительно быстро. А при использовании FMX теперь можно это замутить хоть даже и под Линукс. А вся подноготная часть пишется одинаково просто хоть на прикладном уровне, хоть на уровне прямого доступа к памяти и даже ассемблера и с почти бесшовным склеиванием с СОМ и низкоуровневым API на любой поддерживаемой платформе. При этом вероятность выстрелить себе в ногу при написании рутинной части все же существенно меньше, чем на C++.
Специалистов на просторах СНГ полно, да и за пределами есть. И это уже чаще именно специалисты, а не ничего не знающие пока толком школьники, которые лишь мечтают вызубрить (именно вызубрить) какую-то очередную новомодную фенечку ради заветной большой зарплаты.
Но только даже на моих глазах таких фенечек с 90-х уже куча промелькнула и пропала в никуда.
И знаете, я бы все понял, если бы в этих списках новомодных и хорошо-оплачиваемых языков, появлялись бы такие вещи как язык «D». И не только появлялись, но и выходили бы хорошие IDE, а сторонние фирмы наперебой клепали бы инфраструктуру и компоненты для этого.
Но вместо этого лишь куча таких же как и «D» многообещающих, но бесплодных выстрелов.
Ну или если бы C# на найтив перевели с возможностью прямого доступа к пямяти и ее очистки по желанию и т.п.( а ведь грозились когда-то).
А вместо этого MS лишь мечутся как Г в проруби и регулярно кидают своих адептов.
И вот на этом фоне Дельфи или даже Лазарь на найтиве выглядят весьма даже неплохо и развиваются вполне предсказуемо и стабильно. Не говоря уже о конечном результате в виде единственного запускаемого файла, который стабильно, быстро и совершенно не прожорливо пашет потом годами и ему как и Си-шному найтиву очень долго потом плевать и на смену операционок, и от смен прослоек он тоже не зависит.
Поэтому, если я могу к счастью выбрать сам, не опираясь на мнения «эффективных менеджеров» (ака недоучек из экономических колледжей) и не на мнение тинейджеров без профильного образования, то выходит, что и Дельфи живее всех живых, да еще и мобильные довески делать позволяет опираясь практически ровно на тот же код.
А платят мне и напарнику за конечный результат, а не зарплату. Поэтому, и сумма в среднем большая выходит.
Скажите, что я делаю не так?
А вообще еще кто-нибудь сейчас занимается программированием и выбором инструмента под решение задачи или в этой индустрии теперь все тупо лишь мечтают о зарплатах? :D
Веб-обезьянок конечно наплодилось много в последние лет десять, благодаря заманчивым мечтам эффективных менеджеров удешевить писательство кроссплатформенных мордочек дл внутрикорпоративов путем широкого использования низкоопплачиваемого труда непрофильной скриптовой школоты и прочих быдлокодеров.
Но большинство десктопных долгоиграющих проектов к счастью как не писались так и не пишутся на веб-скриптах.
И те же Дельфи в найтиве еще ой как востребованы.
Например, на моем лесктопе вполне себе живут две утилиты от компании Auslogics написанные на Дельфях, еще хелпмайкер HelpNDoc и хороший проигрыватель AIMP.
А вот Skype после переезда с Дельфей как раз сильно испортился.
Все остальное написано на C++ (Графика/редакторы/утилиты и т.п.)
И ни одной программы на Java, C# или WEB-скриптах (за исключением новой морды Skype).
Я прихожу в магазины или рестораны и иногда вижу там явно дельфевые морды даже на пост-терминалах.
И в конце концов я приезжаю к своим компаньонам в Германию и вижу дельфевые решения в индустриальном секторе.
Успокойтесь вы уже хоронить Дельфи и Билдер. Конечный результат на десктопе все равно пока работает быстрее, отзывчивее и менее прожорливее чем на мэнеджет-решениях.
Решения на C++ и Qt в найтиве тоже быстры, мало-прожорливы и хороши, но набросать навороченный интерфейс ( если не брать красивенькие «открытки» на QML ) там все равно дольше и запарнее, чем на Дельфях и Билдере, а стоимость коммерческой лицензии на команду выходит даже дороже чем у Эмбаркадеры.
Объекты данных нужно отделять от объектов обработки. Собственно так в больших проектах чаще всего и и делается.
А объекты обработки используется как своего рода прокси интерфейс-оболочка поверх выбранных конкретных данных.
Злоупотребление ООП действительно иногда приводит к крайне тяжело поддерживаемому спагетти коду. Чаще всего это происходит, когда объединяют объкты данных с объектами ответственными за их обработку. Иначе говоря, пихают всю обработку прямо в объекты данных. А если еще и визуальные представления пихают прямо внутрь этих же объектов данных — то вообще туши свет.
Данные безусловно лучше отделять от объектов обработчиков и тем более от объектов представлений этих данных. Но к этому итак приходят почти все в больших и серьезных проектах.
Но вот отказ от ООП как такового — это уже слишком.
Хорошо еще конечно, когда язык так же позволяет делать что-то обычными процедурными подходами в одном модуле/юните, а не извращаться с созданием абсолютно ненужных в данном случае static классов.
И что в этом плохого? Вы за растление малолетних что ли?
Сейчас откатились обратно на SQL. Правда пришлось писать нехилую отдельную программку для перевода.
Все-таки нормализация данных ( до разумного уровня ) полезна во всех смыслах. И с точки зрения и хранения и с точки зрения обработки.
По факту же он приводит лишь к постоянным нервотрепкам в отношениях с заказчиком.
И в конечном счете получается, что проще заключать контракты на меньшее количество времени, чтобы по сумме не попадать под необходимость открытия валютного контракта в банке, а инвойсы в банк предоставлять уже по факту поступления денег на транзитный счет.
А так ли вы уверены в честности, объективности и альтруизме кастомных? Среди них более половины проплаченых или играющих на публику тупо за рекламу. А еще хуже якобы «кастомные» от обиженных с любой стороны…
> зато в ларьках были просто развалы всяких пиратских программ на CD
Я тоже помню это время. И также помню, что все прекрасно обходились и без интернета.
Но развалы проще прикрыть, чем торренты. А может даже лучше их и оставить. Столько бестолочей будут пристроены.
> ничего подобного.
Упадет упадет. Вирусы останутся. Но толку от них для воровства или шпионажа уменьшится на порядок. Ведь глобальной сетки нет, а значит далеко данные не утекут.
> в конце 90-х как продавалась, так и сдавалась в аренду на видеокассетах
В 90-х в России рынок был бесконтрольный. Сейчас это запросто можно ограничить продажей только в секс-шопах. Подростку не продадут. Он только у родителей свистнуть сможет либо у сверстников позаимствовать, но доступ будет на порядок сложнее. Что уже хорошо.
> откуда же возьмутся электронные книги
Оттуда же откуда и печатные — из магазинов. Привязку копии к устройству сделать не так уж сложно, при наличии программно-аппаратной защиты в самом устройстве (как в приставках)
> люди потому и общаются онлайн часто из-за отсутствия желания видеть в живую собеседника
К сожалению, люди часто «общаются» онлаин из-за боязни немедленно получить в табло в реале, за сказанные в лицо оскорбления. Так же люди любят притворяться теми, кеми они не являются.
Например, эта тема неплохо раскрыта в фильме «Суррогаты» с Брюсом Уиллисом
> это личное видимо…
Не, скорее просто удручает ситуация, когда необходимость удешевления кроссплатформенной корпоративной разработки случайно привела к раздутию ЧСВ у примитивного скрипта, который изначально не был предназначен ни для каких серьезных задач, кроме придания небольшого динамизма в изначально статичной HTML разметке, да и сейчас в своей основе таким и остается.
Пы.Сы. Не нужно все принимать слишком близко.
Но в каждой шутке есть доля правды.