Умер ли Delphi?

    Для тех, кого волнуют ответы на вопросы: «Умирает ли Delphi?» и «Мертв ли Delphi?» открылось целых 2 сайта (об этом написано в интернете, значит так оно и есть):

    http://www.isdelphidying.com/

    http://www.isdelphidead.com/

    p.s. это шуточный пост. =)


    прислал gunsmoker. Кстати, очень рекомендую полистать его блог (ближе к концу первой страницы) — там очень много серьёзных и качественных статей об устройстве Delphi.

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 5 825 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

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

    • НЛО прилетело и опубликовало эту надпись здесь
        +1
        об этом написано в интернете, значит так оно и есть =))

        Это же не всерьёз, на самом-то деле.
      • НЛО прилетело и опубликовало эту надпись здесь
          0
          У меня вопрос — а чем в настоящий момент отлисаются C++Builder и Delphi? По-моему только "->" vs ".". Ну плюс Delphi комфортнее работает с OLE-компонентами
            +3
            А причем тут билдер? :) Это одно и тоже, кроме того билдер умер уже давно, а делфи еще трепыхается из-за кучи старого наследия. А уж паскаль несчастный раздули до непонятно чего.

            Если уж вы задаёте вопрос, то интересуйтесь лучше чем делфи отличается от СШарпа, либо от С++, либо от явы.
              +1
              Я все еще считаю Билдер вполне удобным языком (средой?) для написания интерфейсов.
              Это если говорить именно про C++.
              Я не склонен спорить насчет того, что из языков лучше — каждый выполняет свои задачи.
              Мне удобно и комфортно писать на C++ с использованием WinAPI в C++Builder'е, а посему я не считаю, что он мертв…
            +1
            Да.
            • НЛО прилетело и опубликовало эту надпись здесь
                –10
                А чем хорош C#? Точнее не так — чем он лучше Delphi? Мне, например, не нравится.
                • НЛО прилетело и опубликовало эту надпись здесь
                    –7
                    Безопасность… Спорно.
                    Сборщик мусора — я как-то привык сам за собой убирать, поэтому для меня это не актуально.
                    Базовый набор классов, насколько я помню, намного меньше чем в Delphi.

                    Вообще, выбор языка — дело не благодарное. Все зависит от предпочтений. У меня C# вызывает рвотный рефлекс.
                    • НЛО прилетело и опубликовало эту надпись здесь
                        –4
                        Я знаю и про то, как обеспечивается безопасность, и про сборщик мусора.
                        И то, и другое, кстати, влияет на скорость работы приложения.

                        >Кроме этого, возможно применение алгоритмов, когда достаточно обнулить все ссылки на объект и он сам будет разрушен.

                        В Delphi для этого есть FreeAndNil.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          0
                          Если утечек много — это явный сигнал того, что код написан скверно. Чаще же всего утечки являются просто следствием забывчивости при освобождении переменных. В остальных случаях — наличие утечек являются хорошим сигналом для того, чтобы отрефакторить код, и чаще всего такие утечки свидетельсвтуют о более серьёзных проблемах с перезаписью указателей.
                          • НЛО прилетело и опубликовало эту надпись здесь
                              +1
                              В принципе да.

                              К слову о безопасности. Не всё там плохо. Менеджер памяти в Delphi программе может быть запросто заменён другим, и выбор есть. Совсем недавно появился новый — SafeMM, позволяющий определять обращения к освобождённым блокам памяти, а также попытки перезаписи уже занятых блоков.
                              • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Сталкивался с ситуацией, когда сборщик не успевал освобождать память и код вылетал с переполнением. Даже при принудительном запуске сборщика и явной пометке объектов для удаления.
                            Не сказал бы, что в тот момент это мне сильно упростило программирование. :)
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0
                                Решением проблемы стало приостановка выполнения потока, до завершения работы сборщика.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                    0
                                    Поток один.
                                    Кусок кода в котором была ошибка элементарный и без ветвлений. Один цикл по маске файла в директории. В нем используются два битмапа. В один считываются тяжелые тифы (десятки мегабайт). Второй используется как временный. В него берутся куски исходного, преобразовываются простым способом и сохраняются на диске в jpeg.
                                    При выполнении на директории с большим количеством файлов не под отладчиком процесс за минуту-две сжирал память и вылетал с эксепшеном.
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                        0
                                        Чтобы не мусорить тут отправил в личку.
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                          • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      Да как вообще можно сравнивать .net и delphi, один компилится в байткод, другой в исполняемые программы. Если так сравнивать, то скорее уж c# vs java и delphi vs c++
                        0
                        c++ умеет компилироваться в байткод и исполняться в виртуальной машине(llvm), так же как и C#/Java можно собрать как кусок нэйтив инструкций(mono, gcj), да и делфи умеет генерить CIL байткод для .NET
                        • НЛО прилетело и опубликовало эту надпись здесь
                      +1
                      Я бы стал. У меня слишком много наработок на этом языке, чтобы так запросто от него отказаться.

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

                      п.с. хотя, конечно, многое зависит от типа проекта. Для RIA выбирать Delphi я не стал бы, а вот Desktop-ное приложение — самое то.
                        0
                        Мешает начинать новые проекты на том же C# другой синтаксис, к которому надо привыкать и себ я перестраивать. А потом если вернуться в проекту на Delphi — это ж ужас, когда ставишь = вместо := и думаешь, чего же это ошибки то есть.

                        А вообще в руках мастера почти люым инструментом можно выполнить задачу, вопрос ли в удобстве самого инструмента для мастера. Говорят, что китайцы рис едят палочками быстрее, чем мы ложкой )
                        0
                        Да — если мне нужен нативный код.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Да ну? И сколько будет весить «нативный» дистрибутив, не требующий фреймворка или JVM?
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0
                                Поясняю. Основное преимущество нативных приложений — скромные требования к ресурсам и малый объем дистрибутива.
                                Могут ли им воспользоваться скомпилированные в нативный код Java и C#?
                                • НЛО прилетело и опубликовало эту надпись здесь
                                    0
                                    Ясно, на простой и понятный вопрос вы в первый раз прямо ответить не смогли или не захотели.
                                    Но я могу его повторить: могут ли Java и C# при компиляции в нативный код воспользоваться традиционными преимуществами нативных приложений — малые размеры дистрибутива и малые требования к ресурсам?
                                    Я не спрашиваю, считаете ли вы эти преимущества значимыми и мне известно, что такое JIT.
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                    0
                                      0
                                      Это тоже ответ не на мой вопрос и я в курсе, что это такое.
                                        0
                                        Если в курсе, то почему задаёте подобные вопросы? Или вам кажется, что если aot компилятор скомпилирует приложение, то ему потребуется тянуть за собой всевозможные библиотеки, которые он не использует?
                                        Так и делфийские приложения тянут за собой всякие vcl. А голый компилятор делфийский без готовых компонент — это несерьёзно, даже самая примитивная оптимизация отсутствует.
                            0
                            Да. Для трехзвенки можно сервер приложений на призме, клиентов — на Win32.
                            • НЛО прилетело и опубликовало эту надпись здесь
                            +6
                            Какие то на этих сайтах аргументы тухлые
                              +4
                              Я не морщась глазом многие вещи до сих пор сделал бы на старом Delphi 7 :-)
                              Особенно мелкие утилитки.
                                0
                                А большие?
                                Я вот на Delphi 7 до сих пор пишу — привычно. Даже Delphi 2007 IDE пришлось перенастраивать для удобства, чтоб было как в 7 )
                                +5
                                Они забыли зарегить isdelphialive.com. Сейчас кто-нибудь подсуетится и тоже сделает страницу с «No».
                                  0
                                  Язык неплохой, как мне кажется, однако я недавно столкнулся с ИДЕ под него, называется CodeGear RAD Delphi 2009 (или что-то вроде этого). Так вот ребята, это иде как я понял, наследник борландовской ИДЕ. Тихий ужас. Ошибки возникают в самых неожиданных местах, к примеру пару раз ИДЕ портила код, когда я простым добавлением эвента по двойному клику мыши пытался создать обработчик. В 2009 году ИДЕ выдает ошибки на перегруженные методы обработчики c более точным типом (к примеру, вместо onClick(TObject) -> onClick(TButton)), хотя код работает (пришлось прибегать к касту на TButton, иначе при каждом(!) сохранении и запуске мне сыпалось около 12 окошек с ошибкой). Ну и я так и не нашел кнопок автоформатирования кода и опции, по которой выделеные фрагменты нормально двигались бы табом и шифт+табом (может быть плохо искал, но в 2009 году удалять выделенный текст нажатием на Таб… как-то не очень)

                                  Посмотрел ради интереса на несколько OS — проектов на Делфи, вроде бы язык используют, даже кроссплатформенное что-то пытаются писать.

                                  В любом случае, удачи языку, если бы его изучали в полном объеме в школах (ООП, механизмы языка, помню было что-то там вроде RTTI еще в 7ке, и какой-то интересный механизм условной компиляции), а не на уровне «Тэформ онклик мышкой по буттону», то был бы отличной заменой дедушке Паскалю.
                                    +3
                                    Ctrl+Shift+i сдвинуть блок влево
                                    Ctrl+Shift+u сдвинуть блок вправо
                                    Было
                                      0
                                      В 2010 версии автоформатирование уода появилось, а что ужасного в том, чтобы в обрпботчике один(!) раз написать (TButton*)? Ну может это не очень удобно, но ничего катастрофичного нету!
                                        0
                                        Нет конечно, ничего смертельного нет, просто писал под впечатлением, поэтому столько раздражения.
                                        0
                                        Упомянутые вами ошибки не являются частью стандартной поставки Delphi, и были установлены отдельно. Вы уверены что использовали лицензионную копию?
                                          +3
                                          Недавно я пересел с любимого феррари на камаз. Это тихий ужас! Колеса слишком большие, багажника нет. и емае, коробка передач, коробка передач! И где мои любимые зеленые лампочки на руле?
                                          В общем скажу я вам, камазы — это не для тру пацанов

                                          О чем это я? Вот сяду я ща на какой нибудь эклипс с привычной Delphi IDE — и начну ужасаться. Мол ой, а тут вот это не как в делфи. а тут -о ужас! — совсем не как в делфи!

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

                                          Вообще, топик неизбежно превращается в холивар «почему моя среда/язык/ос/страна лучше, чем делфи». Мне вот лично пофиг на мейнстримовый шарп или objective C. Или питон. Есть люди, которые на нем работают и получают хорошие деньги. Я им завидую, честно. Но в кокретный данный момент они меня не интересуют, потому что мне приятно и удобно работать в среде Delphi, которую я знаю довольно хорошо
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                            • НЛО прилетело и опубликовало эту надпись здесь
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                        +2
                                                        глупости.

                                                        1) Total — платная программа с закрытыми исходниками.
                                                        2) Total Commander имеет хорошо продуманную архитектуру плагинов и тысячи продуманных мелочей.
                                                        3) Если тебе удасться написать Total Commander на AIR+extJS, то можешь смело претендовать на премию Дарвина.

                                                        п.с. и нечего сравнивать твою «якобы» написанную систему с хорошо известной и зарекомендовавшей себя программой.
                                                          +1
                                                          блин, повёлся на тролля :(
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                              0
                                                              Извините, молодой человек, если обидел. Я заглянул в ваш профиль и посмотрел на вашу репутацию. Судя по вашей репутации вы предпочитаете конфликтную стратегию поведения. Если это не троллизм, то что?
                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                  +2
                                                                  Хорошо, убедили. Вы не тролль.

                                                                  п.с. помимо того, чтобы говорить то что думаете, ещё неплохо бы и думать что говорите. =)
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                              0
                                                              Судя по тому, что популярных файловых менеджеров для Windows сравнимых по функционалу и расширяемости всего два (Total Commander и FAR), проблемы в написании хороших программ такого рода всё-таки существуют.

                                                              Я рад что вы со мной согласны. =)
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                    0
                                                    С чего вы взяли что WinRAR написан на Дельфи?
                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                      +1
                                                      WinRar написан не на Delphi.
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                +2
                                                                Пруфлинк на разочарование «авторов линукса в Си» в студию.
                                                              +2
                                                              Не читайте Хакер… Это дурной тон.

                                                              Си живее всех живых, не в пример перегруженному генератору сложного кода С++, на нем пишутся практически все низкоуровневые и высокопроизводительные системы: Apache, Nginx, ядра ОС, библиотеки пишутся прежде всего на нем, а потом уже — портируются в другие языки…

                                                              А Дельфи… медленно загибается, уже чисто символически трепыхаясь. Он не лучше, не оригинальней, не популярней любого другого языка общего назначения. Молодые программисты с вероятностью в великое множество процентов учат совсем другие языки.
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                          +1
                                                          Умер — нет, сам на нем пишу программы.
                                                          Но думаю проблема в том, что новичку сейчас легче все-таки изучать .NET или Java
                                                            0
                                                            Согласен. К тому же, для личного пользования Delphi — очень дорогое удовольствие.
                                                              –1
                                                              Легче изучать Java?0_o
                                                              Знаю много «программеров», которые пишут в делфи и не знают ООП. В java такое не пройдет.

                                                              Да и сравнивать .NET и Delphi. Это как мухи и котлеты.
                                                              Есть .NET для Delphi. Что по-умолчанию не делает Delphi сложнее.
                                                                0
                                                                Java и C# позволяют писать в процедурном стиле, другое дело, что этим увлекаются по большей части лишь кодеры и начинающие «программеры».
                                                                А сравнивать .net и Delphi некорректно: первое — технология, второе — среда разработки.
                                                                  0
                                                                  Java процедурная? Да ну. Почему-то всегда думал, что объектно-ориентированный язык программирования.
                                                                  Код в студию с «процедурным стилем».

                                                                  Про «мухи и котлеты» я это и имел ввиду.
                                                                    +1
                                                                    Я написал, что на джаве и C# можно писать без использования ООП и делают это кодеры, но ни в коей мере не обзывал их процедурными языками.
                                                                      0
                                                                      Ну я прошу пример кода на Java без классов. Могу ответить наперед — нету;)
                                                                      А в Delphi(среде) можно писать на чистом паскале.

                                                                      П.с. Delphi в первую очередь язык программирования. У которого есть одноименная платформа разработки.
                                                                        +2
                                                                        Можно сделать один класс и куча процедур внутри. Наличие класса != ООП. У ООП как вы знаете, есть слона, в данном случае они не используются.

                                                                        Я всегда думал, что в Делфи язык программирования называется object pascal, а сама делфи — это среда разработки, а библиотеки называются VCL. Я неправ?
                                                                          0
                                                                          Забыл вставить «У ООП, как вы знаете, есть 3 слона...»
                                                                            +2
                                                                            > Я всегда думал, что в Делфи язык программирования называется object pascal, а сама делфи — это среда разработки, а библиотеки называются VCL. Я неправ?

                                                                            На эту тему не одна сотня копий переломана.
                                                                            Вообще официальное мнение такое: начиная с седьмой версии, компания — тогда ещё Borland, а вслед за ней и CodeGear, и Embarcadero — начала официально называть язык в справочной системе Delphi, а не Object Pascal, как до того.
                                                                            Итак, на данный момент:
                                                                            язык — Delphi
                                                                            ИДЕ — Embarcadero RAD Studio
                                                                            библиотека — VCL
                                                                              0
                                                                              Не правы. Ниже уже обьяснили почему.

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

                                                                              Наличие хоть одного класса!=процедурное программирование по умолчанию.
                                                                              В Java простых типов всего 8. Тот же String — это тоже класс. Так, что помимо главного класса используют внутри классы.
                                                                              Я не говорю, что это обьектное. Но явно не процедурное. Это что-то «смешаное».
                                                                              +1
                                                                              > Могу ответить наперед — нету;)
                                                                              я вполне себе написал несколько лет назад в jsp-файле генератор лабиринта без единого класса. тогда не понимал еще, что такое ООП.
                                                                                0
                                                                                JSP сгенерил javascript, который и делал лабиринт? Так это немного другое.
                                                                                  0
                                                                                  нет. JSP сделал полноценную html-страницу. Да, это неудобно, не писать процедурный код на Java — абсолютно реально.
                                                                        0
                                                                        Delphi — кроме среды разработки, это еще и набор технологий.
                                                                      0
                                                                      Для меня умер, когда узнал, как они обозвали null)
                                                                      А если серъёзно, в университете активно пользовался и делфи, и билдером, но после выпуска решил попробовать C#, с тех пор нет никакого желания смотреть в эту сторону.
                                                                        +1
                                                                        Вы наверно говорите о nil? =)
                                                                        Кстати в Delphi есть и nil и null. nil — для указателей, а null — для переменных вариантного типа.
                                                                          0
                                                                          Как всё сложно) Но имел в виду именно nil.
                                                                            +1
                                                                            как они могли… взять, и назвать null nil'ом, потому что так в паскале уже очень давно! Негодяи! =)
                                                                              0
                                                                              Спасибо, капитан очевидность.
                                                                          +2
                                                                          Традиция nil гораздо дольше, чем вам кажется. Например, в древнейшем из древних — LISP — пустое значение именно так и обозначается. Ничего страшного.

                                                                          Но Паскаль мертв, Дельфи еле дышит — это точно.
                                                                          +6
                                                                          В посте конечно же самое интересное оказалось в комментариях — неплохой такой спор вышел на разных уровнях. Значит попробую свою точку зрения высказать на некоторые вопросы, которые были затронуты в теме.

                                                                          Значит чего такого есть у C/C++ чего нет у Delphi, так это настоящей мультиплатформенности. Я где-то лет 5 назад слышал, что под Linux есть там Kylix вроде какой-то, но под Мак? Вот gcc существует на всех платформах, плюс огромное количество ещё разных компиляторов под конкретными платформами. Не могу честно припомнить ни одного по настоящему мультиплатформенного приложения написанного на Delphi. Или по настоящему огромного и высоконагруженнго приложения, таких как MySQL например или Linux, т.е. такого, при программировании которого бы выявились такие нюансы, что сразу всё встало на свои места. Всё больше оболочки какие-то и плееры (вот уж этого добра там навалом — походу какая-то хорошая библиотечка под Delphi есть). Тот же С/С++ стал стандартом для написания достаточно ресурсозатратных приложений и многие по настоящему крупные игроки выбрали именно С/С++, а не Delphy для реализации своих технологий и решений (вспомните хотя бы CUDA от nVidia и OpenMP от Intel). При всех прочих равных на С/С++ можно сегодня делать гораздо больше, чем на Delphi хотя бы из-за вот такой монтруозной поддержки и соответственно существования гораздо более полного набора библиотек и технологий.

                                                                          Теперь по поводу Java, C# и прочих современных языков. Тут говорили, что сборщик мусора не нужен, не нужна защита данных, ООП — говно и обсирали прочие современные подходы программирования. Люди, очнитесь. Кто сказал, что Java легче ??? Она не легче, она изящнее. Там разработчик больше озабочен созданием правильных и более производительных алгоритмов, большей расширяемостью своего приложения, универсальностью и переносимостью, а не тем, чтобы не дай БожЕ не забыть очистить память, случайно не похерить объект или там не зыбыть обнулить какое-то значение. Вы говорите, что сами всё будете обнулять и очищать и вам не нужен сборщик мусора, ну тогда вы просто не работали в команде или работали в команде таких же старьёвщиков как и вы. Ну не бывает такого, что все пишут идеальный код, обязательно кто-то ошибётся, начнёт использовать чужие методы неправильно или забудет что-то проверить прежде чем что-то вызвать. Так и появляются трудно находимые утечки и наложения памяти, на которые порой тратятся недели (из собственного опыта — одну ошибку, которая не проявлялась, искал в течение недели, чтобы поправить 2 строчки!!! — убил бы урода который сделал то, что он сделал, но со времени написания тех строчек прошло ох как много времени и он скорее всего ушёл до того, как я пришёл на ту фирму), а если исключить этот пласт проблем жить становится проще.

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

                                                                          Кроме того сегодня всячески приветствуется программирование приложений для Web. Тут Delphi и С наименее подходящие игроки, но вот тот Java и PHP очень хорошие игроки. Получается, что Делфи и тут пролетает. Если не согласны — укажите хоть на парочку ресурсов сварганеных на Делфи уровня, ну хотя бы Хабра?

                                                                          Вывод один, на огромном пласте задач должны начать наконец-то привалироват такие языки как C# и Java, PHP, т.е. современные ОО языки программирования, в которые уже заложено довольно много для исключения муторной и ненужной работы.

                                                                          И вот суть. Получается, что для Delphi нет ниши, в которой бы уже не было кого-то более мощного и быстрого или по крайней мере не хуже, но популярнее. Мож ему действительно пора на покой?
                                                                            +3
                                                                            Потрясающий текст достойный новой статьи.
                                                                            А главное никакой агрессии в сторону delphi.
                                                                              0
                                                                              Спасибо конечно за добрые слова. Сейчас перечитал свой опус и у меня всё же к себе есть некоторые претензии… Я старался подойти объективно, но мне сейчас кажется, что там есть некоторые перегибы. Плюс некоторые примеры, хоть и приведены, но довольно скудны, нужно что-то более такое мощное. Всё же ночью писал, хоть и не поздно, но спать явно хотелось (2 суток без сна!), вот кателок и не варил. Но моё ожидание сна нисколько не сгладило общее моё негодование тем, что было у некоторых комментаров, что я и постарался отразить у себя. Да, это моё мнение о некоторых подходах в разработке, которое не просто родилось в тот вечер, а которое подкреплено некоторым опытом в разработке и формировалось некоторое время, хоть и не совсем прямо про Delphi, конечно (тут просто напомнили и я постарался свои знания о Delphi пропустить через призму «моего мнения»).

                                                                              Теперь по поводу статьи. Наверное это действительно хорошо, делать статьи-ответы и я ничего простив них не имею и читаю с удовольствием, но мне бы хотелось тут публиковать что-то более практически приложимое. А на это нужно время. Возможно поэтому (да ещё если про лень вспомнить не мешало бы) у меня и нет пока ни одной статьи на Хабре, зато комментов — хоть лопатой греби :))). Если хотите, то можете мой коммент за основу взять, дополнить, поправить очевидные ошибки и ляпы и опубликовать в качестве статьи. Я не против. Я считаю, что в качестве коммента мой опус вполне подойдёт, но до статьи не дотягивает (и объём тут не причём), нужно ещё поработать. В конце концов, кому понравилось и согласен и хотят сохранить для «будущих поколений» внесут его в избранное :)
                                                                              0
                                                                              ООП — это лечение структурно-ориентированного подхода, долгое время практиковавшегося в программировании. Да, основная пичина принятия ООП — уменьшение издержек на поддержку кода, а не на возможность расширения. Расширение через наследование — миф, таким образом «расширяются» только библиотеки в самих приложениях, а не сами приложения, и, как правило, наследование кода заканчивается в приложении, использующего его.

                                                                              Другая парадигма программирования — это расширение функциональности через агрегирование и «миксирование» кода. Жаль, что большая часть разработчиков прямо-таки «зациклилась» на традиционных парадигмах: расширение-через-добавление кода (с последующей перекомпиляцией всего) и плагинной архитектуре (не требующей перекомпиляции).
                                                                                0
                                                                                Ну не волнуйтесь вы так. Я просто описал несколько с моей точки довольно очевидных позиций того, что пожалуй стоит применять. Это отнюдь не значит что я зацикливаюсь на паре методов из ООП и больше никуда. Да, агрегирование — отличный подход, но опять же в своей области, не надо его совать везде, где нужно и не нужно.

                                                                                Кстати, не совсем понимаю вот этого, что «ООП — это лечение структурно-ориентированного подхода»… ээээ… какбэ лично я считаю, что это не лечение, а очередная стадия эволюционного процесса развития языков програмирования. По моему С и С++, как яркие представители процедурного и ООП подхода отличаются как небо и земля (понятно, что С входит в С++, но сколько там надобавляли, чтобы два плюса поставить — это просто писец!).

                                                                                И последнее, что такое «миксирование» кода? Я наверное знаю что это, но просто использую другое название. Дайте ссылочку или ещё чаво. Если узнаю что-то новое, то буду благодарен безмерно. Заранее спасибо :)
                                                                                +1
                                                                                Сборщик мусора ни от утечек ни от ошибок не избавляет. Он бывает очень полезен, но панацеей, особенно от «криворуких уродов» не является.
                                                                                  0
                                                                                  ну само собой. Но согласитесь, что на большом пласте задач, жизнь с ним становится гораздо проще и мозговой ресурс расходуется не на контроль, чтобы что-то не забыть, а на непосредственно работу над более интересными вещами :)
                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                      0
                                                                                      Как раз эти самые ошибки «другого рода» и заставляют мучительно искать места утечек.
                                                                                      При автоматическом освобождении нужно не забыть обнулить все ссылки на объект… иначе утечки никуда не денутся.
                                                                                      Так что сборка мусора полезна, но избавляет только от сравнительно простых ошибок, которые легко обнаруживаются и без нее. ИМХО для хорошего разработчика польза (в плане избавления от ошибок) сводится к уменьшению сложности на константу, причем небольшую.
                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                          0
                                                                                          Я не про циклы и слабые ссылки
                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                              0
                                                                                              Видимо он говорил про унылые сборщики мусора, вроде тех что во flash player'е, а не HotSpot Jvm или .Net :)
                                                                                                0
                                                                                                А про то, что если в «живом» объекте забыть обнулить одну (не слабую) ссылку на другой объект, который уже не нужен — то сборщик мусора не тронет и забытый объект и все, на что он ссылается.
                                                                                                Плюс утечки памяти — это лишь один из видов утечки ресурсов, причем отнюдь не самый опасный.
                                                                                                Я вовсе не считаю сборщик мусора чем-то лишним или бесполезным, а только лишь указываю, что не стоит преувеличивать его значение в плане защиты от ошибок.
                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                    +4
                                                                                    О хорошем языке не будут создавать сайты «мертв или нет» и писать списки программ которые написаны на нем хорошо :)
                                                                                      –1
                                                                                      Ну почему бы не делать этакое «портфолио» перспективным языкам, которые ещё не снискали должной популярности. Этот самый набор программ покажет область применения и возможности языка для создания приложений. Правда к Делфи это как-то слабо относится. Его многие знают, кто на нём и строчки кода не написал, существует он довольно давно, но каких-то ярких примеров не просто хороших программ, а по настоящему масштабных и мощних что-то я в том списке не нашёл. Вот и получается, что Delphi занял нишу языков для написания «оболочек». А это с бОльшим, имхо, успехом можно добиться и другими более современными средствами.

                                                                                      А сайты в шапке — вообще говень какая-то, уж извините. Не понимаю, за что плюсуют топик. Я думал, что Хабр обоими руками за объективность, а не за лозунги :(
                                                                                        +3
                                                                                        омг. =)

                                                                                        Мне всё большекажется, что у всего хабра отказало чувство юмора. Осень что ли, сказывается?

                                                                                        Для меня большой неожиданностью оказалось разгоревшийся серьёзный холивар и отсуствие комментов срдержащих: «лол», «гы» и ":D".
                                                                                          –1
                                                                                          Ну знаете, лично я что-то не очень чтобы катался от смеха, хотя считаю (и не только я), что у меня довольно хорошее чувство юмора. Скажите, ведь специально решили холивар затеять ??? :))
                                                                                            +1
                                                                                            Читайте выше. Я до сих пор в шоке от того, что никто не оценил шутку. Видимо что-то с моим чувством юмора не так, и зря я смайлики не поставил в посте.

                                                                                            А по теме холивара — не знаю как вам, а мне сложно всерьёз воспринимать как люди не программирующие на Delphi рассказывают людям, программирующим на Delphi почему на Delphi не стоит программировать. =)
                                                                                              +2
                                                                                              не знаю как вам, а мне сложно всерьёз воспринимать как люди не программирующие на Delphi рассказывают людям, программирующим на Delphi почему на Delphi не стоит программировать. =)
                                                                                              Ну может вы действительно ошибаетесь, или мы ошибаемся… И когда вам говорят довольно понятный довод, а можно ли так, можно ответить, а можно просто пошутить, пытаясь пустить всё на самотёк. Вот я себя считаю пока не самым умным человеком и готов постоянно узнавать что-то новое особенно в той области, в которой я работаю, даже порой менять устоявшиеся взгляды и пытаюсь критично относиться как к себе, так и другим. И когда я пытаюсь разобраться в теме и задаю вопросы, то я лично жду как можно более адекватного ответа. В результате я получаю шуточки-прибауточки… Жаль. Вот вы мне можете чётко написать почему мне надо хотя бы задуматься о переходе на Delphi, ну например с С++? Какие плюсы я получу? Я по-моему пару-тройку доводов в пользу С++ во втором абзаце моего коммента уже привёл…

                                                                                              П.С. Вот почему-то меня заинтересовало в своё время например функциональное программирование и я не стал с пеной у рта доказывать, что вы все уроды и «ООП — the best!». Когда я решил разобраться более подробнее, то нашёл объективный отзыв в кругах приверженцев, а не отмазки. Происходило нормальное общение, я нашёл много мотериалов, разной степени объективности, но они были и мне это давало пищу для размышлений. Жаль, но ничего подобного в кругах Delphi программистов я не нахожу. Как правило идут публикации о разных хаках для самих же Delphi-программистов. Вот интересно и как к вам тогда в таких условиях попасть, если не понятно зачем?

                                                                                              П.П.С. Чтобы снять уж дльнейшие ответы типа «А вы попробуйте» скажу, что когда начинал именно с Delphi (точнее с Pascal, потом перешёл на Delphi). Было это правда давно, лет шесть уж минуло, но я не помню, чтобы тогда перейдя на С/С++ я что-то потерял. Сегодня я даже больше чем уверен, что скорее приобрёл…
                                                                                                +1
                                                                                                Ок, вот развёрнутый ответ:

                                                                                                Поймите же, пост даже задумывался как повод для дискуссии на тему какой язык програмирования лучше. Имхо, чтобы основательно сравнивать два языка, надо очень хорошо изучить каждый из них, изучить доступные библиотеки, доступные IDE, изучить чужие программы. Для того, чтобы проникнутся духом языка нужен не один год работы с ним. Имхо. И после этого становится видно и понятно, сильные и слабые стороны. У меня, например, такого опыта нет.
                                                                                                Я совсем немного писал в С, немного С++, много в VBA, немного смотрел RoR, что-то читал про джаву, и много программировал на Delphi. Я не вижу задач, которые нельзя было бы решить с помощью Delphi, исключая программирования для Web, программирование под платформы отличные от Win32. И я не возьмусь убеждать хоть кого-то, что стоит бросить С++, C#, Ruby или Java и переходить на Delphi. Ни в коем случае. Я бы может и сам перешёл с Delphi на Java или C# или Ruby, или Python, но мне пока слишком комфортно программировать именно на Delphi.
                                                                                                Как-то так.

                                                                                                По поводу С++ и Delphi есть такая шутка:
                                                                                                «Опытный программист на С++ решит все, несуществующие в Delphi, проблемы»
                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                    0
                                                                                                    > Грубо говоря, есть при использовании Delphi приходится тратить в 3 раза больше ресурсов, чем на (к примеру) C#, то и разработка будет в 3 раза дороже.
                                                                                                    У этого аргумента есть только один недостаток — он не соответствует действительности.
                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                        +2
                                                                                                        Потому что с 2003 по 2008-й год, развитие Delphi практически стояло на месте.
                                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                          +1
                                                                                                          Потому что Borland после выхода Delphi 7 сделал все, чтобы угробить свое детище.
                                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                              +2
                                                                                                              Вы явно не в курсе истории Delphi, так как стратегию Borland, начиная с восьмой версии, иначе как самоубийственной назвать сложно.
                                                                                                              Правильно определив будущий мэйнстрим, избрали самую плохую реализацию из возможных:
                                                                                                              1. Положили болт на Win32, в результате ничего не выиграли, зато потеряли основную массу разработчиков, а ведь был хороший шанс занять освобожденную MS нишу.
                                                                                                              2. Потащили VCL в .NET — это оказалось не нужно ни для перехода c Win32 (все равно платформы слишком разные) ни для обучения с нуля — исходный фреймворк вполне самодостаточен.
                                                                                                              3. Прибили прежнюю IDE и вместо использования Visual Studio сделали свою на .NET — в результате получили отставание по поддерживаемым технологиям, прожорливость по ресурсам и кучу багов.
                                                                                                              4. Прибили прежнюю справку и сделали новую с нуля в непотребном мелкомягком формате — в результате медлительность и неполнота справки Delphi стали притчей во языцех.
                                                                                                              То что после этого Delphi не умер — наглядный показатель ее силы и качества как языка и инструмента разработки.
                                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                    0
                                                                                                                    Фраза ни о чем.
                                                                                                                    Конечно же, такому эксперту и ясновидящему как вы, «судьба и отсутствие шансов» видны даже при полном незнании темы.
                                                                                                                    А жесткая конкурентная борьба выдвигает наверх тех, кто принимает правильные решения, а не тех, кто задним числом рассказывает про «отсутствие шансов».
                                                                                                                    Или вы один из тех самых менеджеров? Тогда понимаю, но не сочувствую.
                                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                        0
                                                                                                        Вот не надо говорить, что для сравнения двух языков нужно там долго в нём сидеть, и только когда ты станешь гуру программером, вот тогда и можно сравнивать. Поймите, если есть какая-то концепция, язык, способы програминга, то для человека далёкого именно от этой конкретики, но при этом всё же имеющему некоторый набор знаний, по моему можно объяснить, чем именно ваш подход лучше, какие плюсы даёт именно этот подход и какие подводные камни могут появиться. Даже такой обзор при должной постановке может привлечь новых «адептов». Пока от Delphi программистов я не услышал никакой конкретики. А то, что вы не видите задач, которые нельзя было бы решит на Delphi… Ну так и я не вижу задач, которые нельзя было бы решить на Ассемблере. Что, теперь Ассемблер — это наше всё. Всё, что вы привели — это пока, извините, пустой трёп. Я пока понял (а скорее просто сам знаю), что на Delphi можно решать те же задачи и с неменьшими (а порой и с гораздо бОльшими) трудозатратами, что и на других средствах, плюс он значительно менее популярен и главное в сравнении с другими средствами всё же проигрывает по некоторым пунктам (опять же, обращаю ваше внимание хотя бы на ту часть, что я отписал). Я отписал минусы Delphi, мне в ответ не привели ни одного аргумента в защиту (типа то, что вам комфортнее на нём работать — не аргумент), плюс я вижу реальную тенденцию заката популярности этого средства, поэтому и делаю вывод, что Delphi хоть и не мёртв, но одной ногой в могиле. Кроме того, единственна компания, которая его поддерживает сама уже на ладан дышит. Как только Borland окончательно закроется, а это уже скорее всего будет в ближайшее время, и не случиться никакого чуда, то Delphi станет просто очередным академическим языком, который будут преподавать на уроках Основ программирования только потому что профессор больше ничего не знает, а не потому что есть хоть какие-то причины преподавать именно на нём.

                                                                                                        Чтобы понять, как можно заинтересовывать людей, например, почитайте статью Изменяемое состояние: опасности и борьба с ними. Я не являюсь адептом функционального программирования, но например эта статья меня хотя бы заинтересовала и позволила взглянуть на некоторые мои подходы с несколько иной, критической точки зрения. Вот так надо приводить свою аргументацию, а не просто кидать лозунги, утверждать, что ваш опыт наиболее приоритетный и на него стоит ориентироваться всем (это по поводу того, что «вам комфортно» и что из этого ???). Я понимаю, что вы скорее всего останетесь при своём мнении, но настоящий программист по-моему должен стараться не просто тухнуть на одном средстве, а постоянно развиваться, пробуя что-то ещё, пытаясь осознавать и делать выводы, порой менять своё мнение и привычки, если это действительно в дальнейшем несёт только положительный эффект.
                                                                                                          –1
                                                                                                          > Я пока понял (а скорее просто сам знаю), что на Delphi можно решать те же задачи и с неменьшими (а порой и с гораздо бОльшими) трудозатратами, что и на других средствах, плюс он значительно менее популярен
                                                                                                          Ну вот и классика подоспела — человек ничего не знает о предмете, не дает никакой конкретики, но заявляет что знает и жалуется на отсутствие конкретики у оппонентов.
                                                                                                            0
                                                                                                            Конкретика:

                                                                                                            — ни одного достойного приложения для web на delphi мне так и не привели;
                                                                                                            — ни одного более или менее успешного крупного проекта так и не привели (сам Delphi, который я очень надеюсь хоть сама Borland пишет на Delphi, я в счёт не беру — я про простые пользовательские приложения говорю);
                                                                                                            — не было ни разу сказано о том что же такого замечательного в нём, и если я знаю, что в Java есть например более гибкая модель наследования и сборщик мусора, а в Python ленивые вычисления и Лямбда-выражения (ну это так, не самое важное), да плюс они работают под все современные системы, включая мобильники и коммуникаторы, то ни одного плюса ни из своего, ни из вашего сознания я так получить и не смог. Причём, хочу заметить, что сначала я про эти возможности узнал, не спрограммировав на Java и Python ни строчки, а просто пообщавшись с людьми, которые умеют приводить доводы в пользу своего любимого инструмента. Про Delphi я увидел только страницу с «NO» — достойный аргумент :)

                                                                                                            Хорошо манипулируете словами. Заметили одну фразу, выдрали из контекста и давай меня ей хаять. Ещё раз спрашиваю, приведите чёткие аргументы, чем так хорош Delphi. Вы же заранее меня начинаете обвинять в непонимании, когда так ничего и не привели.
                                                                                                              0
                                                                                                              > — ни одного достойного приложения для web на delphi мне так и не привели;
                                                                                                              точно. также как вам не приведут ни одного достойного драйвера написанного например на Php. :)

                                                                                                              > — ни одного более или менее успешного крупного проекта так и не привели
                                                                                                              Выше пробегал целый список приложений. Если вы предпочитаете считать такие программы как Skype, Fruity Loops, Toad, Total Commander, Qip неуспешными — то это Ваше право.

                                                                                                              > Хорошо манипулируете словами. Заметили одну фразу, выдрали из контекста и давай меня ей хаять. Ещё раз спрашиваю, приведите чёткие аргументы, чем так хорош Delphi. Вы же заранее меня начинаете обвинять в непонимании, когда так ничего и не привели.
                                                                                                              С сожалением вынужден заметить, что это в полной мере относится и к Вашему стилю общения. :(
                                                                                                                0
                                                                                                                Понимаете, все приложения, которые здесь приведены очень успешные, я бы даже добавил туда например The KMPlayer, который очень люблю, но всё же это скорее оболочки, чем отдельные приложения. Тот же Скайп, например, является мультиплаторменным и ядро, т.е. протокол, я больше чем уверен, написан на чём-то другом. Так и с остальным — всё это оболочки, а не полноценные приложения. Вот и получается, что Delphi — среда для создания оболочек :( А вот хоть одну компанию с количеством программистов больше 100 приведите? Вот для С или Java — пожалуйста могу привести хотя бы тот же Google и Microsoft соответственно, а на Delphi, что-то подобной масштабности не замечаю. Я не хочу сказать, что чем больше, тем лучше, но чтобы показать какой язык удобнее наверное стоило бы вспомнить про опыт настоящих команд, у которых любые перегибы, которые в мелких конторах кажутся незначительными, становятся бичом в них, этих самых крупных командах. По настоящему крупные игроки этот язык не поддерживают, он там не укладывается в современные требования, вот и получается, что остаётся только как удобная рисовалка окон для создания приложений энтузиастами.

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

                                                                                                                1. Не поддерживает некоторых современных требований, таких как мультиплатформенность, удобство расширяемости и универсальность. Довольно жёстко привязан к WindowAPI, что только снижает его гибкость и возможность переноса приложений в иные среды и платформы. Т.е. для того, чтобы написать по настоящему полноценное приложение приходится потом всё равно использовать или внешние библиотеки или осваивать ещё что-то, чтобы писать с нуля (не надо говорить, что сейчас всё пишется на основе чужих библиотек — вот если я захочу открыть фирму-конкурент Скайпа, а лицензионные отчисления платить не хочу, то я свой протокол скорее всего чуть ли ни с нуля писать буду, ну или на основе какой-нить опенсорс, но что-то я не видел ни одной реализации на Delphi).

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

                                                                                                                3. Слишком ограниченная область применения, которая уже заранее уменьшает круг разработчиков, заинтересованных в изучении этого языка (слишком низкоуровневые вещи, как на C, на нём не пишут, программирования под Web — наиболее приоритетное согодня направление — в нём никак не представлено).

                                                                                                                4. Уже довольно сильная застарелость, вследствие и причин, указанных выше. Любые нововведения уже устаревают до их появления (это по поводу того, что вот они решили-таки сделать там мультиплатформенность, которая уже даже нигде не оговаривается, а идёт как само собой разумеющееся на большинстве современных языков, плюс как там с поддержкой например технологий от AMD, Intel, nVidia, чтобы мои приложения прямо-таки летали — приходится ждать, когда появятся библиотеки именно для Delphi, а когда это будет — вот вопрос, поскольку ни одна из этих контор не поддерживает Delphi и всё держится на энтузиастах).

                                                                                                                Вот и получается, что остаётся чисто академический интерес, и написание оболочек — не более… Слишком несерьёзно.

                                                                                                                П.С. Как-то qip в списке приложений Delphi не нашёл… Ссылочку, откуда инфа, пожалуйста.
                                                                                                                  0
                                                                                                                  Откуда эта страсть к наклейке ярлыков? Этак можно Яву назвать средством создания пилорам для корпоративных бабок (что соответствует истине примерно в той же степени как и «средство создания оболочек»).
                                                                                                                  Хотелось бы увидеть хорошее пользовательское приложение на Яве ;)
                                                                                                                    0
                                                                                                                    каких ярлыков ?? Вам не понравилось, что я назвал Delphi языком для создания оболочек ?? Ну так вы своим комментом меня только ещё больше в этом уверили. Я просто не смотрел на громкие названия, а смотрел на суть того, что сделано именно на Delphi и не увидел ничего, что бы вышло за рамки моего определения.
                                                                                                                      0
                                                                                                                      Ну то, что лично вы ничего увидели — неудивительно.
                                                                                                                        0
                                                                                                                        Да ладно. Это просто прекрасно, что вы составили обо мне хоть какое-то мнение, знаю, что негативное, поскольку мне так ответить и не смогли. Не хотел вам говорить, но всё же давайте я приведу пару продуктов, написанных на Java (по мере возрастания масштабности):

                                                                                                                        1. Eclipse
                                                                                                                        2. IntelliIDEA (среда разработки, которая многими признаётся одной из лучших сред для разработки на различных современных языках программирования)
                                                                                                                        3. Google Earth
                                                                                                                        4. Google Wave
                                                                                                                        5. Ещё многие продукты Google :)))

                                                                                                                        … ещё знаю, что высоконагруженные клиентские приложения терминалов оплаты во многих конторах на java пишут, да и какая-то часть для работы биржи пишется на нём же (это уже из разряда — слышал).

                                                                                                                        Любой из этих продуктов затыкает любую поделку на Delphi за пояс. Что-нить масштабов Google Earth приведите :) Я уж не говорю о разных там фреймворках. Кстати, хорошо, что вы про С++ не спросили — список был бы охерительный не столько количеством, сколько масштабностью каждого приложения.

                                                                                                                        Ладно, товарищ дорогой, я понимаю, что задел за живое, но вы уж там не вешайтесь. Жизнь не одним Delphi едина :)
                                                                                                                          0
                                                                                                                          Вы совершенно правы. Теперь, пожалуйста, оставьте бедный Delphi в покое, у него и так судьба нелёгкая, и без того, чтобы требовать от него переплюнуть С++, Джаву и Питон вместе взятые. :)
                                                                                                                            0
                                                                                                                            Почему вместе взятые. Каждый из них по отдельности обгоняет Delphi, по крайней мере по приведённой мною в одном из комментов статистике... Пускай хоть что-то переплюнет :) Интересно знать с чем вы не согласны в мойм последнем комменте. Вы просили прграммы на Java — нате получите. А если вам (или вашему доброжелателю) просто что-то не нравится, то тогда и говорить не очем — диалога конструктивного уж точно не получится.
                                                                                                                              0
                                                                                                                              Я с вами не спорю. =)
                                                                                                                              Вы правы. You are right. Jums ir taisnība.
                                                                                                                                0
                                                                                                                                Ненавижу быть правым, это как-то удручает и приводит к пониманию, что просто у оппонента не осталось аргументов, тем более, если я не вынес ничего из спора. Жаль, жаль, что я так и не смог получить ответы на некоторые свои вопросы, а аргументы были какие-то, ну не очень. Говорят в споре рождается истина. В этом споре я свою истину так и не получил :((

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

                                                                                                                                Ладно, думаю, вывод один: каждый пока останется при своём. Удачи :)
                                                                                                                +1
                                                                                                                Дело не во фразе — дело в логике.
                                                                                                                Delphi всю свою историю прежде всего предназначалась для GUI-приложений на платформе Win32 и там она до сих пор более чем актуальна (простота создания пользовательских интерфейсов, COM-объектов, клиентов различных СУБД и т.п. до сих пор не превзойдена благодаря сочетанию выразительности и читабельности языка). И требовать решительных успехов в неродных областях — значит проявлять заведомую предвзятость.
                                                                                                                Кстати, пока не видел ни в одном статически типизированном языке встроенной поддержке агрегирования.
                                                                                                                Считать тот же Skype проектом мелким или не успешным можно тоже только от большого желания повоевать.
                                                                                                                  0
                                                                                                                  Ну раз вы сами говорите, что он сегодня предназначен только для создания Win32 оболочек, то я уже и не знаю… Кроме того, могу вам привести пример языка, который этот непревзойдённый язык таки превзошёл — это С#. Да и потом, тут я конечно словами поигрался, но откуда столько пафоса по поводу «простота создания пользовательских интерфейсов, COM-объектов, клиентов различных СУБД и т.п. до сих пор не превзойдена благодаря сочетанию выразительности и читабельности языка» — сто там такого выразительного и простого, по сравнению с чем? с Lisp'ом, и потом, если тама всё так красиво, то почему та же Adobe или Autodesk не использует this wonder в полной мере, ведь их приложения вроде как подпадают под то, что вы сформулировали. Что сложного в создании COM объектов на C++ или VB, что такого Delphi сделал с ними, что вот работать стало проще? По моему синтаксис на Delphi не менее топорный, чем на С++, хотя тут конечно субьективное мнение.

                                                                                                                  Теперь по поводу Скайпа — я уже отписал, что больше чем уверен, что там на delphi в луечшем случае оболочку клиента сделал, а всю основу, без которой ничего и работать не будет, а именно протокол начём-то ином забабахали, ибо на delphi этого не сделаешь.

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

                                                                                                                  П.С. Если с агрегированием не угадал и вы что-то иное под этим определением подразумеваете, то дайте ссылочку на материал, где описана приведённая вами идеология. Просто тут может иметь место разность в определении.
                                                                                                                    0
                                                                                                                    В объеме дистрибутивов приложений, «простоте» установки, требуемых ресурсах, поддержке не COM библиотек, тормозах C# действительно «превзошел» Delphi в несколько раз. Это не говоря о том, что вы даже Win32 от .NET отличить не соизволили.
                                                                                                                    Про агрегирование (точнее, делегирование реализации интерфейса другому классу) — на уровне языка платформа .NET и C# его не поддерживает. Как паттерн же его можно реализовать хоть в ассемблере. В общем опять судите как о программах, так и об оппонентах, ничего о них не зная, господин тролль.
                                                                                                                      0
                                                                                                                      Как же мне всегда нравится людская психология: люди которые ничего не могут доказать и уже сами сомневаются в том, что они правы, но готовы отстаивать своё мнение, сходят либо на шутки (довольно несмешные, надо сказать, поскольку чувствуют свою несостоятельность и хорошего уже и так в голову не лезет), либо на прямые оскорбления. Ну назвали вы меня тролем… Что я после ваших слов вешаться должен идти. Вот вы, дорогой Эльф, скажите, а что вы такого написали (или лучше сказать принимали участие) из того, что в списке, чтобы утверждать, что вы лучше меня знаете, как там всё написано. Вы увидели знакомое название рядом с вашим любимым языком дальше которого вы и заглянуть не соизволите и радуетесь, а вы взгляниие в суть. Вот что, по вашему, у того же Скайпа написано на Delphi? Да, я не знаю конкретно что, но больше чем уверен, что ядро написано на чём-то другом, поскольку Скайп мультиплатформен и писать на каждую ОСь на новом языке — это с дубу рухнешь. Интересную картину вы описали и про С, и про Java, и про С#, но раз они такие плохие, что ж они в рейтинге использования языков занимают гораздо более высокие позиции, чем Делфя ??? Или все такие дебилы, а вы такой умный. Кстати, если найдёте хоть какой нибудь рейтинг за последние полгода, где Делфя опережает хотя бы C# — покажите, мне реально на это интересно посмотреть.

                                                                                                                      А насчёт агрегирования или ещё чаво. Так в том же С++ я без всяких .Net могу реализовать любой паттерн проектирования. Та же Boost довольно сильные средства уже в себе содержит. Просто вы хотели каких-то встроенных средств, я постарался вам их отыскать. Если я просто не до конца понял, что вы от меня хотели, в чём собственно и признался, и попросил ссылочку для того, чтобы понять, что вы имели ввиду:
                                                                                                                      П.С. Если с агрегированием не угадал и вы что-то иное под этим определением подразумеваете, то дайте ссылочку на материал, где описана приведённая вами идеология. Просто тут может иметь место разность в определении
                                                                                                                      Ответа, опять же, не последовало… Ну что ж, живите дальше в вашем ограниченном мире совершенстве Делфи-программинга :)))

                                                                                                                      П.С. Тот хрен (или это баба?), который выс постоянно плюсует, что к дискуссии не присоединяется. Смелости и мозгов только анонимно плюс поставить хватает? Приведите ответ, товарищ дорогой, хоть на пару-тройку заданных мной вопросов, а то ваш коллега не справляется :)))
                                                                                                                        –1
                                                                                                                        >требуемых ресурсах
                                                                                                                        мы говорим про тот делфи, который не умел оптимизировать такие конструкции как if ((a > 10) AND (a < 20))? в котором нельзя реализовать intrusive container'ы в виде библиотеки? хотяб intrusive list'ы?
                                                                                                                        из качественных технологий, что они реализовали — это склонировали nextStep'овскую модель разработки десктопных приложений, которая была задолго до них.
                                                                                                                        В своё время делфи и правда был спасением для разработки уя на винде, но теперь они занимают позицию между c++ и .net, вобрав в себя тормоза от .net'а, и неудобства от c++.
                                                                                                                          0
                                                                                                                          Странно — почему-то ни дотнетных тормозов, ни плюсовых неудобств не замечал, видимо вы лучше меня умеете работать с Delphi.
                                                                                                                          Напротив — приложения заметно легче и быстрее дотнетных, а язык намного удобнее, чем плюсы, причем не только для человека, но и компилятора. А уж про COM-объекты на плюсах вообще молчу.
                                                                                                                          Да, генератор кода Delphi никогда изощренностью не отличался, но случаев, когда быстродействия дельфийского кода (после алгоритмических оптимизаций) не хватает и нужна ломовая мощь оптимизатора Intel C Compiler и теоретически очень мало и практически мне не попадалось.
                                                                                                                0
                                                                                                                Поймите же, что

                                                                                                                Я. НЕ. ЖЕЛАЮ. УБЕЖДАТЬ. ВАС. ИЛИ. КОГО-ЛИБО. В. ПРЕЛЕСТИ. ИСПОЛЬЗОВАНИЯ. DELPHI.

                                                                                                                >Я отписал минусы Delphi, мне в ответ не привели ни одного аргумента в защиту
                                                                                                                см. выше. а также

                                                                                                                Принимая во внимание ваш первый пост:
                                                                                                                > Значит чего такого есть у C/C++ чего нет у Delphi, так это настоящей мультиплатформенности.
                                                                                                                Именно так. Мультиплатформенности у Delphi нет. Над ней сейчас работают, но в каком виде она будет реализована — неизвестно.
                                                                                                                Впрочем, в «Delphi для .NET» вроде бы есть возможность создавать программы для линукса и мака и может даже айфона. Но это отдельная ветка продукта.

                                                                                                                > Вы говорите, что сами всё будете обнулять и очищать и вам не нужен сборщик мусора, ну тогда вы просто не работали в команде или работали в команде таких же старьёвщиков как и вы.

                                                                                                                Конечно. Только тут есть пара нюансов. За выделение и освобождение памяти для строк отвечает компилятор.

                                                                                                                > Ну не бывает такого, что все пишут идеальный код, обязательно кто-то ошибётся, начнёт использовать чужие методы неправильно или забудет что-то проверить прежде чем что-то вызвать. Так и появляются трудно находимые утечки и наложения памяти, на которые порой тратятся недели (из собственного опыта — одну ошибку, которая не проявлялась, искал в течение недели, чтобы поправить 2 строчки!!!

                                                                                                                Delphi тоже позволяет создавать утечки памяти, и даже позволяет писать говённый код. =) Трудноуловимые баги там тоже встречаются, но их трудноуловимость обратно пропорциональна опыту и знаниям улавливающего их программиста.

                                                                                                                п.с. а Borland кстати уже загнулся. :D
                                                                                                                  0
                                                                                                                  Вот и получается, что это не доделано, то не сделано а может и будет работать, а как — неизвестно. Это всё признаки уже умирающего продукта, который будет держаться только на плечах вот таких вот интузиастов, как вы, но что-то серьёзное на нём уже не потянет. Да и ваша манера, что типа вы сами не знаете, есть ли то или иное в вашем любимом Delphi отнюдь не говорит в вашу пользу — получается, что вы сами не знаете толком инструмент на котором работаете.

                                                                                                                  Я не хочу щас распинаться по поводу освобождения памяти для строчек — это прсто смешно, когда на той же Java я об этом задумываюсь вообще крайне редко, а насчёт говёного кода — да его много, но одни языки сглаживают эту ситуацию, а другие занимают позицию для «избранных», делая сложности там где их уже решили в других языках, заставляя разработчика постоянно думать ни о том и совершать порой прост глупые ляпы, которые могут потом вылится во что-то более устрашающее.
                                                                                                                    0
                                                                                                                    > Да и ваша манера, что типа вы сами не знаете, есть ли то или иное в вашем любимом Delphi отнюдь не говорит в вашу пользу

                                                                                                                    Не передёргивайте. Delphi для Windows32 и delphi для .NET — это разные языки с разными возможностями, хотя и общим синтаксисом. Вся кроссплатформенность — целиком и полностью зависит от .NET.
                                                                                                                      0
                                                                                                                      А .NET разве в полной мере поддерживается тем же Linux или Mac? По моему пока .NET тама существует в виде поделки от армии энтузиастов, а сама Microsoft толком это и не поддерживает. Вот и получается опять, что язык тут какбэ и не при чём, а всё зависит от какой-то там технологии. В этом плане тот же С++ гораздо более гибкий.
                                                                                                  0
                                                                                                  Кстати, еще один + к тому что делфи жив.

                                                                                                  Его до сих пор изучают в школах. Все! Как ему умереть то?
                                                                                                  • НЛО прилетело и опубликовало эту надпись здесь

                                                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                  Самое читаемое