Is Delphi Dying — False

    В далеком 2009-м на Хабре уже возникал холиварный шуточный пост с вопросом "Умирает ли Delphi?", а неким энтузиастом (Jamie Ingilby) в поддержку были созданы 2 сайта, которые утвердительно отвечали «Нет, язык Delphi жив».

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

    image

    И вот, спустя 10 лет, в 2019 году один из двух сайтов перестал отвечать, что являлось еще одним нехорошим звоночком — домен http://www.isdelphidying.com/ оказался свободен для покупки (я это обнаружил совершено случайно, когда от нечего делать решил разместить статью "Известные программы, написанные на Delphi" и при поиске материалов вспомнил про эти два сайта).

    Недолго думая, дабы поддержать любимый язык программирования, был приобретен домен «isdelphidying.com» — все же хотелось, чтобы на вопрос, «Умер ли Дельфи,» снова выводилось сообщение «FALSE».
    И утверждение FALSE снова стало выводиться :)

    + немного доработал исходную страничку — стилизовал под Star Wars :-)

    Так что справедливость восстановлена, работаем дальше)

    ПС. Надеюсь, что у Delphi еще не все потеряно, по крайней мере, надежда на это живет в каждом, кто работает на этом замечательном языке программирования…
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      0
      Как он может быть мертв если он единственный кто кросплатформенный и на реально все платформы может нативно + человеческий редактор и конструктор + кодовая база и офигенная обратная совместимость.
      • НЛО прилетело и опубликовало эту надпись здесь
          +6
          Да-да, вы про Qt только обязательно расскажите, что простая формочка с двумя кнопками со статическими либами на винде занимает всего лишь ~200 Mb, ребилдится при этом полностью всего за 8 часов, если полностью из сорцов собирать. А уж какая у Qt идеальная обратная совместимость — легенды прямо ходят! То, что писано в предыдущей _минорной_ версии не соберется более нигде — ни в следующей версии Qt, ни в предыдущей, ни в какой. Про кросс-платформенность и Qt также можно почитать веселые истории на тему сокетов в винде и линупсе, например. Про мак даже и вообще лучше не вспоминать от греха.
          • НЛО прилетело и опубликовало эту надпись здесь
              +7
              ребилдится при этом полностью всего за 8 часов, если полностью из сорцов собирать

              А сколько само Delphi из сорцов ребилдится?


              А уж какая у Qt идеальная обратная совместимость — легенды прямо ходят! То, что писано в предыдущей минорной версии не соберется более нигде — ни в следующей версии Qt, ни в предыдущей, ни в какой.

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


              Про кросс-платформенность и Qt

              А как там у дельфей с этим? Не смог сходу найти в репозиториях.

                +11

                Нативный компилятор Дельфи под Win32- самый быстрый из мною виденных.
                Реально С++ после него кажется сошедшим с комикса xkcd. И ребилд всего проекта на нём- обычное дело, не проблема ваще. Правда компиляторы под другие платформы, как я слышал, построены на основе LLVM, что не лучшим образом сказалось на скорости. Но все равно с цпп- нёбо и земля.

                  +2

                  А как у дельфи с оптимизацией вычислительного кода и с возможностями метапрограммирования?

                    –1
                    Оптимизация отстает от плюсовой до 5-7 процентов. Чаще всего разницы на глаз между плюсовыми и делфевыми сырцами заметить невозможно. Основные алгоритмы оптимизированы на уровне ассемблера в коробке, так что разницы там вообще нет. Шаблонов, к счастью, не завезли. Дженерики существуют и давно.
                      +3
                      Оптимизация отстает от плюсовой до 5-7 процентов. Чаще всего разницы на глаз между плюсовыми и делфевыми сырцами заметить невозможно.

                      И есть вещи типа автовекторизации, удаления незначащих чтений или записей, global value numbering и тому подобных вещей?


                      Шаблонов, к счастью, не завезли. Дженерики существуют и давно.

                      Один из моих рабочих проектов — некая библиотека, позволяющая строить пайплайны из обработчиков, описывая конкретные изолированные блоки. Шаблоны и constexpr дают, с одной стороны, типобезопасность, с другой — после компиляции производительность такая же, как если бы вы закодили конкретный пайплайн руками с нуля. При этом есть и «базовые классы», и полиморфизм (времени компиляции), и довольно много вычислений на типах (начнём хотя бы с операций на строках), при этом в процессе компиляции вычисляется и инлайнится всё что можно.


                      Такое можно сделать на дельфи?

                        0
                        К сожалению, оптимизация сгенерированного кода для Embarcadero не приоритет. Она есть, но могла бы быть и лучше. Насколько знаю, сейчас разработка IDE и платформы отдана в оффшорные команды, и они очень заняты поддержкой новых платформ Android, iPhone и проч. В качестве замены предлагается использовать готовые оптимизированные специализированные библиотеки, написанные на Delphi либо других языках. А при наличии опыта у команды — использовать ассемблерные вставки для оптимизации узких мест. Как пример — оптимизация нейросети под команды AVX: github.com/joaopauloschuler/neural-api/blob/master/neural/neuralvolume.pas

                        Инлайнить можно глобальные процедуры и методы классов (см. примеры в коде по ссылке выше). С типобезопасностью у Pascal/Delphi проблем не было никогда. Поэтому не вижу проблем наваять быстрый и безопасный Delphi-код c цепочками обработчиков. Не знаю что там поменяли в шаблонах у С/С++, когда я последний раз пытался разбираться в нём, там можно было творить жуткие вещи. Может, сейчас слегка обрезали возможности этой «фичи» в языке…
                          –1
                          Шаблон я бы отнёс к минусам, говорящим о том, что в C++ существует проблема с раздуванием кода. И шаблоны призваны упростить работу программиста C++. Только вот в Delphi с этим проблем я не наблюдал, следовательно для чего там такой инструмент (читайте костыль)?

                          Вы предлагаете поставить плюс к C++ относительно Delphi, функционалом, нужным только C++. Всё равно что сравнивать две машины и ставить плюс первой, потому что у неё есть целых два балона с газом, а у второй его нет. К слову у второй вообще двигатель на бензине.
                            +2
                            Вы предлагаете поставить плюс к C++ относительно Delphi, функционалом, нужным только C++. Всё равно что сравнивать две машины и ставить плюс первой, потому что у неё есть целых два балона с газом, а у второй его нет. К слову у второй вообще двигатель на бензине.

                            Вот вам простой пример, пробросте дельфийский класс в питон, в С++ благодаря шаблонам это делается в несколько строчек.
                              0
                              Подробнее можно? Что по-вашему пробросить? Чтоб питон его из библиотеки достал?
                                0
                                Да например есть класс
                                class A
                                {
                                public:
                                    void msg(const std::string& text);
                                    int count();
                                };
                                

                                А в питоне соответственно
                                import my_lib
                                
                                my_a = my_lib.A()
                                my_a.msg("hello my little pony")
                                print(my_a.count())
                                

                                в плюсах это делается так
                                BOOST_PYTHON_MODULE(my_lib)
                                {
                                   boost::python::class_<A>("A")
                                		.def("msg", &A::msg)
                                		.def("count", &A::count)
                                }
                                

                                  0
                                  Лично я знаю способ через интерфейсы. Только вот это не значит, что нет ещё какого способа.
                                    0
                                    Ну при быстром гуглении я не нашёл, а через интерфейсы, можете показать?
                                      0
                                        +1
                                        Но это же не то. Это как запихнуть интерфейс класса в длл (в дельфях нельзя классы в длл экспортить 0_о вот это поворот) для питона это не подходит.
                                        Вообщем пока дельфи не в состоянии сделать то что для меня необходимо. Ну точнее может, но без шаблонов код превращается в кошмар сродни проброски lua.
                                        Кстати можно посмотреть как биндится луа и сравнить. В С++ будет примерно также как и с питоном. В дельфи я думаю мало что изменилось в этом плане со времён моего обучения в универе, там биндинги были только через работу с lua стеком интересно есть ли подвижки сейчас.
                                        Просто в С++ в нативном виде луа также только через луа стэк работает. Но благодаря шаблонам это превращается в простой код.

                                        Шаблоны я могу много ещё для каких целей предложить, которые уменьшают работу в несколько раз. Так что не надо говорить что
                                        Вы предлагаете поставить плюс к C++ относительно Delphi, функционалом, нужным только C++.
                                        потому что это не так, у вас просто нет ни опыта ни знаний для того чтобы в принципе оценить ценность шаблонов С++. (что-то сродни эффекту Даннинга Крюгера)
                                          0
                                          Во-первых, в Delphi ещё с ранних времён поддерживали COM и OLE, и библиотеки COM классов были столбовой дорогой. И настолько лучше, чем в C++ тех лет, что кто не прогал COM в Delphi, можно считать, вообще не имеет понятия о COM. Потом уже каждый отдельный Python через OLE подхватит всё автоматом.

                                          Во-вторых, в Delphi 2010 пошли по пути Objective-C. Код нативный, но может быть сдобрен произвольно обильным количеством метаинформации. Класс или лучше интерфейс помечаются $M, затем вызовы можно делать через System.Rtti. Я не знаком с Python API, но, я так понимаю, раз и навсегда там можно закодить, чтоб из Python'овских any переделывать в System.Rtti.TValue, всё это дело вызывать и обратно результат заворачивать. И это будет работать для всего, где в Delphi есть RTTI, без написания def().def(). До Delphi 2010 поддержка RTTI тоже была, но ей довольно непросто было пользоваться (см. Hallvard Vassbotn RTTI Utils и переводы блога у GunSmoker).

                                          Вообще, конечно, лучше всего IBM SOM возродить для нативного кода, чем маяться с языкоцентричными решениями
                                            0
                                            Потом уже каждый отдельный Python через OLE подхватит всё автоматом.

                                            Ух, а можно пример? А то быстрое гугление не находит ничего похожего.
                                            Я не знаком с Python API, но, я так понимаю, раз и навсегда там можно закодить, чтоб из Python'овских any переделывать в System.Rtti.TValue, всё это дело вызывать и обратно результат заворачивать. И это будет работать для всего, где в Delphi есть RTTI, без написания def().def().

                                            Опять же, очень хочется увидеть библиотеку которая это делает.

                                            Насчёт COM и OLE конечно это довольно полезные вещи, но они требуют довольно прилично кода для обвязки, и это даже не близко по удобству как экспорт С++ класса.
                                              0
                                              zabaykin.ru/?p=53 вот нашёл работу с OLE из Python

                                              А это через RTTI:
                                              github.com/pyscripter/python4delphi/blob/master/PythonForDelphi/Components/Sources/Core/WrapDelphi.pas

                                              Причём, как я вижу по истории, они там с 2005го года ещё через старенький неудобный RTTI умели работать.
                                                0
                                                zabaykin.ru/?p=53 вот нашёл работу с OLE из Python

                                                Да только это обёртка над ком, там используется не сама ком библиотека, она завраплена скорее всего через тот же С++.
                                                А это через RTTI:
                                                github.com/pyscripter/python4delphi/blob/master/PythonForDelphi/Components/Sources/Core/WrapDelphi.pas

                                                Причём, как я вижу по истории, они там с 2005го года ещё через старенький неудобный RTTI умели работать.

                                                А теперь смотрим как делаются биндинги в питон при помощи этой библиотеки
                                                github.com/pyscripter/python4delphi/blob/master/PythonForDelphi/Demos/Demo08/Unit1.pas
                                                Вы правда считаете это лучше чем то что предлагает С++?
                                                Там по сути пробрасывается
                                                struct Point
                                                {
                                                   int x,y;
                                                };
                                                

                                                  0
                                                  В комментариях к модулю-обёртке, в истории изменений был указан номер демо 31. Открыл и вижу:

                                                  github.com/pyscripter/python4delphi/blob/master/PythonForDelphi/Demos/Demo31/Unit1.pas#L74

                                                  Использование из Python:

                                                  github.com/pyscripter/python4delphi/blob/master/PythonForDelphi/Demos/Demo31/Unit1.dfm#L112

                                                  Да только это обёртка над ком, там используется не сама ком библиотека, она завраплена скорее всего через тот же С++.


                                                  Не понял
                                                    0
                                                    В комментариях к модулю-обёртке, в истории изменений был указан номер демо 31. Открыл и вижу:

                                                    github.com/pyscripter/python4delphi/blob/master/PythonForDelphi/Demos/Demo31/Unit1.pas#L74

                                                    Использование из Python:

                                                    github.com/pyscripter/python4delphi/blob/master/PythonForDelphi/Demos/De

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

                                                    Питон не умеет использовать напрямую ком объекты, для этого их оборачивают при помощи С или С++
                                                      0
                                                      А я не вижу. Смотрю в описание класса
                                                        procedure SetMeUp(S: string; I : Integer);
                                                        function DescribeMe(): string;


                                                      Смотрю как заворачивается:

                                                        p := PyDelphiWrapper.Wrap(TTestClass.Create, soOwned);
                                                        PythonModule.SetVar( 'DVar', p );
                                                        PyEngine.Py_DecRef(p);


                                                      И я почитал, с TTestRTTIAccess чуть ниже более прямой пример, только на современный RTTI опирается.

                                                      Питон не умеет использовать напрямую ком объекты, для этого их оборачивают при помощи С или С++


                                                      Единый для всех win32com этим и занимается. Ну а также oleaut32.dll, в которой движок, читающий библиотеку типов из ресурсов и реализующий IDispatch для бинарных интерфейсов.
                                                        0
                                                        Смотрю как заворачивается:

                                                        Так там каждый инстанс заворачивается. А в примере на питоне я нигде не увидел просто
                                                         some_Var = mymodule.TTestClass()

                                                        Единый для всех win32com этим и занимается. Ну а также oleaut32.dll, в которой движок, читающий библиотеку типов из ресурсов и реализующий IDispatch для бинарных интерфейсов.
                                                        А понял, да прикольно, но всё равно писать com библиотеки вместо нормального кода то ещё извращание + это к сожалению только для винды.
                                                          –1
                                                          Если у нас можно дампить методы и аргументы любых классов и записей с расширенным RTTI, то и сам класс пробрасывается.

                                                          В dfm я видел, как это делается для органов управления:

                                                                class MyForm(Form):
                                                                  def __init__(self, Owner):
                                                                    self.Caption = 'Subclassed form'
                                                                    self.btnClose = Button(self)
                                                                    self.btnClose.Parent = self
                                                                    self.btnClose.Caption = 'Close'
                                                                    self.btnClose.SetBounds(10, 10, 120, 30)
                                                                    self.btnClose.OnClick = self.btnCloseClick
                                                                
                                                                    self.chkCanClose = CheckBox(self)
                                                                    self.chkCanClose.Parent = self
                                                                    self.chkCanClose.Caption = 'Can close?'
                                                                    self.chkCanClose.SetBounds(10, 50, 120, 30)
                                                                
                                                                    self.grdTest = DrawGrid(self)
                                                                    self.grdTest.Parent = self
                                                                    self.grdTest.SetBounds(10, 100, 300, 250)
                                                                    self.grdTest.OnDrawCell = self.grdTestDrawCell
                                                                    self.grdTest.OnSelectCell = self.grdTestSelectCell
                                                                
                                                                    self.OnCloseQuery = self.MyFormCloseQuery
                                                                    self.OnClose = self.MyFormClose
                                                                    self.Width = 400
                                                                    self.Height = 400
                                                          


                                                          Как минимум Button и CheckBox здесь динамически созданы

                                                          писать com библиотеки вместо нормального кода


                                                          А с чего вдруг нормальным кодом не считается COM? Какой смысл делать кучу привязок под отдельные языки программирования, когда можно осчастливить всех разом. Я вот для Visual DialogScript сделал мост в OLE и получил возможность качать файлы по SFTP. И всё остальное, что можно делать через OLE библиотеки. 2ГИСом рулить. А так стали бы в 2ГИС делать модуль для VDS? Очень сомневаюсь.

                                                          И управление памятью там сразу понятное. В Delphi, если программа вся на интерфейсах, как у нас на работе, тоже всё понятно. А в C++ там я не знаю как надо офигеть, чтоб каждый нюанс типа shared_ptr_from_this корректно учесть. Шаблонами я не видел, чтоб это делалось, зато видел, как напильником работают в SWIG.

                                                          + это к сожалению только для винды


                                                          На ущербных операционках вполне пашет PyXPCOM.

                                                          Вообще, конечно, это мощный камень в огород государства. Кто как не государство должно строить недостающую инфраструктуру. На примере Jabber мы уже увидели, как коммерсы неспособны договориться.
                                                          Ну или как IBM с Apple тянули на своих плечах кроссплатформенный IBM System Object Model (Windows, OS/2, Mac OS, UNIX AIX, мэйнфреймы с OS/390). Компилятор C++ модифицировали, чтоб SOM классы генерил вместо обычных C++ классов. И интеграцию в скрипты REXX всего этого дела. Object COBOL ещё получил SOM как единственный способ делать объекты. Сторонние разработчики запилили DirectToSOM Modula-2, и стало как минимум три языка нативного программирования, между которыми работает наследование классов, есть выход в скрипты, удалённый вызов методов и все остальные прелести Middleware. Но потом пришла Java, и вроде как натив стал не нужен, а когда поняли, что нет, нужен, про былые достижения натива забыли.

                                                          Коммерсам это вспомнить будет выгодно, если у раковины будет один слив. То есть, никогда или
                                                          только для винды

                                                          или если всё запечатать в проприетарный ЯП.

                                                          Подходящее место — это университеты, как бы только их отучить смотреть в рот коммерсам, а самим творить историю.
                              +1
                              Вы предлагаете поставить плюс к C++ относительно Delphi, функционалом, нужным только C++.

                              Не «только C++». Эта функциональность вообще оказывается полезной, как я там нажие пример привёл.

                      +7
                      А сколько само Delphi из сорцов ребилдится?
                      Так как сырцы Делфи (IDE) закрыты, то могу сказать сколько времени собирается Лазарусь. Секунд 10-15.
                        +2
                        ребилдится при этом полностью всего за 8 часов, если полностью из сорцов собирать


                        А сколько само Delphi из сорцов ребилдится?


                        Вы напрасно пытаетесь тут что-то выкружить.
                        У Borland Pascal всегда была довольно шустрая компиляция, ибо одного прохода достаточно, Вирт продумал это при проектировании языка.
                        Можно предположить, минут 20-30.
                        30 минут vs 8 часов — это небо и земля.
                        И это полностью из исходников, чего никто не делает.
                        А из подготовленных предварительно (автоматически) бинарников библиотек/объектных файлов — считанные секунды (очень крупные программы — десятки секунд).
                        +2

                        Вы Delphi тоже из сорцов собираете каждый раз?

                        • НЛО прилетело и опубликовало эту надпись здесь
                          +4
                          Это проблема винды, да и только винды. В *nix операционах закачивается разовый набор библиотек qt, а все приложения, как винда, за собой не тянут тонну бинарников и весят еле еле.

                          Еще можно статически скомпилировать QT и будут у вас бинарники по паре мегабайтов.

                          Так же по моему опыту, я собирал программу на Qt4, при этом изначально тестировал ее в Qt5 на локальном компе, а потом удаленно компилил на машинке с астра-линуксом (на котором только 4 версия работает) и там все работало
                          +4
                          Знаете, минимальное окошко на Qt весит примерно 5 метров, что ли.
                          На D7 — 400 кб.
                            +7
                            Справедливости ради, текущие минимальные программы на Delphi XE весят по 2 Мб — все в угоду совместимости и кросплатформенности и вряд ли кто-то сейчас станет писать серьезный коммерческий софт на D7, раз есть D XE, хотя в общем то и по сей день программы написанные в далеких 2000-х на D7 прекрасно работают на Win 10 например, хотя зачастую и не обходится без костылей и танцев с бубном.
                              +7
                              Я вам больше скажу — софт написанный на D7 еще и прекрасно работает под вайном )
                                +7
                                Знаю, юзеры об этом рапортуют периодически )
                                  0

                                  У меня есть программа написанная больше 13 лет назад в D7, и она все еще отлично работает в современной винде. И это просто удивительно. Самое интересное что я теперь даже скомпилировать эту программу не смогу, поскольку использовались сторонние библиотеки, которые даже скачать теперь просто невозможно (да и не помню как это все настраивать).

                                    0
                                    А каково будет еще через 13 лет собирать проекты, которые все зависимость в сети хранят.
                                  0
                                  до сих пор пишу на D5. переехал бы на что посвежее, но смысла особого нет — и так всё нормально работает.
                                    0
                                    В версиях поновее появилось удобное визуальное выравнивание компонентов прямо при расстановке без выделения компонентов и вызова меню. (Не помню, с какой — кажется, в D2010 уже было).
                                      0
                                      Пожалуй, да, выравнивание компонентов одна из немногих вещей, которой не хватает. но можно привыкнуть. Вторая посерьезнее, но к дельфи отношения не имеет — хочется больших тематических наборов картинок под кнопки с удобным поиском. И как-то упорядочить работу с этим, а то бывает добавишь в программу, а потом не помнишь из какого файла… Но все эти претензии не настолько существенны, чтобы все бросить и переезжать.
                                        0
                                        немного не то что вы хотите — но вот (syncfusion metrostudio) достаточно удобный бесплатный оффлайн каталог, с поиском и всем таким.
                                          0
                                          скачал последнюю 5-ю версию, поставил, но или не разобрался или иконки там только монохромные. а меня от интерфейса аля виндоуз10 подташнивает. да и не удобно в программе — когда иконок на форме десяток-другой, цвет имеет значение.
                                          Хотя редактор там, надо признать, интересный.
                                            0
                                            Цвет и форму иконок можно менять. Правда в иконке будет только два цвета, насколько я помню, зато любых + прозрачность. И форму тоже можно менять.

                                            Я и не говорил что это идеальное решение. Но. Несколько тысяч, бесплатно, оффлайн, с поиском… Если хотите и вам не хватает того что там есть — сделайте экспорт из этого редактора и раскрасьте сами.
                                          0
                                          Icons8. В последних версиях RAD Studio через GetIt можно установить одним кликом. Но можно и через сайт скачать. Довольно удобно.
                                          –1
                                          'Вылезает из XAML и HTML' — 'Что_О? О чем говорят эти люди?'
                                            0
                                            В XE2 (если не ошибаюсь) появилась встроенная поддержка работы с zip-архивами. Буквально на днях маленький проект с ней делал.
                                            +1

                                            Generics, полноценная поддержка Unicode — уже пары этих пунктов достаточно, чтобы забыть D5 как страшный сон.

                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                +1
                                                современные возможности посмотрю, спасибо.
                                                что касается остального — я хотел донести мысль, что и на 5-ке, которая 1999-го года, т.е. будет 21 год в этом году, что по меркам разработки уже какая-то древность, что-то типа Алгола в 90-х, так вот, на 5-ке вполне можно комфортно разрабатывать достаточно сложные standalone корпоративные системы, которые будут быстро работать и нетребовательны к ресурсам. Несомненно, для начинающих есть существенные выгоды в новых версиях, но когда на Delphi пишешь 25 лет уже давно есть набор практически всех необходимых для работы библиотек, значительная часть которых еще и самостоятельно написана.

                                                А юникод… ну вот в 3-ке с ним были проблемы, помню, что и сподвигло с нее переехать, а вот в 5-ке как-то не вижу больших проблем.
                                                  –2
                                                  Delphi был изначально очень хорошо, можно сказать, идеально, спроектирован.
                                                  В том числе благодаря чему он и держится до сих пор в топах языков (почти всегда в десятке +-, из, замечу, тысяч и тысяч) не смотря на постоянные и безуспешные попытки его похоронить :)
                                                    +3

                                                    Java JS Python C++ C# Ruby VB PHP Swift Go — вот уже список топ10 закончился, при этом все эти языки гарантированно популярнее делфи.


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

                                                      –3
                                                      Но по сравнению с тем же сишарпом (спроектированного тем самым Хелсбергом) оказался просто предыдущей, менее удачной инкарнацией.
                                                      Всего лишь ошибка выжившего. Был бы поддержан Делфи Майкрософтом, и сейчас тоже самое говорили бы о Сишарпе.
                                                        0

                                                        Основные идеи делфи: процедуры и функции как отдельные сущности, ключевые слова вместо спецсимволов, то что в половине компиляторов нужно было писать FunctionName :=… чтобы что-то вернуть, а в половине Result := ..., ну и так далее — не особо удобны, и для соверменного языка недопустимы. Впрочем, и сишарп уже старичок, которому понемногу пора собираться на покой.

                                                          0
                                                          То что вместо месива значков и скобочек в исходниках нормальные человеческие слова — это уже на вкус и цвет. Важно, чтобы язык был удобен тем, кто на нём пишет.
                                                          В актуальных компиляторах (Delphi, FPC) можно возвращать значение функции так: Exit(Value); Эквивалент return value; в C.
                                                            0
                                                            То есть визуальную среду, объектную модель, статическую сильную типизацию и прочие плюшки вы опустили? То, до чего другие языки тянутся десятилетиями уже было в Делфи изначально.
                                                              +2

                                                              Не писал десктоп формы с 2013 года, и из наверное полсотни знакомых с которыми общаюсь ни один не пишет.


                                                              Но если бы вдруг понадобилось — взял бы Winform/WPF, которые живые и отлично работает.

                                                                +2
                                                                визуальную среду

                                                                Пока ты студент, не умеющий программировать — замечательная вещь. Как только начинаются серьёзные проекты и основная работа с GUI принимает форму доработки собственных визуальных компонентов, «визуальность» уже не воспринимаешь как что-то значимое. Зачастую проще и удобнее сформировать UI в коде.


                                                                объектную модель, статическую сильную типизацию

                                                                Языков с ООП вагон и маленькая тележка, как и с сильной типизацией. Никаких выдающихся достижений тут у Delphi нет.

                                                                  –1
                                                                  Пока ты студент, не умеющий программировать — замечательная вещь. Как только начинаются серьёзные проекты и основная работа с GUI принимает форму доработки собственных визуальных компонентов, «визуальность» уже не воспринимаешь как что-то значимое. Зачастую проще и удобнее сформировать UI в коде

                                                                  Наверно вы просто на больших проектах с сотнями форм не были. Условным калькуляторам конечно гуй можно и на коленке в коде набросать.
                                                                  Языков с ООП вагон и маленькая тележка, как и с сильной типизацией. Никаких выдающихся достижений тут у Delphi нет.

                                                                  Я больше о топ 10 языках.
                                                                  В JS сильную типизацию только недавно завезли и то не из коробки (и, замечу, тем же человеком что и Делфи сделал) статической я так понял там так и нет, в Питоне тоже насколько я знаю статическую недавно сделали внешней же библиотекой.
                                                                  C/C++, понятно, что до сильной типизации сильно не дотягивают.
                                                                  Что осталось? Шарпы появились позже Делфи.
                                                                  Жава, ок. Только что язык настолько многословный (и еще делфи на begin/end пеняют, смех), что пришлось Котлин переизобретать.
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                      0
                                                                      Многословность Java всегда добавляет неудобств, множество. IDE конечно, помогает, но это не панацея. Да и читать сгенерированный код всё равно придется. Другой вопрос — насколько менее многословен Delphi?
                                                                        0
                                                                        И что с того, что позже то? :)

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

                                                                        То, к чему другие языки приходили годами и десятилетиями, было в Делфи изначально и давно, и это один из плюсов в общем-то. Кодовая база успела наработаться сразу с хорошим синтаксисом и кода и объектной модели. А что мы сейчас видим в JS? Ежегодные фреймворки. Которые один от другого отличаются, как здесь писали, сильнее, чем Сишарп от Делфи. Врятли это так уж хорошо и удобно для бизнеса — постоянно переписывать код занова.
                                                                        Нам вот неудобно.
                                                                        Мы среди прочего пишем часть проектов на JS. Всё до сих пор написано на jQuery, который уже, видимо, не торт. А переписать возможности (точнее времени) нет совсем.
                                                          0
                                                          А вам пользователи не присылают смешные скриншоты с мониторов Ретина, где DPI 300%? И как дела с автоматическим показом экранной клавиатуры на вендопланшетах

                                                          С языком, конечно, не связано напрямую, но для Delphi GUI — это важная часть экосистемы
                                                            0
                                                            Всё ок с High DPI в Делфи в последних версиях, либо в сторонних гуи компонентах (мы SpTBX используем) на более старых версиях.
                                                    0
                                                    Минимальное окошко на Delphi 3 — 2 кБ (приложение скомпилировано как консольное, но использует WinAPI).
                                                      +3
                                                      С WinApi можно засунуть вывод графики 3d в эти 2 кб, без проблем… знаю это так как когда-то давно делелал 64кб игры и демки
                                                        0
                                                        KOL, MCK?
                                                      +26
                                                      Что ж вы так выборочно комментите…
                                                      Нормальный редактор и нормальный конструктор — Qt в пролете со свистом. Делфи среда собранная, ставишь и все работает.C Qt нужны пляски. Собираешь как жигули и пытаешься как то ездить. В Делфи если надо добавить компоненты, в пару кликов все добавляется. Что может этому противопоставить Qt? Ничего не может. Из оставшегося только кроплатформенность которая поддерживается за счет таскания на спине жирных библиотек Qt. У Делфи все пакуется в один exe файл и никакого головняка. Некоторые компоненты позволяют не ставить драйверы для баз данных типа оракла. Просто копируешь exe на голую винду и все у тебя работает. Куда уж проще. Про дикий расход ресурсов у Qt, что бы этот комбайн работал и совместимость вам уже ниже написали.

                                                      Товарищи с горящими седалищами, вы можете минусить меня, плевать в карму… затыкать рты другим, но факт в том что Делфи понял куда ему надо и пришел в движение. И минусы не изменят того что по совокупности факторов он уже хорошее решение для многих задач.

                                                        –10
                                                        Изменят. Еще как изменят.
                                                          +1
                                                          Ок поясните пожалуйста =)
                                                          –7
                                                          В Делфи если надо добавить компоненты, в пару кликов все добавляется.

                                                          Да только формошлёпство к сожалению уже давно не используют при написании приложений, все всё больше уходят в сторону QML, XAML подобных решений, хз есть ли что-то подобное в дельфях (вроде FireMonkey подходит)
                                                            +14
                                                            формошлёпство

                                                            Одно единственное слово по которому можно определить разбирается человек в том о чем говорит или нет. Так вот вы — нет. Потому что если бы разбирались то знали, что 70-80% компонентов вообще не визуальные и к интерфейсу никак не относятся.
                                                            QML, XAML

                                                            Разметку и описание формы, можно сделать на любом языке, хоть на китайском. Даст ли это какие то преимущества если Делфи на них перейдет? Да никаких, только батхерт у разрабов. Является ли это преимуществом над кем то? Тоже нет. Это просто еще один диалект. Кто то куда то переходит, ну флаг им в руки камень на шею. Бездумно идя за модой далеко не уйдешь.
                                                              –3
                                                              Потому что если бы разбирались то знали, что 70-80% компонентов вообще не визуальные и к интерфейсу никак не относятся.
                                                              да я знаю что они не визуальные по типу таймера и кучи остального, но темнемение это засирает внутреннее представление (и в дельфи и в C# это раздрожало)
                                                              Даст ли это какие то преимущества если Делфи на них перейдет? Да никаких, только батхерт у разрабов. Является ли это преимуществом над кем то? Тоже нет.

                                                              ну в случае с QML это не просто развёртка но ещё и несложный скриптовый язык, который позволяет проще делать более сложные гуи а также такое разделение позволят дизайнерам работать параллельно от программистов не влезая при этом в ide
                                                                +3
                                                                да я знаю что они не визуальные по типу таймера и кучи остального, но темнемение это засирает внутреннее представление (и в дельфи и в C# это раздрожало)

                                                                О как, а Си и Си ++ и т.д. не засирают ?? ИМХО: всё зависит от кривости рук разработчика, и никакой язык в этом не поможет.

                                                                ну в случае с QML это не просто развёртка но ещё и несложный скриптовый язык, который позволяет проще делать более сложные гуи а также такое разделение позволят дизайнерам работать параллельно от программистов не влезая при этом в ide

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

                                                                  Угу, выглядит как смесь Паскаля с YAML. В D2006, кажется, надо было опцию сохранения в текстовом виде отдельно включать, иначе по умолчанию в бинарном писалось.

                                                                  Вот если б еще генерация этого кода не страдала типовой проблемой — перестановка порядка полей, из-за чего диффы ломаются. (Та же проблема наблюдается, например, у ASCII форматов CAD-программ — PCAD, в частности)
                                                                    0
                                                                    Если что — то в любое время можно любую форму сохранить как в текстовом виде так и в бинарном, в любой версии Делфи. То есть надо текстовая — ок — нажали — сохранилось как текстовая.
                                                                    Порядок полей строго определен, все нормально там с диффами, постоянно использую, удобно.
                                                                      –1
                                                                      Я про умолчания.
                                                                      Раньше в текстовом именно что специально надо было сохранять, а теперь это умолчанием сделали (в RAD Studio 10 по крайней мере).

                                                                      Про порядок полей я, похоже, действительно не прав — перепутал с другими ASCII-форматами визуальных данных (PCAD точно этим страдает).

                                                                        0
                                                                        в дельфи 20 летней давности — чекбокс, в каком формате сохранять во всплывающем меню при клике на форму. раз выставил при создании формы и всегда будет так сохраняться. проблем никаких. и честно признаюсь, иногда куски форм копирую текстом из этих файлов, бывают редкие случаи, когда так проще.
                                                                +3
                                                                D7/BCB6 отличные инструменты для своего времени. Быстро накидать форму, чтобы можно было быстро сфокусироваться на внутренней логике — что еще надо?
                                                                  0
                                                                  а ещё надо компоненты, которых до сих пор нет много где. Ну, как нет — названия есть…
                                                                  Ещё в D5 можно было кинуть пару компонент, а они сами свяжутся, потому что у компонент был интерфейс времени редактирования. Именно из этого подхода J2EE потом выросло и многое, многое другое — но так легко и красиво больше не встречал.
                                                                0
                                                                Клиентская часть для работников банковских/финансовых учереждений состоит на 99% из огромного количества форм. Предлагаете позакрывать их нафиг что бы они не заставляли формы плодить?
                                                                +1
                                                                Не буду спорить. Не цена заоблачная. посмотреть на цены Visual Studio( я молчу про Community) или продукты от JetBrains. Например, net core+Avalonia, такой же кроссплатфом. Ну да, avalonia ещё развивается, но уже стабильно работает. Для мобильных приложений выбор платформ просто зашкаливает и причем абсолютно бесплатных.
                                                                  0
                                                                  Справедливости ради, Avalonia не натив, и придётся тащить за собой рантайм, а из-за этого даже с сжатием и удалением всего лишнего hello world будет весить не меньше 10мб
                                                                    +1
                                                                    Ну давайте, в наше время скоростного инета и терабайтных жёстких, расскажите важность о необходимости экономии 10 мегабайт.
                                                                      +3
                                                                      Нет, давайте ударными темпами приближать тепловую смерть вселенной.
                                                                        +1
                                                                        а ты скачай 10 мегабайт через 2G при плохой связи на скорости 1-2 килобайта/сек. Я лежал в больнице и эта скорость была реально, с частыми обрывами
                                                                          +1
                                                                          Это же не просто блоб какой-нибудь, скачал и выкинул, это же код, который будет ежедневно выполняться на моём процессоре и тратить мною оплаченную электроэнергию. И речь же о пустышке, реальных приложений в 10 МБ сейчас ещё поискать, любая свистелка несколько сотен МБ легко занимает. А, скажем, на смартфоне встроенная память далеко не бесконечна. Мне что, каждый раз смартфон менять из-за того, что кому-то лень было писать компактный код?
                                                                            0
                                                                            Для маленьких проектов это неважно. Для того, что работает на больших enterprise серверах, где одновременно крутится тысячи задач экономия пары мегабайт может быть весьма существенной.
                                                                              0
                                                                              Для маленьких проектов это неважно. Для того, что работает на больших enterprise серверах, где одновременно крутится тысячи задач экономия пары мегабайт может быть весьма существенной.


                                                                              Может.
                                                                              Но там как раз реже заморачиваются, в связи с более сложной обозримостью кода.
                                                                                0
                                                                                Ну да… В бой мимо нагрузочного тестирования поставки не проходят.
                                                                                  0
                                                                                  Ну да… В бой мимо нагрузочного тестирования поставки не проходят.

                                                                                  Всё дело только в оценках — а стоит ли оптимизировать.
                                                                                  Если экономия ресурсов железа отложит вхождение на рынок на полгодика — ни один бизнес в здравом уме не пойдет на это. Запустят проект многожрущим, всё равно это выгодно бизнесу.
                                                                                    0
                                                                                    Зависит от. Экономия ресурсов железа обеспечивает стабильность работы его при больших нагрузках. Игнор оптимизации чреват факапами в периоды пиковых нагрузок. Где-то на это плюют, а где-то это приводит к очень ощутимому ущербу, как репутационному, так и материальному.

                                                                                    Последний случай — сбой в работе Альфа Банка 27-го декабря. Но там все реально сложно было предсказать. Хотя можно, конечно… Технические подробности рассказать не могу, да и слишком сложно это объяснить тем, кто не в курсе как оно все работает. Так что поверьте на слово — проблема была именно в недостаточной оптимизации (и работы в этом направлении будут выполнены и выводы на будущее будут сделаны). Хотя здесь к этому вопросу подход более чем серьезный. Но именно вот этого момента не учли.
                                                                            0
                                                                            10мб — это хеллоу ворлд даже без авалонии. С авалонией, если ещё добавить пару дополнительных библиотек, всякие картинки, файлы для локализации — легко за сотню уйдёт. И это надо для каждого приложения. (но это всё ещё лучше, чем chrome с собой тащить)
                                                                            0
                                                                            У Delphi лицензии разовые, а у JetBrains разве не подписка?
                                                                              0

                                                                              У JetBrains подписка, но с fallback'ом, если она была приобретена на год или больше

                                                                            +2
                                                                            Нормальный редактор

                                                                            Точно лучше clion'а или даже какого-нибудь kdevelop?


                                                                            В Делфи если надо добавить компоненты, в пару кликов все добавляется.

                                                                            Плюсовые тоже?

                                                                              –3
                                                                              А колесики вам не прие*****? Мы тут про Делфи вообщет. Причем тут плюсовые компоненты и каким они раком к Делфи?
                                                                                +3

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

                                                                                  0
                                                                                  Повторю ссылку:
                                                                                  github.com/Fr0sT-Brutal/awesome-pascal
                                                                                  Это все бесплатное, математические пакеты там тоже есть.
                                                                                  На Торри можно посмотреть еще:
                                                                                  torry.net/pages.php?s=100
                                                                                  Но математические пакеты на плюсах проработаны лучше, спорить не буду. Хидеры в помощь :) Подключаемо все.
                                                                                    +1
                                                                                    Хидеры в помощь :) Подключаемо все.

                                                                                    Без оборачивания плюсов в extern "C", со всей шаблонной наркоманией уровня хотя бы eigen/dlib? Вот это действительно интересно.

                                                                                    0
                                                                                    Такс… налицо отсутствие взаимопонимания. Компоненты про которые я написал, это те которые на делфи и для делфи. Они бесшовно итегрируются в IDE добавля готовый функционал, а их код собирается в состав exe файла.
                                                                                    А вы говорите про готовые библиотеки с функционалом. Но и на ваш вопрос есть ответ. Во первых в делфи есть автоматический импорт интерфейсов из библиотек. У вас будет сгенерен файл с заголовками функций которые библиотека реализует, подключаете его к проекту, в рантайме подтягиваете библиотеку, получаете адрес на нужную вам процедуру приводите к типу процедуры и вызываете. Если вам в нескольких программах нужен функционал можно его оформить ввиде компонента и добавлять поддержку либы одним кликом.
                                                                                    Во вторых, если автоимпорт не сработал, можно написать файл самому и подключить его как я выше написал.Причем описывать все не обязательно, можно описать только то что вы будете вызывать.
                                                                                      +1
                                                                                      Да просто когда гуглишь, есть ли библиотека для решения той или иной задачи (работы с графами, хитрого матана, да мало ли), то в основном находишь плюсовые библиотеки.


                                                                                      Наверное просто потому, что Гугль уже подстроился под ваши требования.
                                                                                      Имхо, должно куча под Фортран такого гуглится.
                                                                                    +2
                                                                                    Плюсовые тоже?
                                                                                    У которых есть COM/OLE интерфейс — тоже.
                                                                                      +3

                                                                                      Кроссплатформенность зашкаливает.

                                                                                        0
                                                                                        Так а какие стандартные интерфейсы классов кроме COM существуют? Придумают такие кроссплатформенными — будут и они ставится. Пока что есть. Delphi тут при чем? Что COM'а нигде больше нет кроме винды :)
                                                                                        А если нужны не компонентные обертки, а просто хидеры плюсовых библиотек — то большинство основных переведены и давно.
                                                                                          +3

                                                                                          Я бы и COM стандартным не назвал. Ни на одной из систем, с которыми я работаю и работал за последние лет 10, его нет. COM настолько же стандартен, насколько, не знаю, D-Bus.

                                                                                            +2
                                                                                            В пределах Windows — вполне стандарт.
                                                                                +4
                                                                                Точно на все? Вот на все-все-все?

                                                                                Странно, на на AS/400 (i5/OS, IBM i) C и C++ есть (компилятор встроен в операционку в составе ILE), а Дельфы нету…
                                                                                  +6
                                                                                  А у вас лицензия?
                                                                                    –3
                                                                                    К сожалению — нет.
                                                                                      +1

                                                                                      Community edition же есть. Абсолютно полнофункциональный.

                                                                                        +1
                                                                                        Delphi Community Edition is a great way to get started building high-performance applications for Windows without database. Да полнофункциональный. Да и условия более жёсткие по сравнению с VS например.
                                                                                          +1
                                                                                          Interbase/Firebird работает из коробки. Для других баз можно поставить внешние компоненты, платные или бесплатные (Zeos, например).
                                                                                            +1
                                                                                            И, да, не только Windows. Телефонный пак входит в комплект CE.
                                                                                            0

                                                                                            Он не полно функциональный, там много как технических, так и юридических ограничений касательно того, когда его можно использовать.

                                                                                              +2
                                                                                              Технически он полнофункциональный на уровне Professional версии. Юридически ограничение одно — доход с разрабатываемого ПО не должен превышать $5000.
                                                                                                0
                                                                                                За какой период?
                                                                                                  +2
                                                                                                  За год.
                                                                                            +3
                                                                                            Вы получаете деньги разрабатывая софт на пиратской версии?
                                                                                              0
                                                                                              и что. у многих никогда не было лиценции на винду, фотошоп да кучу всего.
                                                                                                +1

                                                                                                И?

                                                                                                  +4
                                                                                                  и все хорошо. в мире есть Гораздо большее зло чем пирацский софт. он есть был и будет
                                                                                        +1
                                                                                        Прикольно.
                                                                                        Старый вариант, который был просто «No.» только лаконично отвечал на поставленный вопрос.
                                                                                        Ещё можно было написать более явно:
                                                                                        const IsDelphiDying = false;

                                                                                          +13

                                                                                          Я бы не был так уверен, все таки лучше как var объявить

                                                                                            +2
                                                                                            Все верно, старый сайт был с No.
                                                                                            И второй аналогичный тоже с No.
                                                                                            Но где-то я видел еще один вариант с False, поэтому собственно посчитал его более логичным с программистской точки зрения.
                                                                                            +9
                                                                                            Delphi вполне себе живет, развивается и соответствует текущим трендам разработки ПО

                                                                                            Что ж вы свой сайт на PHP сделали, а не на Delphi

                                                                                              +15
                                                                                              Сайт я сделал на HTML.
                                                                                              Ибо ни к чему это микроскопом забивать гвозди…
                                                                                                0
                                                                                                Как же я плохо знаю HTML…
                                                                                                  0

                                                                                                  Справедливости ради — сайт написан на JS, хотя можно было и без него.

                                                                                                0
                                                                                                Delphi уже, к слову, умеет в веб: UniGUI, TMS Web Core с помощью сторонних библиотек, понятно (Ext JS для первого пака), или транспилляции (у второго пака).
                                                                                                Лазарус умеет собирать в WebAssembly.
                                                                                                    0
                                                                                                    Перешёл по ссылке — аж слезой от воспоминаий прошибло;) ...20 лет назад… ё-моё…
                                                                                                      +1
                                                                                                      Помнится, первый CGI писал ещё на Turbo Pascal 7.0.
                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                        0
                                                                                                        Не умеет в Linux, и неизвестно когда научится
                                                                                                        Обещают в этом квартале. Уже почти.
                                                                                                        Забавно, но у них самих сайт работает на ASP.NET, судя по хедерам. С кросплатформенностью тоже непонятно.
                                                                                                        Не всё сразу.
                                                                                                        Ценник в целом конский и у тех и у тех.
                                                                                                        Ценник в Унигуе предполагает годичный саппорт. Можно хорошо напрягать саппорт на форуме и мылом, дают готовые решения совершенно бесплатно. Чем все постоянно и пользуются (ссылку кидать не буду, есть с их главной страницы). Так что ценник более чем оправдан.
                                                                                                      0
                                                                                                      сыроедофф.рф на Аде. Довольны?
                                                                                                      –3
                                                                                                      А каков посыл статьи?
                                                                                                      Автор хочет сказать, что пишет на Delphi? — каждый сам волен выбирать удобный ему ЯП
                                                                                                      Автор хочет рассказать, что он купил освободившийся домен? — если про это каждый будет создавать статьи на хабре, то сайт будет забит подобными статьями без смысловой нагрузки.
                                                                                                      Автор хочет сказать, что Delphi жив? — Пусть живет. Пока компаниям требуются другие языки жив он или мертв большинству людей безразлично.
                                                                                                        +3
                                                                                                        эээ посыл такой:
                                                                                                        SEO оптимизатор

                                                                                                        был приобретен домен «isdelphidying.com»

                                                                                                        теперь вот статья

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

                                                                                                          И думаю не я один такой, поэтому решил поделиться данной новостью со всеми причастными — все-таки язык был весьма популярен в свое время, и за одно это к нему нужно относиться с уважением.
                                                                                                          +5
                                                                                                          Delphi реально умер, но воскрес в виде Франкинштейна — Lazarus.

                                                                                                          Иногда тёмными ночами, пользуясь тёмной некромантией, поднимаю Delphi 7 на виртуалке и кодю на нём родимом, ибо адепт тьмы.
                                                                                                            0
                                                                                                            а зачем на виртуалке? он под вайном нормально работает )
                                                                                                              +1
                                                                                                              Дополню.
                                                                                                              Есть возможность собирать консольные приложения под линукс «из коробки».
                                                                                                              При покупке платных компонентов от третьей стороны можно уже собирать нормальное приложение с формочками и всем этим.
                                                                                                              Работает на Убунте и на Астре, на остальных не проверяли.
                                                                                                                0
                                                                                                                Сравнительно несложные VCL-приложения мы давно под Вайн запускали. Но CrossVcl конечно совсем другой уровень эмуляции. Пашут как родные.
                                                                                                                  +1
                                                                                                                  Уже набор компонент для гуя Линукса включен «в коробку»:
                                                                                                                  docwiki.embarcadero.com/RADStudio/Rio/en/FireMonkey_for_Linux
                                                                                                                +1

                                                                                                                В Дельфях теперь тёмная тема есть из коробки.

                                                                                                                0
                                                                                                                Delphi жив… Будет ли возможность размещения статей на этом сайте www.isdelphidying.com? Есть интересный материал…
                                                                                                                  +1
                                                                                                                  Это просто заглушка с оповещением, так сказать.

                                                                                                                  Для размещения статей существует куча ресурсов, взять хотя бы сайт со статьей про известные программы на Д, из ссылки в стартпосте…
                                                                                                                    +3
                                                                                                                    А в чём проблема размещать на хабре?
                                                                                                                      +1
                                                                                                                      А про возможности Delphi здесь будет интересно? Здесь люди все больше интересуются готовыми решениями
                                                                                                                        0
                                                                                                                        Думаю, будут интересны статьи. Посмотрите на плюсы — Дефли тут явно любят, и это хорошо.
                                                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                      +6
                                                                                                                      Работаю в компании которая более 20 лет в своей работе использует как средство разработки Delphi 4. Перенести на современную платформу ту тонну кода, не останавливая работу предприятия просто невозможно, (ооо-чень дорого).

                                                                                                                      Поэтому, просто вносишь правки в систему под текущее законодательство. Переносить современные концепции в старый код та ещё некромантия.

                                                                                                                      Выше была шутка по веб-браузер на Delphi, так вот, в нашем проекте такое есть, большинство отчётов на html (правда без javascript). Зато всё летает на таком железе что устарело ещё в прошлом десятилетии.

                                                                                                                      Но это мелочи, у нас есть контрагент ИП, учётная система которого написана на турбопаскале, под dos, с матричной печатью, более 25 лет непрерывной работы.
                                                                                                                        0
                                                                                                                        Кое-где ещё ЕС-ЭВМ работают, правда в эмуляторах, понятное дело.
                                                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                            +1
                                                                                                                            Кое-где ещё ЕС-ЭВМ работают, правда в эмуляторах, понятное дело.
                                                                                                                            Блин, я готов поспорить, что переписать его на каком-то современном стеке окупилось бы довольно быстро. Тогда и либы приходилось писать с нуля и код писался не так уж и быстро
                                                                                                                              +1
                                                                                                                              Блин, я готов поспорить, что переписать его на каком-то современном стеке окупилось бы довольно быстро.


                                                                                                                              А вот и напрасно.

                                                                                                                              Поинтересуйтесь историей развития системы продажи авиабилетов «Сирена».

                                                                                                                              Она успешно стартовала еще на тех старых машинах, но потом их сняли с производства и оказалось гораздо выгоднее написать именно эмулятор.

                                                                                                                              На эмуляторе система продажи авиабилетов и работала пока не пришла пора создать новое поколение ПО.

                                                                                                                              Обратите внимание, переписать не потому, что нужно оказалось новое железо (это и эмулятор решал). А переписать потому, что понадобилось решать новые прикладные задачи, для которых старая система была не приспособлена.

                                                                                                                              Вот только тогда и стало выгодно всё переписать с нуля.
                                                                                                                                0
                                                                                                                                Ну не только Сирена… У той же Gabriel, если не ошибаюсь, ядро до сих пор на мейнфреймах крутится, менялись только клиентские терминалы.
                                                                                                                                0
                                                                                                                                Зря. Там очень навороченная АСУП, охватывающая практически все области деятельности крупного машиностроительного предприятия. Учёт всего и вся, номенклатура изделий, деталей, продукции, материалов. Логистика и вот это вот всё. Вообщем без потерь переписать это всё на современном стёке технологий будет стоить очень многие сотни нефти.
                                                                                                                            0
                                                                                                                            Хм… ладно, с опенсорсом все плохо
                                                                                                                            Замечу, что оупенсора под Делфи хватает. Не только количество реп стоит смотреть. Основной оупенсор существует для решения большинства проблем:
                                                                                                                            github.com/Fr0sT-Brutal/awesome-pascal
                                                                                                                              –2
                                                                                                                              hh.ru, Москва, открытых вакансий
                                                                                                                              Java — 2520
                                                                                                                              C# — 1179
                                                                                                                              Delphi — 129

                                                                                                                              hh.ru, Санкт-Петербург, открытых ваканий
                                                                                                                              Java — 1166
                                                                                                                              C# — 442
                                                                                                                              Delphi — 48

                                                                                                                              Сравниваем с ближайшим языком по нише — плюсами, hh.ru, Россия:
                                                                                                                              312 вакансий «программист delphi»
                                                                                                                              452 вакансии «программист c++»
                                                                                                                              Java занимает намного большую нишу, тут спорить не буду. Пока что так.
                                                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                  –3

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

                                                                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                      –1
                                                                                                                                      Дело в том, что ни кто ни с одним из таких как вы не спорит, что на Delphi сейчас мало вакансий. Да это так и этому есть вполне объяснимая причина, но она ни в том, что Delphi не поддерживает «шаблоны» или что язык в целом плох, а в том, что застой на протяжении нескольких лет сказался ожидаемо не хорошо на популярности языка. Я уверен на 90%, что каждый из тех, кто утверждает, что Delphi умирает, говорит о среде Delphi 7, которой уже ни много ни мало 18 лет, совершенно не представляя, какого прогресса достигла новая среда под руководством абракадабры (Embarcadero). От Delphi ушли разработчики именно по тому, что других сред разработки (мощных, самодостаточных) нет кроме официальной от, на тот момент Borland и Embarcadero сейчас. Бессмысленно спорить о том, что «Delphi не популярен», да, он не популярен, но он не популярен не потому что он плох.
                                                                                                                                      Более того, его популярность растёт. Не в ваших кругах, пока, но растёт. Ещё вернёмся к этому разговору, поверь.
                                                                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                          –1

                                                                                                                                          Я говорю о росте популярности, т.к. его вижу напрямую. И это не касается студентиков и к слову, их запросы на популярности не особо сказывются, т.к. они в 100% случаев гуглят Паскаль.
                                                                                                                                          Я говорю о вновь растущем комьюнити. Я общаюсь с теми, кто использует, я помогаю тем, кто спрашивает. Я вижу контент разработчиков и партнёров на канале в Ютуб. Ну и конечно, я вижу развитие.
                                                                                                                                          За не большое время, в среде появилось масса всего. Достаточно зайти на канал и вы увидите. Rest, doker, веб-технологии, mvc, orm и прочее. Сильный скачек кроссплатформенного фреймворка FireMonkey, поддержка свежего оборудования и дак далее и тому подобное.

                                                                                                                                            –4
                                                                                                                                            Какой идиот ставит по кд минусы? Хоть бы объяснился, обоснуй свои минусы.
                                                                                                                                            Или «Эммм эээээээээ мэээ ээээээ ммммээээээ, он за Delphi, мэээ эммм, моё мнение не совпадает с его, эЭэээЭэЭэЭ, поставлю минус»?
                                                                                                                                              –2
                                                                                                                                              Это, увы, обычная практика на хабре. По популярности — загляньте на телеграмм канал t.me/Delphi_Lazarus
                                                                                                                                              там что называется яблоку негде упасть :) разговоров не меньше чем на Питоне.
                                                                                                                              +5
                                                                                                                              У нас ключевая система предприятия на Deplhi 6. Говорят лет 10 похороны устраивают и пока жив… Но есть серьезные проблемы. На рынке разработчиков днем с огнем не сыскать.
                                                                                                                              Была даже ситуация когда не могли зарелизится и ждали одного разраба из отпуска.
                                                                                                                              Так что увы… Разработчиков все меньше, технология умирает.
                                                                                                                                0
                                                                                                                                На дельфях мало вакансий и зарплата ниже. Поднимайте зарплату — будут вам разработчики.
                                                                                                                                Вакансий по Kotlin на hh в 2 раза больше, высокооплачивемых (более ≈ 190-220 т.р.) в ≈ 14 раз.
                                                                                                                                  +7
                                                                                                                                  Дело не только в зарплате. Ну допустим сидит у нас .net разработчик и delphi разработчик.
                                                                                                                                  -Как только нужно планировать обучение на следующий год .net разработчик сразу же кидает начальству 10-к крутых курсов. Delphi разработчик грустит.
                                                                                                                                  — .net разработчик ездит на конференции, ходит на митапы, рассказывает про новые плюшки языка или про тех самых идиотов, которые слили проект. Delphi разработчик грустит
                                                                                                                                  — Delphi разработчик потихоньку читает руководство по C#, потихоньку ходит на митапы и вливается в C# тусовку.
                                                                                                                                  — В конце-концов Delphi разработчик приходит к начальству и просит либо перебросить его в команду .net либо он сам это сделает но в другой компании
                                                                                                                                    +2

                                                                                                                                    Платите delphi разработчику на 50% больше c# и всё будет хорошо :)
                                                                                                                                    Конечно на самом деле всё хуже, проблема отсутствия роста и проблем с поиском нового места в случае чего ( а это чего может случиться в самый неподходящий момент ), очень серьёзно заставляет смотреть в сторону "массовых" технологий, т.к. это некая страховка от полуголодной жизни (причём не только для себя). Вот если бы работодатель купил "страховку" от невозможности найти тот же уровень дохода в случае если работник вдруг станет не нужен, тогда бы можно было и с Дельфи спокойно работать

                                                                                                                                      0
                                                                                                                                      Конечно на самом деле всё хуже, проблема отсутствия роста и проблем с поиском нового места в случае чего ( а это чего может случиться в самый неподходящий момент ), очень серьёзно заставляет смотреть в сторону «массовых» технологий, т.к. это некая страховка от полуголодной жизни (причём не только для себя).


                                                                                                                                      Это страхи начинающих программистов…

                                                                                                                                      Меня вон уже лет 10 никто из «власть придержащих на фирме» (кроме коллег изредка, да и то из любопытства, а не директивно, мол, надо делать так) не спрашивал — а какие именно технологии, языки и пр. я использую для решения той или иной задачи. А 20 лет назад как мне уже прекратили указывать что именно использовать в том или ином случае.

                                                                                                                                      Заказчику/нанимателю всё равно, если вы уже достигли достаточного профессионального уровня: вам просто ставится прикладная конечная задача, а не «напишите цикл и условный оператор на языке X».

                                                                                                                                      Можете конечно написать:
                                                                                                                                      «а когда вы придете на фирму, где определенные технологии и от вас потребуют оставаться в рамках этих технологий»
                                                                                                                                      то я вам отвечу:

                                                                                                                                      1) Вы же не раб, вы можете выбирать куда идти работать, а куда не идти. Выбирать именно то место, где возможно использовать то, что вы умеете/знаете.

                                                                                                                                      2) Переключение технологий в масштабе мира происходит не мгновенно, ваши коллеги тормозят так же как и вы. У вас есть куча шансов выбрать интересующую технологию и изучить её заранее. Если вы опытный программист, то профессиональное переориентирование занимает смешные 1-2-3-4 месяца, которые вы можете неспешно и заранее потратить. Другое дело, если вы 20 лет на жопке ровно просидели… тут будут проблемы, согласен.

                                                                                                                                      3) Ключевыми и сложно изучаемыми навыками являются понимания концепций, паттерной, алгоритмов, принципов. А также прокачка умения оговаривать для себя лучшие условия оплаты труда при найме. Языки же и т.п. — это ерунда, это всего лишь инструмент. Если вы умеете пользоваться крестовой отверткой, то и шестигранником сможете научиться за смешное время.

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

                                                                                                                                        Не будет вас — кто сможет доработать ваш код?
                                                                                                                                        Случись что на бою — сможет сопровождение решить проблему в ваше отсутствие?

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

                                                                                                                                        У нас, к примеру, платформа IBM i (бывш. AS/400) на серверах IBM Power9. Инструментарий на бэке — основной язык RPG. Часть модулей пишется на C/C++ (большинство разрабов владеют и тем и другим) — там, где решение задачи на C/C++ будет эффективнее. Немножко пишется на CL.

                                                                                                                                        И всегда есть гарантия, что один разработчик разберется и сможет доработать или поправить дефект в коде другого. Тут редко бывает чтобы кто-то годами тянул одну задачу. Есть деление по командам тематическое, но внутри команды любой может подхватить работу другого при необходимости.
                                                                                                                                          –5
                                                                                                                                          Всё, о чем вы написали — относится только к начинающим специалистам.
                                                                                                                                          Которые и не могут диктовать условия — что за технологии использовать на фирме.

                                                                                                                                          И если ты полный новичок — то еще и сталкиваешься с проблемой поиска работы. Это в самом-самом начале карьеры…

                                                                                                                                          А я вам пишу — об опытных.

                                                                                                                                          Не будет вас — кто сможет доработать ваш код?
                                                                                                                                          Случись что на бою — сможет сопровождение решить проблему в ваше отсутствие?


                                                                                                                                          Это как раз моя проблема — обучать других технологиям, что выбрал я.
                                                                                                                                          Еще раз:
                                                                                                                                          У опытного разработчика — нет такой проблемы, как делать на тех технологиях, что заставляют использовать «сверху».
                                                                                                                                          Он сам — «сверху» и сам определяет чем будут пользоваться младшие коллеги.

                                                                                                                                          В крупной конторе есть набор используемых инструментов

                                                                                                                                          На это я сразу ответил заранее.
                                                                                                                                          Но повторю для невнимательных: вы вольны выбирать себе контору, что подходит вам, а не прогибаться под то, что вам не интересно.
                                                                                                                                          Если вы действительно специалист, а не просто себя таковым мните.
                                                                                                                                            +5
                                                                                                                                            Насколько крупна контора где вы работаете? И как часто вам приходитт на доработку сратый код, написанный кем-то другим?

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

                                                                                                                                            Как думаете, могу я тут сказать «а я выбираю дельфи»? Нет, не могу. Потому что ее тут нет. Вся АБС написана на RPG на платформе IBM i. И немного на С/С++ Ну еще часть на CL. И именно это определяет выбор инструмента.

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

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

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

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

                                                                                                                                              У вас же там не пожизненное рабство? Не?
                                                                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                                  0
                                                                                                                                                  Здесь люди решили дополнить C# своим ПО. Можно было взять Ada/SPARK.
                                                                                                                                                  Новичку нужно будет осваивать это своё ПО. Или — искать человека со знанием редкой технологии. Что лучше — неизвестно.
                                                                                                                                                    0
                                                                                                                                                    Этот язык был не Delphi, ведь так? (старый проект)
                                                                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                                  0
                                                                                                                                                  Насколько крупна контора где вы работаете? И как часто вам приходитт на доработку сратый код, написанный кем-то другим?


                                                                                                                                                  Дело не где. Дело — и где и кем. После 30 лет опыта работаю тем, кто всё определяет.

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

                                                                                                                                        На самом деле, по достижении некоторого уровня и опыта перейти с одного языка на другой или с одной платформы на другую совсем не так сложно как кажется поначалу. Устрицы…
                                                                                                                                        +1
                                                                                                                                        На рынке разработчиков днем с огнем не сыскать.
                                                                                                                                        По собственному опыту, разработчики переучиваются за месяц-полтора. Простой и надежный синтаксис и удобная среда сильно помогают.
                                                                                                                                          +2
                                                                                                                                          Зачем они это делают, ведь вакансий очень мало и средняя зарплата существенно ниже, чем для C++, C#, Java?
                                                                                                                                            0
                                                                                                                                            Все те вакансии, что я видел по Делфи были с зарплатами либо средними по рынку, либо выше. Мы платим разработчикам примерно среднюю по нашему местному рынку (не Москва, если что).
                                                                                                                                              +1
                                                                                                                                              Молодцы, но вы не оказываете существенного влияния на рынок. Соискателю придётся иметь дело с такой печальной статистикой:
                                                                                                                                              image
                                                                                                                                              image
                                                                                                                                              image
                                                                                                                                              image
                                                                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                                  0
                                                                                                                                                  Молодцы, но вы не оказываете существенного влияния на рынок. Соискателю придётся иметь дело с такой печальной статистикой:
                                                                                                                                                  Посмотрите запросы так: программист Delphi и программист C++ (шотить не буду, можете проверить):
                                                                                                                                                  449 вакансий «программист с++»
                                                                                                                                                  316 вакансий «программист delphi»
                                                                                                                                                  То есть с ближайшим 'конкурентом', нативными плюсами — разница незначительная. Да, на управляемых языках вакансий больше. С C++ же Делфи идёт почти вровень.
                                                                                                                                                  При этом никто не орёт о том, что Плюсы умирают, а про Делфи я это слышу уже 20 лет :) Парадокс.
                                                                                                                                                    +2
                                                                                                                                                    Посмотрите запросы так: программист Delphi и программист C++ (шотить не буду, можете проверить):

                                                                                                                                                    Почему так? если некоторые пишут Разработчик С++ или просто Senior C++.
                                                                                                                                                    если просто писать язык то получается дельфи — 500 С++ — 3000 разница уже существенная
                                                                                                                                                      –1
                                                                                                                                                      С++ даёт грязную выборку:
                                                                                                                                                      Team Lead: разработка мобильного клиента для платформы CommuniGate
                                                                                                                                                      Программист iOS (Swift)
                                                                                                                                                      Программист JavaScript (WebGL)
                                                                                                                                                      Python разработчик / Python software developer
                                                                                                                                                        +2
                                                                                                                                                        на hh есть фильтр «только в названии» если искать по языку с этой опцией то получается
                                                                                                                                                        Delphi Россия 87
                                                                                                                                                        C/C++ Россия 1242
                                                                                                                                                        С++ Россия 772
                                                                                                                                                        Что существенно. Но это тоже не правильно получается потому что не все пишут язык в названии например Game Developer
                                                                                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                                +1
                                                                                                                                                На рынке разработчиков днем с огнем не сыскать

                                                                                                                                                За копейки? Конечно, нет.

                                                                                                                                                На просторах СНГ Delphi было мегапопулярной платформой в начале века. Тех, кто умеет с ней работать — очень много. И сейчас они опытные разработчики (конечно, большинство переключилось на другие платформы разработки).

                                                                                                                                                А популярной была из-за великолепной концепции RAD — быстрое написание программ. Обучить новичка под Delphi — не сложно. Неважно на чём писал новичок до того.

                                                                                                                                                Так что «отсутствие специалистов» — не верю.
                                                                                                                                                Всегда можно и человека с огромным опытом нанять. И новичка обучить недолго.

                                                                                                                                                Полагаю 2 причины:
                                                                                                                                                1) Деньги зарплатные малы.
                                                                                                                                                2) Нет того человека, кто бы целенаправлено проводил кадровую политику, с обучением и пр.
                                                                                                                                                  +3

                                                                                                                                                  Ради интереса, уже много лет подписан на 2 ключевых слова delphi и firebird, и почему-то половина вакансий сильно не изменилась (в т.ч. и по з.п.) т.е. это теже компании что и 5-7 лет назад и теже адреса, по факту вакансий нет.

                                                                                                                                                  +2

                                                                                                                                                  По хардкору надо было сделать сайт на Delphi. А так… Не интересно.

                                                                                                                                                    +1
                                                                                                                                                    Ну, вообще-то на дельфи «сайт» не написать, можно только бэкенд сайта.

                                                                                                                                                    В данном случае, судя по фразе автора "Сайт я сделал на HTML", бэкенд отсутствует. То есть представляет собой программу с пустым кодом. А про пустой код, как известно, можно сказать, что он написана на всех сразу языках — в том числе и на Дельфи.
                                                                                                                                                      0
                                                                                                                                                      Ну это прям какой-то квантовый язык. ;-)
                                                                                                                                                        +1
                                                                                                                                                        Это отнюдь не рокет сайенс квантовая физика, а простая математика — пустое множество является подмножеством всех возможных множеств.

                                                                                                                                                        И кстати, формально пустая программа является квайном, но ее специально исключают из этого класса.
                                                                                                                                                        0
                                                                                                                                                        Ну, вообще-то на дельфи «сайт» не написать, можно только бэкенд сайта.

                                                                                                                                                        Unigui, TMS Web Core
                                                                                                                                                          0
                                                                                                                                                          Ну так они оба дают архитектуру фронтенд на JS + бекенд.
                                                                                                                                                            0
                                                                                                                                                            Но все проектирование и работа с кодом идет на Delphi. То есть знания HTML/CSS/JS и верстки не нужно вообще. Хотя знание может улучшить внешний вид и слегка поведение.
                                                                                                                                                            Я вот как раз не знаю фронт (но, правда, отлично, побайтно и сильно многопоточно, знаю бэк), однако это не помешало создать три приложения с больше чем ста формами на унигуе. Саппорт слегка помогал, но 99% делал сам.
                                                                                                                                                              0
                                                                                                                                                              А, ну если так, то пожалуй да.