Начало » Программирование » Delphi » Delphi жив? (Delphi жив?)
|
|
|
|
|
|
|
Re: Delphi жив? [сообщение #1559 является ответом на сообщение #1557] |
Mon, 06 February 2023 02:29 |
Leonid33
Сообщений: 11 Зарегистрирован: January 2023
|
Junior Member |
|
|
Akavoi писал(а) Sun, 05 February 2023 10:02Например, QT - язык С++, который сложнее чем язык Delphi. Сам С++ сложнее, но в отличии от Дельфей (aka Object Pascal-я) стандарт де факто для найтивного программирования. При этом порождаемый найтивный код x86/64 для одних и тех же алгоритмов порой в разы быстрее чем на Дельфях (это еще если не брать супер-оптимизирующие Intel-овские С++ компиляторы). Кто не верит, можете сами раздобыть исходники SciMark2.0 в том числе и для Дельфей и поиграться. Например, у меня на одной и той же машине алгоритм Монте-Карло из SciMark2.0 на Дельфях тарахтел в 5! раз медленнее, чем на VC++. Это значит, что, например, какой-нибудь рендер на Дельфях можно писать только по полной несознанке.
Что же касается QT, то эта библиотека куда более всеобъемлюща по сравнению с VCL, к тому же работает на большинстве Линуксов, а вместе с QML-мордами и на мобилках и на множестве т.н. встраиваемых устройств (от кофеварок до автомобилей). А вот якобы кроссплатформенный FMX от Дельфей так по сути никем всерьез до сих пор и не используется, кроме мелких поделок.
Akavoi писал(а) Sun, 05 February 2023 10:02C# WinForms не позволяет делать нативный код. Да и WinForms еще более не живой, чем Delphi VCL. Видите ли, современная практика показывает, что найтивный код для абсолютного большинства прикладных приложений учета и управления, а так же для заказных учетных, внутрикорпоративных, и тем более для бэкенда вообще-то не нужен, а порой даже вреден. К тому же современный код C# работает в подобных прикладных задачках с такой же скоростью как и Дельфевый, но самое удивительное, что местами даже быстрее. А вот в чисто вычислительных найтивных прикладных задачах Дельфи уже по сравнению с тем же C++ тягаться практически совсем не сможет.
К тому же C# уделывает Дельфи своей стройной и куда более всеобъемлющей библиотекой, упрощенной работой с памятью, принципиальным отсутствием дельфевых проблем типа circular unit reference, множеством мега-удобного языкового сахара, типа например, такими крайне удобными вещами как LINQ for Object и т.д. и т.п.
И на текущий момент и WinForms и WPF и ASP.NET и Blazor WebAsm интерфейсы всё же суммарно на пару порядков сильнее поддерживаются сторонними производителями компонент, чем Дельфи. Что как бы намекает...
Ну и я уже не видел за последние минимум 8 лет ни одного серьезного нового проекта на Дельфях. В основном все лишь поддержка старых прикладных проектов конца 90-х и нулевых. На чей-то век еще хватит поддержки и до вероятно скорой пенсии (не секрет, что Дельфи программерам чаще уже далеко за 40). Но в целом перспективы для адептов и для среды уже давно не радужные.
[Обновления: Mon, 06 February 2023 03:02] Известить модератора
|
|
|
Re: Delphi жив? [сообщение #1560 является ответом на сообщение #1559] |
Mon, 06 February 2023 04:08 |
fraks
Сообщений: 140 Зарегистрирован: June 2022 Географическое положение: Новосибирск
|
Senior Member |
|
|
Все интересовало - кто эти люди, которые приходят на дельфийский форум и начинают в красках рассказывать как мы тут умираем
[Обновления: Mon, 06 February 2023 04:08] Известить модератора
|
|
|
|
|
|
Re: Delphi жив? [сообщение #1566 является ответом на сообщение #1560] |
Mon, 06 February 2023 16:30 |
Leonid33
Сообщений: 11 Зарегистрирован: January 2023
|
Junior Member |
|
|
fraks писал(а) Mon, 06 February 2023 04:08Все интересовало - кто эти люди, которые приходят на дельфийский форум и начинают в красках рассказывать как мы тут умираем Так не я же задавал вопросы про "Дельфи жив?"
Но адепты именно Дельфей часто реагируют на эти темы ровно как и в примере с Лениным и коммунистами - т.е. "Ленин жил, Ленин жив, Ленин будет жить..."
Ну пока его воском в мавзолее натирают и старики с заскорузлыми мозгами, помнящие свое детство в пионерских лагерях еще живы -> и Ленин в какой-то степени для них живой.
Приблизительно та же фигня и с Дельфи
Akavoi писал(а) Mon, 06 February 2023 08:25Я предлагаю судить о популярности Delphi не на основании какого-то сомнительного индекса tiobe. Давайте посмотрим количество постов в разделе "Программирование" на нашем форуме... Tiobe ещё не такой плохой рейтинг в последние годы дает Дельфям. В районе 1%, что всего в четыре раза ниже непотопляемого Визуального Бейсика.
И за пределами СНГ ещё остались небольшие очаги Дельфийского сопротивления в Латинской Америке, в Австралии, в Новой Зеландии и еще где-то.
Но просто даже создавать какую-то новую исключительно десктопную учетную морду к БД или типа того под под Windows на древнем VCL это уже IMHO ну никак не актуально и бесперспективно, а турецкий УниГуй это крайне специфическое решение.
Как минимум ту же учетную морду под Windows на том же C# сделать с нуля сейчас где-то на порядок проще.
Ещё Дельфи где-то иногда в весьма узких нишах типа около-системных прог встречается. Ну и хорошо, что так востребован.
К тому же пока и дельфисты не все еще на пенсию вышли, так и живи Дельфи хоть сто лет ещё даже на поддержке как и Cobol.
|
|
|
|
Re: Delphi жив? [сообщение #1569 является ответом на сообщение #1560] |
Tue, 07 February 2023 13:51 |
Сообщений: 197 Зарегистрирован: September 2022
|
Senior Member |
|
|
fraks писал(а) Mon, 06 February 2023 04:08Все интересовало - кто эти люди, которые приходят на дельфийский форум и начинают в красках рассказывать как мы тут умираем
Ну вот я, древний дельфист-пенсионер.
Нужно обеспечить работоспособность ПК на Linux. Из-за чего-то некоторые госконторы стали закупать компы с линухами.
Полгода добивался, чтобы под Wine всё пахало. Wine - та ещё поделка, кривая и косая. Некоторые вещи принципиально не сделать под Wine.
Пишу всякие смешные серверные приблуды, чтобы и в Windows, и в Linux.
Графики немного, поэтому без разницы, Qt или WxWidgets. Но в Qt мощная подсистема для организации мультитрединга, и она реально кроссплатформенная, мне это было важно - вот и выбор. Не Лазарус же. Масса открытых c++ библиотек для, например, реализации связи.
Да и формошлепство в Qt порой переплевывает старушку Delphi: например, лэйауты со спейсерами. Говорят, в новых дельфи это подвезли, но я пока не в курсе. Да, DevExpress-совских красот в Qt нет. И привычных датасетов с готовыми компонентами доступа к субд, нужно ручками много.
На современных С++ код очень выразителен, нет нужды во вложенных try-finally, мощные шаблоны и лямбды не сравнить с дельфийскими.
Неприятно, но дельфи сейчас постоянно в догоняющих. Например, появилась интересная и полезная библиотека. Пока кто-то соизволит к ней обёртку на паскале сваять - у библиотеки уже новая версия. Кто-то должен обёртку актуальной поддерживать. Некоторые С++ библиотеки в Delphi недоступны принципиально: например, когда требуется сабклассинг... ну, наверное, можно какую-то обертку на интерфейсах забацать, но всё непросто.
В Delphi есть офигенные вещи, типа построителя отчетов FastReport с его скриптовым движком, на C++ ничего близкого по функционалу не знаю.
Для С++ есть халявные IDE, по функционалу платной Delphi до них далеко ...
Но само, имхо, главное - мало их сейчас, дельфистов. Не идут девки за дельфистов, вот парни в дельфи и не идут.
|
|
|
Re: Delphi жив? [сообщение #1570 является ответом на сообщение #1569] |
Tue, 07 February 2023 15:13 |
Leonid33
Сообщений: 11 Зарегистрирован: January 2023
|
Junior Member |
|
|
МорскойДесант писал(а) Tue, 07 February 2023 13:51Ну вот я, древний дельфист-пенсионер.
Та же фигня, но до пенсии еще далеко.
МорскойДесант писал(а) Tue, 07 February 2023 13:51Из-за чего-то некоторые госконторы стали закупать компы с линухами. Полгода добивался, чтобы под Wine всё пахало. Wine - та ещё поделка, кривая и косая.
Похожая ситуация, но только одно время пытались пробовать писать хотя бы серверную часть под Linux прямо на Дельфях (последние жалкие попытки были с Rio). Пока не пришло осознание, что это редкостный геморрой. Не говоря уже о глючной FMX.
Потом плюнули и стали вспоминать подзабытый с университета C++ для Qt.
МорскойДесант писал(а) Tue, 07 February 2023 13:51На современных С++ код очень выразителен, нет нужды во вложенных try-finally, мощные шаблоны и лямбды не сравнить с дельфийскими. Тут не совсем соглашусь.
Просто отсутствие finally решается за счет интеллектуальных указателей и про эту обертку нужно всегда помнить. Но finally иногда все же не плохо бы иметь (в не стандартизированной версии VC++ они были когда-то). Лямбды в С++ IMHO не очень "красивые" даже в сравнении с недавно введенными Дельфийскими безымянными процедурами, разве что захват значений в C++ предельно детализируемый.
Шаблоны мощные, но местами слишком перемудреные особенностями передачи параметров по копии/перемещению, абстракций в выделении памяти, работы везде через указатели вместо индексов и т.п. Если смотреть в тексты даже стандартных библиотек, то крыша конкретно течет от тонны условностей, определений и макросов. В обычном прикладном программировании Джэнерики (С#/Дельфи) все же проще использовать.
Да и вообще С++ далеко не подарок, но стандарт, куча библиотек, реальная кроссплатформа с мощнейшей Qt и т.д. и т.п.
Но если уж нужен только бекенд для Линукс, то IMHO куда легче все делать на том же .NET под Линукс.
МорскойДесант писал(а) Tue, 07 February 2023 13:51Неприятно, но дельфи сейчас постоянно в догоняющих.
Скажем прямо - уже просто откровенно воруют с запозданием почти все из C# и .NET библиотеки и даже так же классы и методы именуют. Но к сожалению с досадными ограничениями, связанными с ограничениями самого языка.
МорскойДесант писал(а) Tue, 07 February 2023 13:51В Delphi есть офигенные вещи, типа построителя отчетов FastReport с его скриптовым движком, на C++ ничего близкого по функционалу не знаю.
Да, таких навороченных как FastReport пока не видел. Но посмотрите на список. Может быть что-то не видели, но пригодится (зато последние два бесплатные):
https://ncreportsoftware.com/
https://qtrpt.sourceforge.io/
https://limereport.ru/en/index.php
МорскойДесант писал(а) Tue, 07 February 2023 13:51Но само, имхо, главное - мало их сейчас, дельфистов. Не идут девки за дельфистов, вот парни в дельфи и не идут.
Я последний раз на сборище дельфистов был где-то в 2012-м (точно не помню), когда ещё Всеволод Леонов на сцене "плясал", который потом сам вовремя удрал в Samsung
Так уже и тогда, будучи уже в зрелом возрасте, чувствовал себя ещё относительно молодым среди толпы "пенсионеров".
[Обновления: Tue, 07 February 2023 16:15] Известить модератора
|
|
|
Re: Delphi жив? [сообщение #1699 является ответом на сообщение #1557] |
Tue, 28 February 2023 10:51 |
svd
Сообщений: 49 Зарегистрирован: November 2022
|
Member |
|
|
Может кто то меня и опровергнет, но...
Найдите хоть один интернет-сервис на Delphi. Со времен CGI, созданные на нем добавления отличались прожорливостью и утечками памяти. Намного проще дел обстаит с PHP. a Java и Python дефакто становятся сдантартами для этого.
Python вообще двигают как интегрированную оболочку коммуникации с пользователем в Linux. Что в Windows этакой расширением комманд из шелла стал VisualBasic, так и Python в Linux сейчас. На смену Python сейчас еще присунуть Go. А он позволяет компилировать такой же код, как и Delphi
Преимущества и одновременно недостатки - наличие GC. Как скриптоовая поддержка чаще всего идет Java и Python, а это дает все таки привычку использовать знакомое, чем в новом синтаксисе разбираться. В нише клиентских приложений, где hello world занимает 3 мегабайта не вызывает энтузиазма. Да еще не стоит забывать, что Delphi - это проприетарная среда разработки, а не как остальные, где поковырять потроха могут все. Альтернатива в виде FPC тормозится в виде тяжелой отладки, где посравнению с другими языками проще вести в логах, а не отладчиком.
|
|
|
Re: Delphi жив? [сообщение #1731 является ответом на сообщение #1699] |
Thu, 02 March 2023 19:56 |
sg729
Сообщений: 58 Зарегистрирован: June 2022
|
Member |
|
|
svd писал(а) Tue, 28 February 2023 10:51Может кто то меня и опровергнет, но...
Найдите хоть один интернет-сервис
Кстати, о сервисах, интересно, на чем написан "Яндекс.Диск"? Давеча пытался перетащить драг-энд-дропом фотки с "Яндекс.Диска" на рабочий стол - не вышло. Казалось бы в яндексе не дураки и наверняка используют самые передовые технологии, а тут такую банальную функцию не смогли реализовать, удивительно.
[Обновления: Thu, 02 March 2023 19:58] Известить модератора
|
|
|
Re: Delphi жив? [сообщение #2395 является ответом на сообщение #1699] |
Fri, 26 May 2023 16:13 |
rgreat
Сообщений: 4 Зарегистрирован: May 2023
|
Junior Member |
|
|
svd писал(а) Tue, 28 February 2023 10:51Найдите хоть один интернет-сервис на Delphi. В корпоративный сектор надо идти. В интернетах (тм) - не модно.
Цитата:Со времен CGI, созданные на нем добавления отличались прожорливостью и утечками памяти. Надо уметь писать. И не пользоваться всяким встроенным УГ типа DataSnap.
Если уметь писать будет и работать быстрей и жрать меньше чем то же самое на "модных" языках.
[Обновления: Fri, 26 May 2023 16:15] Известить модератора
|
|
|
Re: Delphi жив? [сообщение #2407 является ответом на сообщение #2395] |
Sun, 28 May 2023 17:12 |
GrigoryFomin
Сообщений: 91 Зарегистрирован: April 2023
|
Member |
|
|
имхо, у дельфи есть хороший козырь - он умеет быстро работать с большими объемами данных. Например, грузим из БД справочник, который немалый (гиг или более) - там все идет на уровне оптимизированных асмовых команд, память аллоцируется наиболее оптимально для размещения данных. Если тянуть сюда вэб - без пагинации не обойтись - такой объем данных на html+css рендерить выйдет намного дольше. Ну физику не обманешь - вложенные стили CSS и все такое - это будет в разы медленнее, чем отрисовывать на канве. Для себя понял - если надо красиво и современно - нужны современные вэбовские кроссплатформенные фреймворки, если для корпоративного сегмента - там VCL - максимум приближенности к WinAPI. Да, старомодно, да, там есть компоненты от Win 3.11, 95% программеров современных про такую и не в курсе, в лучшем случае WinXP в детсаду застали.
|
|
|
|
|
|
|
Re: Delphi жив? [сообщение #2431 является ответом на сообщение #2421] |
Tue, 30 May 2023 20:10 |
Сообщений: 197 Зарегистрирован: September 2022
|
Senior Member |
|
|
GrigoryFomin писал(а) Mon, 29 May 2023 21:07...что код работы с БД наиболее оптимальный и скоростной, без всяких прослоек в виде ява-машин, фреймворков и прочих абстракций насколько это возможно. Из-за чего загрузки и перекачки данных из СУБД осуществляется максимально быстро насколько это возможно...
С чего бы это? Уже 20 лет как доказано, что эффективность исполняемого кода Delphi хуже, чем у C#, сравнимо со старой java (и хуже новой) и существенно хуже, чем после оптимизирующих компиляторов c/c++.
И, ещё на старом sql.ru я показывал пример, что эффективность кода, сгенерированного компилятором DW-pascal ("дельфийский" компонент, между прочим), существенно лучше такого же кода, сгенерированного самим компилятором Delphi.
BlackEric писал(а) Tue, 30 May 2023 11:58GrigoryFomin писал(а) Mon, 29 May 2023 21:07Объявлено поле как int - под него в памяти при загрузке данных аллоцируется 4 байта.
Это с packed или без packed? А если код 64х битный?
А сколько же будет в других языках?
В C/C++ поле типа int обычно 4 байта. В java и C# - 4 байта точно, но "в памяти под загрузку" тоже выделяется 4 байта.
В Delphi типа int нет вообще, а Integer 4 байта и в 32, и в 64 бита.
Зато NativeInt/NativeUInt в Delphi зависит от "битности: 4 байта для 32 бит, и 8 байт для 64. Правда, не всегда: в Delphi6... 2007, размер NativeInt/NativeUInt был почему-то 8 байт, хотя код всегда был 32-битный...
Но вот размер Char зависит не от "битности", а от "юникодности" - то 1, то 2... А так - да, что напишешь, то и получишь.
И - сколько в памяти занимает экземпляр класса? Можно узнать, да...
Весьма строгий и стройный язык. Но - с нюансами.
|
|
|
Re: Delphi жив? [сообщение #2438 является ответом на сообщение #2431] |
Tue, 30 May 2023 23:41 |
GrigoryFomin
Сообщений: 91 Зарегистрирован: April 2023
|
Member |
|
|
Я в последнее время так пристрастился си-подобным типам целочисленных переменных в Delphi, не нужно помнить в какой разрядности какой инт сколько весит.
Int8 = ShortInt;
Int16 = SmallInt;
Int32 = Integer;
IntPtr = NativeInt;
UInt8 = Byte;
UInt16 = Word;
UInt32 = Cardinal;
UIntPtr = NativeUInt;
ну и int64 с uint64
Хотя это скорее всего пережиток экономии памяти для 8-мибитных микроконтроллеров, когда каждую переменную нужно продумывать, чтоб памяти хватило )))
[Обновления: Tue, 30 May 2023 23:51] Известить модератора
|
|
|
Re: Delphi жив? [сообщение #2439 является ответом на сообщение #2438] |
Tue, 30 May 2023 23:46 |
GrigoryFomin
Сообщений: 91 Зарегистрирован: April 2023
|
Member |
|
|
Вы сравниваете Delphi с такого же уровня ЯВУ, при определенной условности, Delphi - тот же C++ но с другим синтаксисом, поэтому там кардинальной разницы в производительности не будет. C# не щупал, не приходилось. Я сравнивал Delphi с новомодными языками для web, фреймворки там, интерпретаторы, где красивости, стили, легкая верстка, готовые шаблоны оформления.
|
|
|
|
|
|
Re: Delphi жив? [сообщение #2447 является ответом на сообщение #2431] |
Wed, 31 May 2023 15:58 |
SD
Сообщений: 414 Зарегистрирован: August 2022
|
Senior Member |
|
|
МорскойДесант писал(а) Tue, 30 May 2023 19:10Уже 20 лет как доказано, что эффективность исполняемого кода Delphi хуже, чем у C#, сравнимо со старой java (и хуже новой) и существенно хуже, чем после оптимизирующих компиляторов c/c++.
Тогда чем Вы объясните, что IBExpert, написанный Delphi, работает быстрее, чем Flame Robin, написанный на C++ или RedExpert, написанный на Java?
|
|
|
|
|
|
|
|
|
|
|
|
Переход к форуму:
Текущее время: Wed Dec 11 18:10:09 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01606 секунд
|