30 лет Delphi
Mar. 28th, 2025 04:14 pmМеня тут накрыло ностальгией и я решил глянуть как поживает Delphi, основанная на Pascal система быстрой разработки, популярная в конце того века (и совершенно забытая сегодня).

Оказывается, фирма Borland, сделавшая Turbo Pascal, а затем Delphi — уже пару раз продана и в результате принадлежит какой-то канадской софтверной фирме. А сам продукт прошел через какие-то дичайшие метания по платформам, языкам и системам, для которых могла вестись разработка, и сейчас является довольно узкой системой для поддержки корпоративных легаси-систем, написанных черти когда.
В это самое черти когда я немного писал на Delphi — это был приятный и быстрый способ набросать пристойно выглядящее приложение и получить результат.
Да, такого рода проектики в профессиональной среде были стыдноваты. Настоящие программисты в те годы относились к «дельфистам» с изрядной долей высокомерия и презрения.
В известной мере сейчас похожее отношение испытывают разработчики использующие «серьезные языки» по отношению к тем кто мастерит всякие штуки на no-code системах или, скажем, к Wordpress-сообществу.
Вот кстати да, в эпоху своего расцвета Delphi-тусовка сильно напоминала нынешнюю Wordpress-тусовку. Огромное количество людей останавливались в своих умениях на уровне «набросал формочек, связал их, добавил десяток строк кода — программа готова».
Но есть у обеих тусовок гораздо более компактное и профессиональное ядро — для старой Delphi это были те кто дописывал к стандартной визуальной библиотеке собственные компоненты, расширяя функциональность. Для Wordpress это те кто мастерит собственные плагины и шаблоны.
no subject
Date: 2025-03-28 02:30 pm (UTC)У меня есть знакомый делфист, который занимается тем, что переписывает на делфи всякий хреново оптимизированный серверный код, снижая нагрузку на сервера в разы.
no subject
Date: 2025-03-28 02:47 pm (UTC)no subject
Date: 2025-03-28 02:50 pm (UTC)У меня была эта книга.
no subject
Date: 2025-03-28 03:09 pm (UTC)no subject
Date: 2025-03-28 03:14 pm (UTC)Это было не страшно в те времена.
no subject
Date: 2025-03-31 06:15 am (UTC)И сколько тысяч человеко-лет он тратит на отладку, тестирование, сопровождение, согласование версий, обеспечение целостности данных? Дешевле накупить кучу самых мощных многоядерных серваков с терабайтами ОЗУ ))
Я тоже в свое время работал с IDE Delphi, но когда пришлось разрабатывать и внедрять серьезную систему, выбрал MS Access и не жалею. Хотя программировать на встроенном Бейсике считается полным отстоем в кодерском мире )
no subject
Date: 2025-03-31 06:25 am (UTC)no subject
Date: 2025-03-31 06:42 am (UTC)Ну почему, кто же из нас не испытывает ностальжи по компактному быстродействующему ПО. Я например иногда "для души" пишу на MASM32, экзешник получается 3Кб и жутко быстрый.
no subject
Date: 2025-03-31 06:18 am (UTC)У всех книга была, да компилятора не было. Может только в секретных подземных лабораториях.
no subject
Date: 2025-03-28 03:25 pm (UTC)С Дельфи дела не имел, а вот Паскаль, помнится, в спецшколе в начале 90-х учил. Его и еще "реляционный язык Пролог". Ух и забористая штука была! Глянул сейчас, кстати — до сих пор существует и развивается!
no subject
Date: 2025-03-28 04:01 pm (UTC)Между DOSвским Pascal и Delphi был ещё Turbo Pascal for Windows )
Объектно-ориентированный уже )
no subject
Date: 2025-03-31 06:29 am (UTC)Слегка объектно-ориентированный. Если память не подводит, библиотек в Паскале отродясь не было, не только классов, а вообще никаких, все в исходниках. Не представляю как там с версиями работать, только все сносить и компилировать заново с нуля. Это жуткая трудоемкость, с операционкой еще можно так работать, а с ПО — извините, разоришься ).
no subject
Date: 2025-03-28 03:36 pm (UTC)О да, а ведь я ещё помню FoxPro.
no subject
Date: 2025-03-28 05:21 pm (UTC)Было такое. А ещё до него, у нас в ВЦ активно использовался dBASE III Plus. Помню, ещё в школе написал на нём для народа простенькую систему учёта книгообеспеченности по кафедре. И каково же было моё удивление, когда лет, наверное, через восемь меня нашла ответственная за этот момент сотрудница и попросила доработать там пару моментов. :)
no subject
Date: 2025-03-29 01:52 am (UTC)Ещё лет 5 меня звали консультантом на доработки, пока её наконец не переделали на какой-то FoxPro.
no subject
Date: 2025-03-29 03:21 am (UTC)no subject
Date: 2025-03-29 09:56 am (UTC)Не застал.
no subject
Date: 2025-03-29 05:55 am (UTC)Я тоже.
no subject
Date: 2025-03-28 03:42 pm (UTC)Да, компоненты под дельфи было писать приятно. Да и с понятием об software engineering на ней писалось вполне достойно. Правда оказалось что в СА Делфи в конвце 90х практически не использовалась, по поиску ваканcий попадалась одна на 800-1000 других даже VB 5-6 был в десятки раз более популярен
no subject
Date: 2025-03-28 03:59 pm (UTC)Разве что цена? Сейчас можно официально взять бесплатно, но, может, уже поздно?
no subject
Date: 2025-03-29 12:54 am (UTC)Возможно, из-за жлобских лицензий
no subject
Date: 2025-03-28 04:07 pm (UTC)Лучший из языков, на котором мне доводилось писать.
И такой первобытный коммунизм !
Идешь на сайт к полякам и находишь как раз тот компонент, который нужен.
Анекдот тех времен: как программисты ловят льва в пустыне.
Программист на Дельфи.
Пишет во все конференции: "Народ, где взять компонент, который ищет в пустыне льва и помещает его в клетку?". (https://svoysredychuzih.livejournal.com/119943.html)
no subject
Date: 2025-03-28 04:16 pm (UTC)no subject
Date: 2025-03-28 04:54 pm (UTC)Эх. В школе у нас был Бейсик. 10-20-30, вот это все. Все вспоминаю, информатик время от времени говорил: "Хватит заниматься Бейсиком, это вредно, Паскаль не выучишь". А Паскаль особо и не на чем было учить. Книжка была из серии с перфолентой, да и все.
Потом появилась у меня собственная четверка, и те скриптики, которые я делал на Бейсике, я, конечно, быстро научился делать на Паскале. Но то уже было время Виндоуз, и хотелось другого. Потом меня занесло в контору пасквилянтов, работавших на Дельфи, и для проекта не по работе а, так, для развлечения, я писал подпрограммки, но все эти кнопки-менюшки меня вымораживали, ООП я так и не освоил. А еще то, что элементы предлагалось визуально размещать, а не по координатам — это было вообще жестью.
no subject
Date: 2025-03-28 04:54 pm (UTC)О. Я в молодости пытался на Turbo Pascal 7.0 писать программки. Сдался на ООП.
no subject
Date: 2025-03-28 05:06 pm (UTC)Не, Дельфи мне как-то не особенно нравился, хотя я до этого и писал на паскале, и как только появился C++ Builder, я сразу на него переполз.
no subject
Date: 2025-03-28 06:12 pm (UTC)Да, было такое, дистрибутивы и сейчас лежат в ячейках. ))
Корпоративная система была написана на Дельфи, и успешно отработала (с доработками) до замены на 1С Предприятие.
Помню, Борланд выкатила компилятор "Дельфи" под Линукс за 300 у.е., (чес-слово, сам видел на выставке "Сомптек") что повергло в когнитивный диссонанс всех программистов под линухом.
no subject
Date: 2025-03-28 07:29 pm (UTC)Оно и сейчас живо в лице Ембакодеро. Но поддержка просто сливается. А сам дистрибутив превратился в монструозное месиво, зависимое от сторонних библиотек.
Сообщения об исключениях — никакие вот просто ни о чём. И это что было раньше, что и сейчас. приходится очень постараться что бы получить информацию об исключении на коде вне отладчика.
Сетевые библиотеки — ну так на это смотртеть без крика и боли сквозь слёзы смотреть не возможно. Форумы полны описание проблем — ответ поддержки как обычно — ждите решение в следующей версии. Костылим, и ждём рабочую версию чего-нибудь. После выхода опять костылим и понимаем что без установки половины дистрибутива дельфи на конечном компе проект просто работать не будет.
Перешли на Java — и ни чуть не жалеем.
no subject
Date: 2025-03-28 08:01 pm (UTC)Вполне годная платформа была. С одной стороны, порог вхождения невысокий, с другой — в умелых руках можно было сделать многое. VB, кстати, появился раньше.
no subject
Date: 2025-03-28 08:25 pm (UTC)Я его до сих пор юзаю, чтобы быстро приложение сваять. К нему, кстати, в последней версии ИИ прикрутили для помощи в написании кода.
no subject
Date: 2025-03-28 08:42 pm (UTC)В этой системе было возможно слинковать экзешник из модулей, написанных на разных языках.
Сам использовал C, C++ и Modula-2, существовал механизм для вызова функций и доступа к объектам между ними.
no subject
Date: 2025-03-28 11:02 pm (UTC)ну, не чокаясь?)
no subject
Date: 2025-03-29 12:50 am (UTC)Ностальгирую по Delphi 3
no subject
Date: 2025-03-29 02:27 am (UTC)no subject
Date: 2025-03-29 02:41 am (UTC)А можно сказать что C++Builder несколько лет не мог догнать Delphi по вопросу визивига десктопного GUI. Хотя конечно на первой работе в основном пользоваться Delphi когда отчаянно хотелось С++ в резюме как у real
menprogrammers было очень унизительно.no subject
Date: 2025-03-29 09:10 am (UTC)Я до сих пор использую CBuilder 6 2002 года для написания всякого относительно несложного инженерного софта, общающегося с моими железяками. Ничего удобнее за это время так и не появилось. Современные средства имеют значительно более высокий порог вхождения, порождают медленный (как минимум, по времени загрузки) и монстроудозный код с кучей дополнительных файлов или зависимостей вместо одинокого exe. Я, разумеется, понимаю, что что-то большое на этом писать нельзя, но ниша вот такого небольшого и не требующего обширных знаний кажется так незанятой и осталась. Во всяком случае, я так ничего и не нашел. Ну и нельзя не отдать должное Microsoft, и эти программы, и средства разработки 23летней давности до сих пор работают. Ну и сами эти современные средства (IDE и вокруг), при мало отличающейся от того CBuilder функциональности стали на пару порядков тяжелее и тормознутее. Современных вариантов Delphi/CBuilder я не видел, сильно подозреваю, что их постигла та же участь.
no subject
Date: 2025-03-29 10:37 am (UTC)А можно ли для этих же целей использовать современные бесплатные Silverfrost Fortran (Plato), Dev-С++ (gcc), Digital Mars C, Watcom C, Free Pascal, QB64, BBC Basic, Free Basic или любой другой из нетяжелых компиляторов "старых" языков? Или там еще лежат между ними какие-то препятствия?
no subject
Date: 2025-03-29 02:01 pm (UTC)И каким образом их использовать? Во-первых, мне нужен C/C++, на которых я пишу для своих железяк, а не Fortran или Basic которых я не знаю, или Pascal, который давно забыл. Если у меня какая-то структура данных описана в контроллере и в PC программе, то я хочу ее на одном языке иметь. Во-вторых, в каких из перечисленных вами названий есть вcтроенная IDE c редактором экранных форм, меню, и т. п. интерфейсных элементов, в один клик привязываемых к обрабатывающим их реакцию кодом, и, наконец, компактный фреймворк (VCL) без кучи dll и/или зависимостей чтобы все это работало? Все же моя основная работа — это схема, конструкция и программа в железяке, а не программы в PC или еще где-то. Пользовательскую часть, если она вообще есть, делают профессиональные программисты на чем-то другом, я в это не лезу и обычно даже не вижу. Я делаю или какие-то тестовые программы, или заглушки, которые работают при отладке вместо "взрослого" софта, или программы для тестового оборудования при производстве — что-то, чем пользуется очень ограниченно число людей, и что весьма трудоемко и дорого поручать кому-то еще. Это достаточно небольшая, но и не такая уж и маленькая ниша, и меня удивляет, что идеально в нее вписывающийся CBuilder 2002 года в 2025 не получил никакой альтернативы, которую я бы смог найти. Мне советуют Qt, это громадный сложный монстр, на все случаи жизни. При помощи LLM я попробовал на него переписать один свой старый проект (инженерный калькулятор выражений) , и сделать один новый (терминал с управляемой регулярными выражениями печатью). Оно более-менее работает, но сам процесс создания куда менее наглядный, а результат более чем в 20 раз занимает больше места и медленнее работает (оно и понятно, пока такая прорва кода загрузится... сам-то код не важно как быстро работает), и не один файл — а целая куча.
PS
bangor_flying А зачем вы мне пишете, если забанили меня?
no subject
Date: 2025-03-29 03:48 pm (UTC)Понятно, спасибо за содержательный ответ. Интересна именно была практическая сторона дела и чего именно не хватает в других языках — допустим, терминальный режим, быстрая компиляция в 64 бита, совместимость со всем унаследованным кодом и скорость работы расчета/кода есть почти во всех этих языках, и другие более новых функции тоже есть — я не был уверен, чего именно там может не хватать. Поскольку работал с приложениями БД и SCADA на Дельфи, то примерно представляю. Но насколько помню, там недостатком была жесткая привязка этих окошек к Windows (было крайне нежелательно даже менять разрешение экрана — все окна слетали). Да и вылеты БД с загадочными сообщениями и кучей прыгающих по экрану окошек помню. Вариация Free Pascal под Delphi в виде "Lazarus" вроде бы существует, но я был не в курс, насколько там на практике все совместимо или нет.
no subject
Date: 2025-03-29 04:29 pm (UTC)Ну меня привязка к Windows совершенно не смущает, как в последние годы я точно не знаю, но до недавнего времени в промышленности Windows был стандартом. У меня в лаборатории работающие под Windows осциллоскоп и анализатор спектра, Windows в станках и scada системах, в офисе на компах тоже windows Может быть в последние годы куда-то в эти области и проникло что-то другое, но мне хватает и Windows. Чтобы при смене разрешения экрана менюшки не разъезжались да надо было прилагать усилия, но это касается и современных программ на Qt, понятия не имею как оно в современных версиях Delphi/CBuilder, меня смущает, что они сами как-то очень монструозно выглядят, и я опасаюсь, что и код они такой же порождают. Впрочем, может когда-нибудь и проверю, хотя не уверен что это имеет какой-то практический смысл, учитывая, что никто уже про тот Delphi не вспоминает. Мне не хватает современной (с современным компилятором C/C++, поддерживающим современный стандарт, старому CBuilder современные сорцы не скормишь) RAD системы, при этом достаточно компактной и умеющей делать код без тяжелых динамических библиотек и зависимостей для небольших непрофессиональных задач. Такие требования отсекают все интерпретаторы, вроде java, python .net, etc, с одной стороны (не говоря о том, что это не C/C++), а Qt и подобные отсекаются с другой, тем более, что хотя какие-то зачатки редактора интерфейса там и есть, оно по простоте и удобству и рядом не стоит с Delphi/CBuilder 25летней давности. Казалось бы, программирующий на PC инженер — не бог весть какая редкость, но похоже, что мои запросы — слишком большая экзотика, раз они не нашли предложения.
PS и да, альтернативы на основе pascal мне не интересны, только С/C++, так как для программирования MCU я использую исключительно их, в основном — голый C, реже C++, обычно изрядно ограниченный.
no subject
Date: 2025-03-29 10:35 am (UTC)сейчас таким презренным сообществом рукожопов являются 1с-ники.
no subject
Date: 2025-03-29 05:57 pm (UTC)P.S. У людей милые воспоминания об юности и молодости, не надо их хейтить.
no subject
Date: 2025-03-29 12:21 pm (UTC)В начале 2000х я (в составе команды) написал на Дельфи + Oracle вполне серьезную программу для крупного промышленного предприятия. Работали на ней люди и были довольны(!) 10 лет точно, потом не знаю. В этой связи мне абсолютно по фиг на мнение "настоящих программистов". Мне Паскаль всегда нравился - четкий понятный структурированный язык, в отличие от запутанного богомерзкого Си. 😜
no subject
Date: 2025-03-29 07:09 pm (UTC)Ностальгія.
Вивчав Делфі в універі.
А зараз чистий стек — пхп, джс, вьюджс, всякі апі та графкьюєлі, та ларавелі...)))
no subject
Date: 2025-03-29 09:24 pm (UTC)Часть кода дельфи написана на ассемблере и была возможность вставлять куски в код.
Харьковчане даже сделали неплохой компилятор паскаля на дельфи.
В общем, не формами едиными. Были и серьезные проекты.
no subject
Date: 2025-03-30 05:12 am (UTC)Я не то чтобы застал, реально я начинал, я думаю, с пятой версии TP в 89-90 году, но у меня были и более ранние. На сколько я помню, это всегда был IDE с интегрированным компилятором (вот про отладку — не помню). Собственно, под IDE тогда именно это и понималось, отдельно редактор и отдельно компилятор в однозадачной DOS с дико ограниченными ресурсами был не особо-то и возможен, во всяком случае, это был бы точно не "turbo". Куски на ассемблере в код вставлять можно было очень много где, довольно убогая (зато быстрая) кодогенерация TP и всех его наследников того времени провоцировала на постоянные ассемблерные вставки, которыми изобиловала и системная библиотека, и масса сторонних библиотек для TP, дополнительно стимулируя так писать (что естественно порождало кучу write only непереносимого кода), считать такой стиль чем-то хорошим нет ни малейших оснований. Во времена Delphi компилятор с Паскаля уже не был серьезным проектом, и если не нужны были формы, то не очень понятно зачем такое писать на Delphi. Кстати, досовский Turbo Pascal уже не помню кто, но кто-то поднял в исходники на нем же самом (да, с кучей ассемблерных вставок, я думаю, там изначально и бывших), что был, конечно, титанический труд, но довольно понятный. Мне доводилось и самому "дизпаскалировать" доступные только в виде .tpu устаревшей версии библиотеки. Как я уже говорил, кодогенерация в TP была очень "в лоб". К моменту появления Delphi я уже отошел от программирования для PC на Паскале, а занимался в основном программированием микроконтроллеров, по большей части на С (ну и ассемблере, что я старался минимизировать).
Думаю, что если бы свой замечательный (реально) VCL Borland писала на стандартном C++, а не на ни с чем не совместимом Паскале (с ассемблерными вставками), у нее (у Борланда) могла бы быть другая судьба.
no subject
Date: 2025-03-30 09:07 am (UTC)Библиотеки написанные на С очень сильно проигрывали паскалю со вставками.
Turbo vision для С и Паскаля просто небо и земля был. По скорости работы и скорости компиляции. Компиляция просто ад — десятки минут.
no subject
Date: 2025-03-30 12:01 pm (UTC)Си шарп был проект создателя Дельфи. И что?
Библиотеки написанные на С очень сильно проигрывали паскалю со вставками. Нет, не проигрывали, в те времена почти все было на С написано, библиотеки, операционные системы, прикладные программы. TP, наполовину написанный на ассемблере, конечно, был довольно шустрым, но не так, чтобы резко отличался ото всего остального.
Turbo vision для С и Паскаля просто небо и земля был. Ну да, оптимизирующий компилятор — это был явно не конек фирмы Борланд... Турбо Паскаль был совсем примитивным, но и Turbo C не далеко от него ушел. Но вот я в свое время и Delphi и CBuilder использовал параллельно, пока не понял, что писать для контроллеров на С, а для PC на паскале мне слишком накладно, и какой-то беспокоящей разницы во времени компиляции не замечал. А вот если сегодня спросить у LLM (конкретно ChatGPT, но и другие отвечают похоже) "Назови топ-10 компилируемых в нативный код CPU языков программирования", то ответ будет таким:
Вот топ-10 языков программирования, компилируемых в нативный код для CPU:
C – Классика системного программирования, низкоуровневый язык с высокой производительностью.
C++ – Расширение C с поддержкой ООП, широко используется в высокопроизводительных приложениях.
Rust – Безопасный и быстрый язык, популярный для системного программирования.
Go (Golang) – Компилируемый язык от Google с простым синтаксисом и эффективной работой с потоками.
D – Развитие C++, с упором на удобство и безопасность.
Zig – Альтернатива C с простым синтаксисом и безопасной работой с памятью.
Nim – Генерирует эффективный машинный код и поддерживает гибкие высокоуровневые конструкции.
Swift – Основной язык Apple, компилируется в нативный код для macOS, iOS.
Ada – Безопасный язык для встраиваемых и критически важных систем.
Fortran – Старейший язык для научных расчетов, до сих пор активно используется.
Некоторые из этих языков поддерживают JIT-компиляцию или кросс-компиляцию, но все они могут генерировать исполняемые файлы с машинным кодом без необходимости в интерпретаторе.
Как видите, ни паскаля, на дельфи в списке нет. Ada(!) есть, а дельфи нет. Они забыты, умерли, не смотря на бравурные реляции некой Emarcadero (которая и CBuilder делает, не только Delphi). Мне думается, что именно выбор паскаля, причем в своей собственной проприетарной версии, хотя едва ли последнее на что-то сильно повлияло, и стало главной причиной того, что удобный фреймворк и инструмент работы с ним фактически канули в лету. Так как будучи сильно завязанным на этот Паскаль оно стало вещью в себе. Как оно там устроено сейчас я не знаю, это уже не важно, это было важно 20..25 лет назад.