RE: Как Microsoft задушил Delphi, создав .NET: история одного программиста и одного чемодана
Тема зацепила. Я сам учился на Delphi и писал на нём ПО для внутренней автоматизации, последний раз в 21
КРАТКО: Долголетие языка определяется не столько техническим превосходством, а сочетанием экосистемы, поддержки корпораций, адаптации к трендам и способности формировать критическую массу разработчиков.
Киллер фитч с современных языках не так много по сравнению с дельфи. Кроссплатформенность через виртуальную машину независимого от архитектуры P- кода?
Да. В java это новшество было. Потом и в c#. Только фитча эта была придуманная в 70тых виртом, а первая буква буква "P-коде", происходит из языка Pascal. Во времена Вирта были не только интел и АРМ, но и приличный зоопарк не совместимых архитектур.. Ну гарбидж коллектор добавили. Элементы из функциональных языков (лямбда..) сделав язык из императивного и ОО мультипарадигмальнным. Я не мог понять чем delphi хуже c#, но вот когда надо было писать программу которая рулит правами на файловом сервере столкнулся с тем, что в дельфи у меня для этого нет библиотек. Можно обойти взывая set-acl, можно вызывать API ОС но зачем? в .net всё из коробки
А дельфи убила не MS. А слабость вендора, конкуренция и смена технологий, отчасти даже смена моды . Всё таки рассвет дельфи в компаниях- это ПО на АРМ Windows+ возможно сервер приложения на той же винде. А сейчас, зачастую на АРМ пользователя браузер в котором и "клиент" в виде фрондэнда, а бизнес логика на бэкэнде на сервере, часто под линукс. А ещё есть выстрелила мобильная разработка и появился тренд на кроссфлатформенность (не знаю уж насколько обоснованный реальными потребностями). Выкупила бы MS Delphi его вместе с разработчиком - вероятно на нем бы писали и сейчас, было бы комьюнити. Основную причину надо искать не в языке или IDE. А в общих закономерностях капитализма.
В результате мы и получили, то, то получили.
TIOBE индекс говорит о
Highest Position (since 2001): #6 in Oct 2001
Lowest Position (since 2001): #30 in Jul 2020
Впрочем, на момент написания статьи (апрель 25) он вновь вошел в десятку заняв 9 место с рейтингом 2.53%
1. Корпоративная поддержка: «Деньги решают всё»
— Java: Под контролем Sun/Oracle. Инвестиции в JVM, Spring, Android ($3 млрд доход Oracle от Java в 2022).
— C#: Интеграция с Microsoft (Azure, Office, игровой движок Unity). Доля .NET в enterprise-секторе — 34% (Forrester, 2023).
Бесплатные IDE, поддержка преподавание в вузах, конференции и конкурсы для разработчиков, реклама, информация в прессе, гайды, курсы, хакатоны, спонсирование разработки библиотек и т.д
С — AT&T (через Bell Labs) . ФАС в США не разрешило at&t продавать unix как продукт и компания бесплатно распространена ОС вместе с исходным кодом среди университетов . Это сделало C обязательным для изучения в CS-программах (MIT, Berkeley).До 1984 г. код поставлялся с правом модификации (наследников ветки беркли мы и сейчас знаем как *bsd ) .
С++ изначально детище той же лабораторий AT&T. Тогда компания не резала дивиденды, не была закредитованна и показывала огромные доходы (Как монополист на рынке телефонной связи). И могла свободно вкладываться в разработки, которые, как видно сейчас, сильно повлияли на развитие ай-ти индустрии (си, C++, Unix)
.—Go, за спиной которого Google
—Swift за спиной которого Apple. Посмотрите бюджет Apple и её траты на разработку экосистемы разработки ПО для своих устройств.
— Basic. Который тянула ms виде VB и VBA , пока не поменяла его на Visual Basic .NET, где от оригинала осталось уже совсем мало. Язык ещё более древний чем паскаль, и в изначальном виде архаичный. Кто начинал с УКНЦ и Спектрума вспомнят нумерацию строк,GO TO (привет Дейкстре) и прочие особенности, которые в 21 веке уже выглядят совсем странными. Язык ещё более старый - 64год. И как говорил кто то из классиков, обучение программирования на нем уродует ум. Но, поговаривают, что Билл Гейтс когда то в юности пишущий на нём имел к языку сентиментальные чувства.
— Delphi потеряли влияние из-за проблем Борланд который был не слишком успешен, а потом IDE пошла по рукам, а через год и сама Borland была поглощена microfocus. Причем даже в ту эпоху, delphi ещё был популярен хотя бы (российском бизнесе) и в обучении- проект не был дорогим. "7 мая 2008 года компания Embarcadero Technologies приобрела у Borland её подразделение CodeGear за $23 млн стоимости предприятия и $7 млн дебиторской задолженности." А штат CodeGear, если верить вики, был 200 человек. Сравните это с возможностью инвестиций и штатом Google, MS, Oracle, Apple
16 млн $- это по меркам бизнеса мало. Какой нибудь НПЗ провинциальный в РФ стоит в разы дороже. Для сравнения- apple в этом году планирует потратить 45 млр$ на байбэк и дивиденды.
Маленький ( меркам крупных вендоров игрок) который находится на одном рынке с самыми компаниями из топа мировых бизнесов по капитализации, каковы его шансы?
Исходя из реалий современной экономики. Забудем о программистской специфике, вспомним о общих законах капитализма, о тенденциях к монополизации о которых писал ещё дедушка Ленин, а до него и Макс. Причем в разработке ПО себестоимость ПО при продаже вендор делит на количество клиентов. Эффект от масштабирования тут выше, чем, например, в торговле. Но даже в торговле мы видим не миллион киосков от сотен тысяч ИП а магнит (он же владеет Дикси) с пятерочкой (владеет, также Перекрестком). В США есть волмарт, в Германии Лидл. Кроме необходимость окупать разработку (и генерировать прибыль) меньшим количеством клиентов, есть ещё, например, меньшая стоимость привлечения заемных средств- Apple готовы одалживать под меньший процент т к риски её банкроства крайне малы.
Малые бизнесы могут или вырастать до крупных игроков. Или отстающими, но такие компании часто гибнут (к нашей ситуации- через продажу решения и поглощение). Либо -занимают нишевые позиции. К, примеру, решений для автоматизации автовокзалов в РФ. когда я проводил анализом было всего 3 на всю страну. Международные не подходят из за разницы в процессах в т ч из за особенностей законодательства. Ну и исторически сохранившиеся самописные системы. Довольно маленький рынок. И не так много денег. что бы крупному бизнесу было была ниша интересна.
В языках, есть пример- Ada. Он разрабатывался для нужд министерства обороны США и остался специализированным для американских военных и систем с высокими требованиями к надежности ПО (к примеру, автопилоты в Боинг и аэробас). Для массного использования он оказался громоздким и сложным. Но у языка особый статус и доминирование в узких нишах позволяет говорить о, в каком то смысле, даже более устойчивой его позицию чем у Delphi . Разработчиков на нём, хотя и ещё меньше, НО- он доминирует в узких нишах. И это является залогом его успеха.
2. Экосистема: библиотеки, фреймворки, инструменты
Python: PyPI: 553 тыс. пакетов . От NumPy для науки до Django для веба.
JavaScript: npm — крупнейший репозиторий (2.1 млн пакетов).
Delphi когда-то имел огромную базу актуальных компонентов ‑torry delphi pages. Было там 30 тыс компонентом, насколько помню. Зашел сейчас — компонентов и их библиотек — 8 476, за последние 30 дней обновлено только 17. Многие компоненты из «золотого века» Delphi в современных версиях не заведутся. А для многих задач, актуальных сегодня, просто нет компонентов/библиотек. А без них писать‑ долго и дорого. Поэтому, для системного администрированию я перешел на PowerShell, а для интеграции ИС‑ Питон.
3. Сообщество: критическая масса разработчиков
JavaScript: 17.4 млн разработчиков (SlashData, 2023)~
Python. Вспоминаем о 553 тыс. пакетов для решения самых разных задач. Ощущение, что бывает уходит больше трудозатрат на поиск библиотеки, выбор и изучение её, чем на написание кода
За Питоном стоит сообщество. И в разработке языка и в разработке интерпретатора. Открытое решение со множеством IDE. Delphi был вендорским решением, но не имел ни надёжного богатого владельца который его продвигал, ни нескольких крупных игроков вокруг языка (как C++,cи, Java, ни открытого сообщества как у того же питона).
Язык (объектный паскаль) и среда разработки, фреймворки в Delphi идут в едином продукте. В случае успеха- это возможность стать монополистом на рынке. Но это и причина неуспеха. Меньше сообщество. Да и ЛПР решающий сделать ставку на такойрешения берет на себя ещё и риски вендора с которым, что то может случиться- через пару лет. И это создаст проблемы при дальнейшей разработке. У языков имеющих несколько конкурирующих IDE риски ниже
Лазаус появился поздно и не стал массовым. Остальные поставщики паскаль компиляторов- Free pascal, gnu pascal, fpc, vp были слишком незначительны.
Против Delphi работало и слияние современная итерация паскаля и среда разработки. При крупном и надежном поставщике это могло бы сделать вендора локальным монополистам и обогатить, но если будущее экосистемы под вопросом, то какой тех лид в здравом уме сделает ставку на неё в проекте которому жить много лет..
Остальные основанные на паскале языки созданные Виртом позже (модула 2, оберон), тоже не получили широкого распространения.
4. Адаптация к трендам: веб, мобилка, AI
Паскаль когда то в 80-тых конкурировал с Си (турбо и борланд паскаль и Си). Именитые теоретики в книжках спорили- о плюсах Паскаля и Си и обсуждали, нужна ли адресная арифметика и должен ли разработчик на универсальном ЯП иметь возможность прострелить себе ногу. Потом были Dephi vs c++ builder (+vcl) vs Microsoft Visual C++ c mfc. Как понимаете, эти решения сейчас тоже, не самые востребованные
Python: Доминирует в AI/ML (TensorFlow, PyTorch). 75% исследований ИИ используют Python (Nature, 2022).
Kotlin: Замена Java в Android (Google объявил её приоритетной в 2019). Рост вакансий на 200% с 2020 (Indeed).
Аутсайдеры: Perl потерял позиции (с 80% веб-бекенда в 2000 до 5% в 2023).
Delphi заточен под windows GUI. в эпоху кросплатформеенности, веба с фронт эндом и бэк-эндом, мобильных приложений, он пытался что-то предлагать, но это были не те ниши, где проявлялись сильные стороны. Он был в отстающих.
5. Низкий порог входа: простота vs. мощность
Считается, что фактор положительный. За это принято хвалить Питон.
Но всё неоднозначно. Встречал тезис, что Deplhi от его использования массового в образовании проиграл. Много некачественного кода написанных студентами создало негативный ореол языка.
6. Легаси-эффект: «Работает — не трогай»
COBOL: 43% банковских систем США (Reuters, 2021). Переписать 220 млрд строк кода — $500 млрд затрат.
PHP: несмотря на всю критику, до сих пор на 78% сайтов (W3Techs), включая Facebook (до Hack).
Delphi тут и живет. В системах, которые разрабатывали корпорации в эпоху его популярности. Поэтому вакансии на HH до сих пор появляются. Он стал нишевым. Но какую-то нишу сохраняет и фортран (родом из 50-ых) - численные методы и код для научных исследований.
7. Нишевая специализация: быть лучшим в одном
R: Статистика и биоинформатика. 60% исследований в Nature используют R (2023). При сильной конкуренции в этой сфере Питона
SQL: 100% баз данных. Альтернативы (NoSQL) не вытеснили, а дополнили.
Pascal (образование ) и Fortran (наука) были потеснены Python/Julia.
В образовании поменять язык, очевидно. легче. чем в банковском ПО которое писали 10 лет. Новую методичку написать, изучить язык преподавателю да и ide поставить в компьютерном классе.