Почему Delphi «умирает» или «программист – не читатель, программист – писатель»
Здравствуйте, уважаемые хабражители! С наступившим Новым годом! Желаю вам удачного кодинга, безбажного кода, понимающих руководителей, понятливых подчиненных и терпения при разборе кода, написанного предшественником.
Хочу поделиться некоторыми мыслями по поводу уменьшения популярности горячо любимого мною языка программирования — Delphi. Итак, не будем тянуть кота за яйца, а возьмем быка за рога.
В эпоху, когда родился Delphi, персональный компьютер начинал внедряться везде, где только могла привидеться выгода от его внедрения. Но одного компьютера не достаточно для извлечения выгоды. Есть еще пользователь оператор, который работает как посредник между бизнес-данными и информационной системой, и собственно сама информационная система — программы которые хранят, обрабатывают и выдают эти самые данные.
- железную составляющую
- софтовую составляющую
- обучение операторов
- разработку информационной системы
Объектный Delphi, выросший из процедурного Pascal-я, имеет очень низкий порог вхождения, обеспечивает минимальную зависимость от сторонних библиотек и предоставляет доступ к данным, хранящихся в различных СУБД.
Если при проектировании системы взаимосвязь между железом и Delphi слабо прослеживается, то следующие три условия профита связаны с Delphi очень сильно.
Софтовая составляющая, иными словами операционная система. Delphi позволяет писать программы, работающие в MS Windows, которая набирала популярность бешеными темпами — поставить пиратскую Windows не проблема. Как оно там… J3QQ4…
Обучение операторов Если оператор знает основы работы в Windows, то можно обойтись простой инструкцией, на которой указано, какую кнопку для чего нажимать.
Разработка информационной системы Низкий порог вхождения действительно за полгода позволял студенту или группе студентов написать ИС, соответствующую скромным требованиям заказчика.
- Delphi становился все популярнее, внедряется поддержка новых СУБД
- количество проектов реализованных с помощью Delphi становится все больше
- количество Delphi-программистов увеличивается
- начинается глобальный (не только в СССР-России, но и в США) кризис обучения технических кадров
- требования к информационным системам усложняются в соответствии с развитием технологии
- разработчики Delphi ошибаются в направлении развитии технологии (dotnet был еще не актуален)
- заказчики не могут отличить хорошего Delphi-программиста от плохого — отсутствуют центры сертификации
- количество проектов, написанных недопрограммистами увеличивается
- увеличивается число проектов, требующих поддержку (изменения в коде/логике)
- заказчики все чаще и чаще слышат, что «проще переписать, чем исправить/доделать»
- причем это говорят как плохие программисты, не разобравшиеся в коде
- так хорошие, у которых волосы шевелятся от увиденного быдлокода
- разработчики Delphi не успевают за новыми технологиями, хотя это не критично, но.
- все больше и больше народу/заказчиков/руководителей начинают думать что «Delphi — это плохо»
- конкуренты Delphi не спят, а выкатывают все больше и больше «вкусных»
тортовтехнологии - хорошему программисту без разницы на чем писать, они «уходят» на другой язык, хороших Delphi-программистов становится все меньше и меньше
- Delphi застывает в развитии, приносит убытки, хозяева меняются один за другим
- появляются слухи о
кончинезакрытии разработки языка - заказчики для новых проектов стараются выбрать другой язык, ибо надоело переписывать с нуля одно и тоже, без надежды что это все будет работать в будущем, и что у кода проекта будет поддержка
- ВУЗы прогибаются под рынок, Delphi начинают исключать из программ обучения студентов
- Delphi все реже упоминается в технических кругах, многие
считаютобзывают его «умершим»
- низкий порог вхождения
- отсутствие сертификационных центров
- ошибки менеджмента
- отсутствие «рекламы» в СМИ, вернее присутствие антирекламы
- отсутствие поддержки крупных вендоров, в отличии от конкурентов
Если эти причины в совокупности проявляются у другого языка/технологии, то можно говорить о том, что у него так же есть/будут проблемы. Возьмем к примеру Silverlight. У него тоже низкий порог вхождения, но зато по остальным пунктам у них все тип-топ. Надеюсь никто не будет спорить, что MS это не крупный вендор или вендор не поддерживающий свое детище всеми мыслимыми и немыслимыми способами.
Конечно для Delphi все не так плохо. Сейчас у языка есть адекватный хозяин, язык не шатко, не валко развивается. Но вот доверие заказчиков/руководителей вернуть тяжело. Правде те, кто все же остался верен языку, более осторожны. Например, при наборе в команду более тщательно пытаются выявить уровень подготовки, не гонятся за новыми релизами языка. Delphi 7.0 многих устраивает (как и Windows XP 🙂 Говорят, Гислер с Total Commander-ом до сих пор на второй версии сидит.
Для примера, попробую описать текущее состояние дел в моем городе. Небольшая кучка контор, которые знают о друг-друге если не всё, то давно. Все, без исключения, кормятся из бездонной государственной казны — тендеров для создания электронного правительства проводится множество. В рамках этого, проекты разрабатываются в основном на C# и Java. Зоопарк СУБД прилагается: IBM DB2, MS SQL, Oracle, FireBird. В команде: один-два гуру-работяги, 3-4 студента или свежеиспеченных выпускников, два-три мертвого груза. При чем это не всегда разные люди. Команда это от 2 до 10 человек на 2-4 проектах. В среднем из пяти проектов: один — новый, два — доработка старого, два непонятное что-то с чем-то, как правило делопроизводство (SAP, DocsVision) или пуско-наладочно-железячные работы.
Так вот, почти всегда новый проект пишется либо на C#, либо на Java. Доработка старого — это почти всегда мелкая доделка/переделка/ремонт написанного на Delphi.
Смотришь на все это и грустно становится на сердце. Но прочтешь обещания разработчиков Delphi и воспрянешь духом. А чтобы помочь им в их нелегком деле, убедил свою контору закупить пару лицензии, да начать один проект на свеженькой редакции Delphi.
Имхо, не может такой замечательный язык просто так пропасть. Обязательно найдутся энтузиасты своего дела. Столько замечательных программ написано на нем. Хочется верить, что еще больше будет написано.
Я же в свою очередь, призываю фанатов Delphi не сидеть сложа руки, а пробовать популяризовывать его в своих кругах. Поможем немного менеджерам Embarcadero исправить их ошибки и поддержим наш любимый язык.
Язык программирования Delphi: зачем нужен и стоит ли учить новичкам
Пик популярности Delphi пришёлся на 2012-2013 годы, но его продолжают использовать сегодня. Вы каждый день используете приложения, написанные на Delphi, даже не подозревая об этом. Skype, AIMP, «1С:бухгалтерия» и многие антивирусные программные обеспечения создавались на этом языке.
Delphi — эффективный инструмент для решения сложных научно-технических и экономических задач. На нём разрабатывают кроссплатформенные приложения для Windows, Android, iOS и macOS. Разберём, зачем нужен delphi в 2021 году, в каких областях знаний он применяется и есть ли этого языка будущее.
Когда появился и зачем придумали
Delphi — среда программирования на основе языка Object Pascal. Он считается наследником Turbo Pascal, а тот — «чистого» Pascal Никлауса Вирта, созданного в 1970 году.
Изначальный Pascal обладал наиболее быстрым компилятором, но его IDE работала только на базе DOS. Когда появилась Windows, возникла потребность создания среды программирования для этой платформы. Раньше чтобы создать элементарную программу, разработчикам приходилось писать несколько страниц кода. В компании Borland понимали, что нужно как-то облегчить их жизнь, поэтому решили доработать Pascal, который к тому моменту уже почти не использовался.
Но изменения оказались настолько серьёзными, что в результате появился новый язык программирования — Delphi. В России он начал применяться в конце 1993 году и сразу обрёл большую популярность.
В чём особенности языка Delphi
Delphi — язык программирования, который используется для разработки прикладного программного обеспечения. Программисты любят его, потому что это объектно-ориентированное программирование, которое даёт высокую скорость разработки, сокращает количество возможных ошибок и обеспечивает эффективную работу полученного приложения.
Когда стоит задача разработать приложение под Windows, Delphi — вне конкуренции. В нём есть много готовых компонентов, эффективный код и быстрая компиляция. А синтаксис менее запутан, чем, например, у C++.
В сравнении с другими языками программирования у него есть несколько важных преимуществ:.
- Высокая скорость компиляции . Чтобы скомпилировать небольшое приложение в MSVC++ вам потребуется около 10 минут, в Delphi — пара секунд. Такая скорость достигается за счёт того, что Delphi раз и навсегда компилирует все модули, из которых строятся приложения, а потом просто подключает их к вашей программе. То есть, не нужно постоянно ждать пока перекомпилируются используемые библиотеки.
- Система компонентов . Компоненты — шаблоны, из которых можно строить программы. С их помощью вы можете создать довольно сложное программное обеспечение, не написав ни строчки кода. Предположим, вы хотите сделать текстовый редактор вроде Word. Это несложно в реализации, потому что все его «детали» по отдельности уже есть в палитре компонентов.Также вы можете интегрировать в среду Delphi подпрограммы-эксперты. Например, Expert Interface позволяет встраивать пункты меню и диалоговые окна.
- Оптимизирующий 32-битовый компилятор . У Delphi есть быстрый компилятор, который не только сообщает об ошибках, но и предупреждает о них, отправляет подсказки. Это помогает создать более ясный код. Если ошибок несколько, Delphi укажет на все сразу, что ускорит процесс исправления.
- Визуальный конструктор программ . В Delphi вам не нужно отвлекаться на выяснение всех деталей Win API и работать над логикой программы, если захотите программировать под MS Windows.
- Меньше возможных ошибок . В C-подобных языках присваивание — лишь выражение возвращающее значение переменной слева, и новички часто ошибаются. В Delphi такая ошибка исключена, так как присваивание — операция, не возвращающая значения.
- Возможность создания программ для любых операционных систем и платформ . Этим Delphi выгодно отличается от более популярного C#, который используется только для программирования на платформах .NET и Mono.
Отдельно стоит упомянуть ещё одно важное применение delphi перед остальными языками — он отлично подходит для обучения программированию. Его часто рекомендуют в качестве первого языка для тех, кто только собирается стать программистом.
Почему популярность Delphi пошла на спад
До 2012-2013 годов Delphi был одним из самых популярных и удобных языков программирования, практически не имел конкурентов на платформе Win32. Затем сфера применения для него и аналогичных технологий сократилась. Есть 3 причины, объясняющие это:
- Акцент в сторону мобильной разработки и веб-разработки . Если с первой Delphi ещё мог справиться, то ко второй он не был готов.
- Отсутствие изменений в процессе разработки . Некоторые технологии были доступны только в библиотеках сторонних производителей.
- Ценовая политика . По состоянию на 2021 год за Delphi Professional просят 118 799 руб. Для сравнения, Visual Studio Professional стоит 33 968 руб. — цена в Microsoft Store. Полноценной бесплатной версии для небольших компаний и индивидуальных разработчиков у Delphi долгое время не было. Она появилась только в июле 2018 года.
Но проблема «недостаточной популярности» Delphi более актуальна для США и Западной Европы, где язык никогда не пользовался бешеным спросом. В странах СНГ и Восточной Европы он остаётся конкурентоспособным и востребованным. Delphi активно используют разработчики для создания высокопроизводительных приложений для рабочих групп и корпоративного применения. По данным TIOBE, на апрель 2021 года по сравнению с апрелем 2020 годом популярность Delphi возросла на 1,4%.
Где применяется Delphi сейчас
Наиболее широкое применение delphi получил в разработке прикладного программного обеспечения.
Веб-сервисы и мобильные приложения . Delphi — кроссплатформенная среда разработки. На нём до сих пор создают веб-сервисы и мобильные приложения, программы для разных операционных систем: iOS, Android, Linux, Windows. Тот код, который написал программист, компилируется в промежуточный, а затем переводится в соответствующий компилятор в зависимости от выбранной платформы.
Госучреждения . Сегодня он активно используется в государственных учреждениях и на предприятиях. Руководство подобных организаций не всегда признаёт переход на новые языки и технологии. Если на металлофабрике используется какая-то утилита на Delphi, нет смысла переписывать её на Python, потому что её влияние и вклад в общий процесс производства несущественны.
Enterprise-сегмент. Delphi используют банки и крупные предприятия. Это объясняется исторически сложившейся ситуацией: когда такие организации развивались, на пике популярности был язык Delphi. Они выбрали его тогда и продолжают использовать в настоящее время.
Насколько востребованы delphi-разработчики
Delphi-программисты находят широкое применение своим знаниям и не испытывают проблем с поиском работы. По запросу «Delphi-программист» jooble.org выдаёт более 38 тысяч вакансий.
Минимальная заработная плата специалиста без опыта 40 000 руб. С опытом больше года — от 120 000 руб., а верхней планки не существует.
Но Delphi развивался медленнее, чем другие языки, и не имеет обширной базы установленных ресурсов — библиотек и фреймворков, поэтому молодых разработчиков, которые умеют работать на нём не так много. Новое поколение часто не знает Delphi и не может справиться с ним. Это и хорошо для начинающих delphi-программистов — из-за отсутствия высокой конкуренции им проще произвести впечатление на работодателя и получить должность.
Как стать delphi-разработчиком
Требования к навыкам delphi-программиста зависят от компании, в которой он планирует работать. От новичков обычно требуют знания:
- Основ программирования на Delphi . Чтобы применять технологии создания графического пользовательского интерфейса, работать с информационными системами, модулями и библиотеками на языке.
- Принципов объектно-ориентированного программирования . Чтобы создавать много объектов по одному образу и ускорять процесс работы. Это фундамент среды Delphi.
- SQL . Чтобы просматривать и редактировать таблицы в базах данных, мониторить запросы к базам данных и отслеживать сообщения Windows, например, об ошибках.
Чтобы вам было удобнее найти подходящие обучающие программы по SQL, мы собрали наиболее популярные в одной подборке
- Английского языка на уровне не ниже Intermediate . Чтобы разбираться с документаций и искать фичи на англоязычных ресурсах.
Основная проблема в освоении среды Delphi — её внушительный объём. Новичку сложно разобраться в огромном количестве функциональных возможностей и принципов объектно-ориентированного программирования. Вы можете попробовать изучить язык самостоятельно по книгам и учебникам, но это долгий путь, который может только отдалить от достижения цели. Гораздо эффективнее — пройти курс по программированию. Так вы осваиваете материал структурировано, а ещё получаете обратную связь от экспертов и прорабатываете возможные ошибки.
Выбрать подходящую программу по программированию поможет наша подборка онлайн-курсов по наиболее востребованным направлениям
Перспективы Delphi в будущем
Сильная сторона Delphi — корпоративные приложения. На нём активно пишут учётные системы и программы автоматизации. У мобильных приложений на Delphi тоже есть потенциал.
Если система написали на Delphi, перед разработчиками встаёт выбор — создать мобильное приложение на Delphi, повторно использовав часть кода и имеющийся опыт, или нанять новую команду и написать всё с нуля на Objective C или Java. Первый вариант менее затратный по времени и ресурсам, поэтому его выбирают чаще. То есть «мобильные» перспективы Delphi вполне реальны.
Крупная израильская IT-компания Mobileye объединилась с Delphi для разработки системы автоматического определения местоположения автомобиля. Они планируют добиться полностью автономного вождения. Также Delphi сотрудничает с Intel в области создания беспилотных авто
Подведём итоги
Delphi — относительно простой язык программирования. Он отличается удобной и интуитивно понятно средой разработки, а его код подходит под любую операционную систему. Несмотря на то, что на IT-форумах мелькают комментарии в духе «Delphi мёртв!», язык развивается и остаётся востребованным.
Обычно Delphi использует сегодня корпоративный сегмент — банки, крупные предприятия и госкомпании. А у них нет необходимости делиться проектами, реализованными в области разработки. Но они активно и успешно применяют Delphi для создания корпоративных приложений и учётных систем.
В статье «Как стать хорошим разработчиком» разбираемся как дорасти от джуниора до руководителя команды
Delphi почему язык не популярен
Key2 -> Val1
Key3 -> Val1
-> Val2
-> Val3
Закат популярности блогов по программированию в Delphi и не только

Это означает то, что запросов «язык delphi», «как в delphi…» и других аналогичных станет меньше, а это, в свою очередь, приведет к падению посещаемости сайтов и блогов, ориентированных именно на эту аудиторию.
Почему я перестал писать на Delphi
В этой статье я хочу ответить на один из вопросов, который мне часто задают в том числе при «живом» общении.
Почему я ушёл от разработки на Delphi и почему когда-то основной язык был исключён из стека поддерживаемых мной технологий.
На самом деле это вызвано целым рядом весьма существенных причин.
Причина 1. Ценовая политика вендора
Delphi стоит в разы дороже аналогичных решений многих своих конкурентов.
По состоянию на конец 2018 года за Delphi Professional просили 87 999 руб. (цена на официальном сайте). Для сравнения, Visual Studio Professional тогда же стоила 30 058 руб. (цена в Microsoft Store). Разница почти в 3 раза.
Полноценной бесплатной версии доступной для небольших компаний и индивидуальных разработчиков у Delphi в отличие от той же Visual Studio нет.
Официально в июле 2018 года вышла Community Edition, но у неё есть лицензионное ограничение 5 000$ в год совокупного дохода. То есть если Ваш суммарный доход (не только от Delphi программ) превышает указанную величину, вы обязаны купить коммерческую версию.
Причина 2. Востребованность
К сожалению, при всём уважении к Delphi сфера применения для него и аналогичных технологий в последние годы значительно сократилась.
Даже в Enterprise секторе, который всегда славился своей консервативностью акцент уже давно сместился в сторону мобильной и web разработки. Но, если с первой Delphi ещё может как-то справиться, то к последнему он до сих пор не готов.
Если в 2012-2013 годах Delphi программист ещё чувствовал себя на рынке вполне уверенно, то в 2018 году вакансий по Delphi на том же HeadHunter единицы.
Как это ни прискорбно, в таких условиях вложения в приобретение дорогостоящего программного пакета и поддержание знаний и навыков в актуальном состоянии просто не оправдывают себя.
Причина 3. Общее отставание от современных трендов
Процесс разработки на Delphi не менялся уже очень много лет.
Целый ряд технологий в Delphi доступен в лучшем случае в виде библиотек от сторонних производителей, которые также часто далеко не бесплатные.
Печально. Но в Delphi до сих пор нет полной поддержки ООП (хотя бы вследствие ограничений, связанных с интерфейсами).
Как минимум частично исправить ситуацию должна была библиотека FireMonkey. Только она длительный период времени была довольно «сырой» и по ряду своих возможностей ещё уступает «ветерану» корпоративного ПО – VCL. Поэтому, сделать чтобы выглядело красиво – это FMX, а сделать так чтобы работало эффективно – это пока ещё VCL.
Как следствие всего вышеизложенного снижение производительности у программиста и нередко ухудшение качества ПО. Конечно, если речь не идёт о задачах, которые легко решаются по принципу «накидать компонентов на форму».
Причина 4. Неблагоприятные условия на рынке
В силу ряда причин Delphi программистов пока ещё достаточно много, но, как уже говорилось выше, вакансий для них наоборот крайне мало. Поэтому очень редко кто из Delphi разработчиков сейчас в той или иной степени не сталкивается со всеми «прелестями» так называемого «рынка покупателя».
Конечно, даже в такой ситуации найти вакансию или проект на Delphi вполне возможно. Только каковы будут условия?
Резюме
Как это ни печально, но все вышеизложенные причины привели меня к одному (в прочем вполне закономерному) следствию. Писать на Delphi в настоящее время:
- Практически бесперспективное занятие в плане опыта и карьеры;
- Просто не выгодно по деньгам.
Это и заставило меня перейти с Delphi на альтернативные технологии и в 2017 году я полностью прекратил разработку на этом языке программирования.
Ничего личного. Просто работа.
Искренне надеюсь, что эта статья в достаточной степени разъяснит основания для принятия мной такого решения.
10 комментариев
Возможно и зря. Пройдет время и delphi опять будет в моде. Как фортран. По поводу FireMonkey — я правильно понимаю что из-за кросплатформенности все функции отличаются? В частности программирование под Mak к примеру. Платформы же разную структуру имеют (в частности папок) и т.д. WinAPI уже тоже не заюзать?
Пройдет время и delphi опять будет в моде. Как фортран. Дело здесь не в моде, а в сочетании целого ряда факторов, о которых я писал в статье. К слову, у Delphi несколько лет назад уже был всплеск популярности после длительного спада. Но, он быстро прошёл и сменился даже ещё большим спадом, т.к. внедрения только технических новшеств (той же кроссплатформы) оказалось недостаточно, чтобы в корне изменить ситуацию. Посмотрим, что будет дальше, но пока предпосылок для роста популярности Delphi что-то не заметно. я правильно понимаю что из-за кросплатформенности все функции отличаются? В любой кроссплатфоменной технологии отличия касаются в основном операций специфичных для той или иной платформы. Например, сохранение файлов в Android имеет свои особенности, а WinAPI будет работать только под Windows. В остальных случаях всё везде одинаково. Только вот обойтись без, так называемых, платформозависимых API получается не всегда. P.S. Впервые слышу о популярности Фортрана.
Например, сохранение файлов в Android имеет свои особенности, а WinAPI будет работать только под Windows Так я об этом и спрашивал. Как решается такая проблема? Есть какая то универсальная функция? Или фактически мне нужно переписывать под каждую ОС весь код если я много работаю с ОС, папками, записью файлов и т.д.?
Данная проблема решается при помощи условной компиляции, когда в зависимости от платформы в программу включаются те или иные альтернативные наборы операторов. С её помощью можно сделать кросплатформенным очень многое (если не всё), но общий объём кода будет увеличиваться пропорционально числу поддерживаемых платформ. Как-то так.
Нисколько не препятствую вашему решению. Но далеко не все так однозначно как вы пишете. 1. По поводу ценовой политики вендора конечно есть вопросы. Embarcadero в отличии от того же MS зарабатывает основные деньги на продаже весьма узкого ассортимента ПО и не может раздавать инструменты даром. Если взять других конкурентов (например Qt), то там коммерческая лицензия за год стоит 5000$ на одного разработчика, что уже дороже бессрочной лицензии от Эмбы. А за скомпилированное ПО на FreeQt версии вы вообще не имеете права брать деньги. Delphi Comunity же позволяет это делать как раз до 5000$. Что IMHO в самый раз, чтобы условный студент попробовал свои силы. 2. По поводу меньшей востребованности. Да есть такое. Но если вы вечный соискатель мечтающий лишь о зарплате и готовы прыгать с места на место, где сегодня на пол-рубля больше — то да — вам тогда нужно стремиться только к самому модному и новому. А если вы участвуете в долгосрочном проекте и на хорошем счету, то я знаю дельфистов зарплатами более 200т в России. 3. Какое собственно общее отставание от современных трендов вас беспокоит? Если сравнивать сам язык, то я бы поспорил. Декларативность сверху-вниз и разделение интерфейса от имплементации как раз способствует более грамотному дизайну, чем зачастую, например, на C#. Наличие встроенных испокон века мета-классов( class of ) позволяет элегантно обходить тормозной механизм рефлексии на C#, ну а в С++ такого вообще нет ( только у самой Эмбы есть специальный TMetaClass для C++) Фирменный паскалевский Set of, более гибкие свойства и прочее. Интерфейсы, кстати, более продвинутые чем на С#. Просто они изначально были заточены на COM. А если вас напрягает автоматический подсчет ссылок, то есть такие заглушки как TSingletonImplementation и аттрибуты [UnsafeAttribute] [WeakAttribute]. В последней версии ввели даже inline объявление переменных, теперь не нужно все объявлять в начала процедуры/функции. FireMonkey сейчас уже вполне рабочий и мобильные приложения (особенно мобильные довески к основному приложению) позволяет писать вполне стабильные. Главное быстро и работают потом быстрее, чем монстры поверх Xamarin. Да, пока нет таких удобных фенечек как LINQ. Но где оно есть, кроме как у «Корпорации Добра» в одном отдельно-взятом языке? Единственное, что может напрягать — это отсутствие хороших веб-решений, кроме разве что UNIGui. НО не забываем, что Дельфи — это все же НАЙТИВ и в предназначен для готовых найтивных решений на всех платформах, а не для последующей работы интерпретаторов или jit-компиляторов в фреимворковых песочницах. С таким же успехом в этом можно обвинять C++. Но если у вас в приоритете WEB морды, то и с MS тут лучшее не связываться, а писать их лучше сразу на HTML+CSS+JavaScript+какой-то фреймворк. 4. Неблагоприятные условия на рынке как уже и написал волнуют в большей степени «попрыгайчиков» за зарплатой. Но тогда лучше сейчас сразу прыгать на Питон и на «чистый ВЕБ». «Эффективные менеджеры» по своей врожденной хайповой глупости и технической некомпетентности платят в корпоративе большие деньги сейчас именно за это. Кстати, есть еще и такое условие-фактор, который называется, а на чем писать свое собственное коммерческое десктопное приложение? И вот тут 10 раз подумаешь. Можно, например, и на C++Qt. Но там сторонних хороших коммерческих компонентов даже меньше, чем на Дельфях и стоят они в разы дороже. А написание и отладка явно не быстрее и не удобнее, а выстрелить себе в ногу на C++ в десять раз проще, чем на Delphi. VC++MFC — динозавр даже по сравнению с немолодым Delphi и ну совсем уже не кроссплатформа. Можно на Java, но там сразу своя куча проблем. И уж что-что, а сам язык удобным для десктопа назвать затруднительно: ограниченное количество типов, ограничение 1фаил-1класс, этот вечный гемор с out-параметрами, вечный гемор с доступом к платформе, своеобразные дженейрики и т.п. Также весьма разный подход в плане выбора визуализации (особенно если учесть javaFX) и с подбором хороших сторонних решений для десктопа тоже беда или весьма не дешево. Да и вообще Java на десктопе это на любителя. А вот с C# и .NET в своём десктопном проекте я бы точно не связывался. К тому же эти вечные метания MS из стороны в сторону уже порядком достали. Да и всех своих адептов они сами мимолетно кидают без зазрения совести. Так уже было и с прикладными Бейсиковцами, и с Silverlight-овцами и с владельцами WinPhone. Еще пять лет 8 назад народ метался между WinForms и WPF, а сейчас с точки зрения самой MS и то и то устарело и кроссплатформенным уж точно не будет. И они явно намекают всем на ASP.NET чуть ли как на единственное правильное интерфейсное решение для их новомодной .NET Core. Короче, успехов вам. Хотя, лично я уже знаю людей, которые сначала ушли с Дельфей, а теперь вернулись. Все познается в сравнении и везде есть свои тараканы. А Дельфи хоронят практически с момента создания (особенно в Штатах), а он по прежнему живее всех живых, более предсказуемый и готовые программы работают стабильно, быстро и непрожорливо десятилетиями без какого-либо гемора связанного со средой выполнения.
Alex, очень приятно видеть комментарий сторонника Delphi. Целая статья в его защиту. Но, увы… Embarcadero в отличии от того же MS зарабатывает основные деньги на продаже весьма узкого ассортимента ПО и не может раздавать инструменты даром. Это их проблемы. По отношению к Embarcadero «обычный» программист это клиент. Звучит грубо, но это так. Клиенту нужен рабочий инструмент, а он себя не окупает. Вот и всё. Ничего личного. По поводу меньшей востребованности. Да есть такое. Но если вы вечный соискатель мечтающий лишь о зарплате и готовы прыгать с места на место, где сегодня на пол-рубля больше — то да — вам тогда нужно стремиться только к самому модному и новому. А если вы участвуете в долгосрочном проекте и на хорошем счету, то я знаю дельфистов зарплатами более 200т в России. Неблагоприятные условия на рынке как уже и написал волнуют в большей степени «попрыгайчиков» за зарплатой. А, Вы за даром работаете. И почему Вы считаете, что те, кто уходит с Delphi плохие специалисты? Кроме того, высокая зарплата, к сожалению, ещё не признак высокой квалификации. Что касается долгосрочных проектов. Чем дольше «живёт» проект или ПО, тем больше и сложнее вызовы времени, на которые ему приходится отвечать. Жизнь не стоит на месте. С Delphi это делать с каждым разом всё труднее. Какое собственно общее отставание от современных трендов Советую внимательно оглядеться по сторонам и трезво посмотреть, что происходит в отрасли. А, также в частности трезво сравнить VCL/FMX с тем же WPF. Просто для примера. Конечно, очень многое зависит от специфики решаемых задач. Если задача решается путём обычного формотворчества, то здесь с Delphi можно даже и выиграть. С такими вещами Delphi справляется на раз-два-три, но, что касается всего остального… Кстати, есть еще и такое условие-фактор, который называется, а на чем писать свое собственное коммерческое десктопное приложение? Это «условие-фактор» имеет смысл только, если Ваше «коммерческое десктопное приложение» кому-то нужно. Десктоп сейчас очень сильно сдал свои позиции вследствие развитие web и мобильных технологий. Он не «умер», как некоторые возможно считают. Просто очень многие задачи стало проще и главное эффективнее решать на других платформах. Нисколько не препятствую вашему решению. Alex, со своей стороны я также нисколько не осуждаю Ваш выбор. Могу сказать только одно. Если человек что-то хочет, обычно он ищет возможности, в противном случае он будет искать причины. Если Вам так нравится Delphi и Вы так сильно хотите с ним работать, используйте его на здоровье! Возможно для Вашего проекта это даже наиболее подходящее решение. Просто помимо Вас и Вашего проекта есть ещё много чего другого в этой жизни. И то, что подходит для Вас вовсе не обязательно подходит для других.
Клиенту нужен рабочий инструмент, а он себя не окупает. Простите, но если бы так было, то новые версии Delphi просто перестали бы выпускать и продавать по причине полного отсутствия спроса. Но как видим, этого не происходит именно по той причине, что инструмент себя окупает. Например, лично я использую в своей работе такие инструменты как TestComplete и HelpNDoc, написанные на Delphi. И надо сказать, что TestComplete ну совсем не дешевый. И просто поверьте, что лично я выбираю инструменты не по тому, на чем они написаны, а по отношению цена/(качество+функционал). С Delphi это делать с каждым разом всё труднее. Хочется спросить, что конкретно делать с каждым разом труднее? А, также в частности трезво сравнить VCL/FMX с тем же WPF. Я работал некоторое время с WPF и именно поэтому врагу не пожелаю такого прожорливого заковыристого (из-за XML) и малоудобного монстра. Привязка там вообще была ужас. Да это и не кроссплатформа, а значит и вообще не стоит усилий по нынешним временам. Если уж и сравнивать, то с QML. Вот это действительно хорошая, кроссплатформенная и крайне оптимизированная вещь, которую используют сейчас даже во встраиваемой электронике. Но, во-первых, в коммерческом применении это совсем не дешево, а во-вторых, все эти красивости на десктопе в учетных и даже в специфических программах в 99% случаев нафиг никому не нужны. А если же вам нужно на мобилках поражать фенечками типа плавных переходов, анимаций и 3D, то можно быстро и на кроссплатформенном FMX. Поэтому я более чем трезво смотрю. И уж куда-куда но никак не в сторону полузаброшенной и моноплатформенной WPF. Игрался с QML, но в реале таких задач просто нет пока. А еще есть простые и дешевые решения типа встраиваемого Хромиума, если позарез нужен нестандартный интерфейс. Десктоп сейчас очень сильно сдал свои позиции вследствие развитие web и мобильных технологий. Этой мантре лет десять как, если не больше. За это время успели даже выйти из моды планшеты, на которые возлагалось столько «революционных» надежд ? А только по факту для работы (а не потребления контента) все как работали на десктопе так и работают. И измениться в ближайшем будущем это не может. Даже WEB и мобильными офисами все быстро наигрались и вернулись на десктопные версии. Если Вам так нравится Delphi и Вы так сильно хотите с ним работать, используйте его на здоровье! Мне нравится не столько Delphi и Object-pascal, хотя и у современного Object-pascal все еще много преимуществ. Мне нравится конечный результат, который я получаю в найтиве под любую из платформ. Конечно, еще больше мне нравится результат на C++, но для его достижения нужно применить гораздо больше усилий, времени и внимания. А менеджет решения мне в принципе не нравятся на десктопах. Да и по-хорошему IMHO им место лишь в корпоративе. А конкретно с технологиями от MS я бы вообще связываться поостерегся по множеству причин. Просто помимо Вас и Вашего проекта есть ещё много чего другого в этой жизни. Так я вроде и не претендовал на «всю жизнь». Я же сайты на Дельфях или на C++ писать не призываю ? Но и на десктоп и на мобилки с ВЕБ технологиями лезть — это IMHO либо от жесткой экономии либо от отсутствия знаний самого десктопа и мобилок, либо от тупости очередного «эффективного менеджера» ?
Delphi просто перестали бы выпускать и продавать по причине полного отсутствия спроса. Простите, он уже сейчас почти никому не нужен. Если бы он себя окупал, проектов на Delphi было бы гораздо больше. И спрос на программистов под него был бы соответствующим. Я работал некоторое время с WPF и именно поэтому врагу не пожелаю такого прожорливого заковыристого (из-за XML) и малоудобного монстра. Привязка там вообще была ужас. Подозреваю, что Вы просто не разобрались в WPF. А, непонятное иногда кажется чем-то страшным и даже ужасным. На самом же деле потенциал этого фреймворка гораздо шире, чем Вы думаете. В более современных фреймворках с поддержкой XAML возможностей стало ещё больше. А если же вам нужно на мобилках поражать фенечками типа плавных переходов, анимаций и 3D, то можно быстро и на кроссплатформенном FMX. А, о чём говорю? Если для решения задачи достаточно просто быстро накидать компонентов на форму, тут вопросов нет. Да это и не кроссплатформа, а значит и вообще не стоит усилий по нынешним временам. По данным сервиса Яндекс Радар на сегодня доля Windows 96,71%, MacOS 2,33% и 0,95% всё остальное (это я про десктоп). Делайте выводы. А только по факту для работы (а не потребления контента) все как работали на десктопе так и работают. Вас послушать, так большинство (если не все) владельцев ПК и ноутбуков только и делают, что работают. Чертят чертежи, делают расчёты, печатают документы, создают 3D модели и т.д. Вы же прекрасно понимаете, что это далеко не так. Да и мобильные устройства уже давно используются не только для развлечений. Уже давно есть ТСД и кассовые аппараты на базе Android. «Полевые» сотрудники вообще работают как раз на телефонах и планшетах. А, те же например графические редакторы и САПР, которые традиционно были десктопным ПО? Посмотрите такие web проекты как Figma, Tinkercad или «Веб-приложение AutoCAD». Про мобильные платформы я даже промолчу. Поэтому, простите, но рассуждения о технологиях подобные Вашим в 2019 году выглядят весьма странно. Можно довольно долго продолжать эту дискуссию. Но, как я полагаю, в этом нет никакого смысла. Если Вы хотите поучаствовать в прениях на тему Delphi и, в частности, его перспектив, то можете поискать в сети ресурс с соответствующим обсуждением и присоединиться к нему. А, мне это занятие совсем не интересно.
Лично я вижу, что вы просто боитесь честного диалога. Простите, он уже сейчас почти никому не нужен. Это коммерческий продукт, который продолжает продаваться и приносить вполне ощутимую прибыль. Более того я привел примеры существующих коммерческих проектов на Delphi и список этот можно продолжать. Еще как пример австралийская Auslogics все свои системные утилиты пишет на Delphi. На C# или на ВЕБ скриптах такое нельзя писать. Только на найтиве. В России же есть сотни успешных именно «коробочных» продуктов, которые продолжают писаться на Delphi. Как пример, могу назвать вам Tillypad или R-Keeper, которые продали и продают свои продукты в сотни ресторанов и отелей как в России так за рубежом. Подозреваю, что Вы просто не разобрались в WPF Прекрасно разобрался и даже писал морду под это, чтобы еще лучше разобраться. Но как и говорил, все красивости WPF в корпоративе на десктопе вообще никому не нужны, а плавающей и удобной разметки можно добиться и на WinForms и на VCL с использованием сторонних решений, а на FMX или QML и подавно. Но сама идея с многословно-мострообразным XML проигрывает на фоне конкурентов. И вдвойне проигрывает из-за отсутствия кроссплатформенности. Я даже замеры делал. Оно еще и медленнее, чем QML или FMX. Можно довольно долго продолжать эту дискуссию. Но, как я полагаю, в этом нет никакого смысла. Конечно нет смысла. Если исходя из вашего текста вы всерьез думаете, что какие-то ВЕБ решения, написанные на примитивнейшем и тормозном скрипте работающем в песочнице, способны заменить полноценный оптимизированный найтивный десктоп, то действительно не о чем. Расскажите свои мечты компаниям Autodesk или Adobe. Они улыбнуться. Впрочем, время нас рассудит ? Успехов! ?
Лично я вижу, что вы просто боитесь честного диалога. Очень жаль, что Вы относитесь к теме обсуждения столь предвзято. все красивости WPF в корпоративе на десктопе вообще никому не нужны, Как Вам сказать. Лет 10-20 тому назад бизнес возможно и устраивал «железобетонный» интерфейс в стиле первых версий Windows, но сейчас, когда люди поняли, что удобство интерфейса напрямую влияет на эффективность работы, воззрения бизнеса относительно данного вопроса изменились. Ради любопытства например зайдите на сайт MS и посмотрите как выглядит Dynamics 365. Я даже замеры делал. В рамках честного диалога, говорить о замерах имеет смысл с указанием не только конкретных цифр, но и описанием того как, где, когда и на чём эти цифры были получены. Тем более внутренняя реализация того же .NET периодически меняется. К слову, современные JIT-компиляторы после «прогрева» могут обеспечить производительность на уровне нативного кода. Расскажите свои мечты компаниям Autodesk или Adobe. Они улыбнуться. Я Вам только, что привёл 2 web проекта от Autodesk. какие-то ВЕБ решения, написанные на примитивнейшем и тормозном скрипте работающем в песочнице Возможно, так было опять же более 20-ти лет назад. Современные интерпретируемые языки (PHP, Python, JS) работают гораздо эффективнее. А, бэкенд написанный на Java или C#, так и вовсе не является «скриптовым». Поэтому, не хочу Вас обидеть, но Ваши «познания» в области технологий просто удивляют. Впрочем, время нас рассудит По моему субъективному мнению, очень многое будет зависеть в первую очередь от того, как Delphi будет развиваться с течением времени. Если политика вендора станет более лояльной, а сама платформа более современной, уверен это не только привлечёт в мир Delphi новых программистов, но и вернёт, если не всех, то очень многих ушедших. Но, к сожалению, пока ничего этого нет. Можно сколько угодно бить себя в грудь и кричать на каждом углу то, что Вы здесь пишите в комментариях. Но, от одних громких слов, сами понимаете, толку не будет. В прочем, думается мне, время само всё расставит на свои места.