Pascal

Pascal ("Паскаль", "Паскакаль", "Поссалъ", "Москаль", "Пасквиль", "Поцкаль", "Пасцал", "Пашка", "В-Пасть-Кал", Турба (устар.), Турбопаскаль (устар.), Труба (устар.), "Делфя") — мертвый язык программирования, созданный в 70-х годах прошлого века известным быдлокодером Никлаусом Виртом, чтобы учить говнокодить школьников и ступидентов, и изначально являлся упрощённым Algol-ем, освоив который нетрудно перейти на настоящий Algol. Но, позже ВНЕЗАПНО обнаружилось, что сей учебный язык может быть пригоден для написания реальных программ и даже игор (от чего Algol, утратив свою необходимость постепенно загнулся). Когда-то имел весьма солидную популярность, но сейчас ее полностью потерял, сохранившись в основном в виде Delphi для учебных и академических целей. Язык невозбранно привлекает возможностью писать почти как на обычном английском языке, а не ломать голову и пальцы о ++i + ++i, эзотерику истинности выражений (1/3 == 0) и (-1 > (unsigned int) 1) и прочих извращенных приёмов, принятых в C-подобных языках.

Компания «Borland» была основана в начале 80-х годов прошлого века математиком и саксофонистом Филиппом Канном. «Borland» стала популярной на рынке программного обеспечения именно благодаря своим Turbo-версиям компиляторов языков программирования, выпускаемых для широких масс населения в те годы. А первым компилятором, который они сделали, был «Turbo Pascal». Вернее не сделали, они купили некого Андреса Хайлсберга, который до этого понаписал свою реализацию под названием Blue Label Pascal, чуть допилили, упаковали, PROFIT!
Этот компилятор с языка «Паскаль» в ранних версиях представлял собой диалект на базе UCSD Pascal, до того использовавшегося в основном на яблоках. Позднее, в Turbo Pascal были <del>нагло украдены</del> невозбранно позаимствованы из Mac Pascal такие расширения, которые позволяли его признать языком объектно-ориентированного и даже системного программирования, наряду с параллельно развивающимся языком С и C++ (например, передача нетипизированных указателей в функцию, свободное приведение типов, модификатор «absolute», директива «interrupt», ассемблерные вставки и пр). Да-да, анон, это невероятно, но факт, Object Pascal был создан именно в недрах Apple и занимал там примерно ту же нишу, которую сейчас занимает Objective C. Однако, несмотря на популярность, Turbo Pascal не суждено было стать языком системного программирования. На PC. На Маках, как известно, он вплоть до 90-х годов был основным языком системного и прикладного программирования (сумневающимся стоит посмотреть исходники Photoshop 1.0), однако впоследствии был почти полностью выпилен и заменен С++ (примерно в седьмой редакции Mac OS).
Одним из самых удачных решений «Borland» было объединение в одной программе (помимо самой оболочки) редактора кода, компилятора, отладчика и доступа к интерпретатору командной строки ОС (то есть они изобрели всё то, что теперь называется IDE, a Emacs для задротов). Кодер мог запускать свою программу непосредственно из среды разработки — это было первое пришествие RAD. Была также возможность компилировать программы в ОЗУ и исполнять (и, главное, отлаживать) их оттуда, а не с диска (в те годы многие пользователи загружались с дискет (НГМД), и подобная отладка через «память» заметно увеличивала скорость работы, компиляция и запуск занимали секунды, а не минуты). Правда, придумано это было не впервые, ибо отладчиком кода в памяти невозбранно пользовались ещё на ТХ-0 и PDP-1, когда для них были только Ассемблер, Фортран и Лисп, и не было никаких дискет. Одни перфоленты, да. Но главное не в этом, там отладчик не был отдельным приложением, как тот же FLIT для упомянутого ТХ-0, поэтому тут у Borland win.
Начиная с версии 5.5 у среды радикально сменился диалект. Сохраняя изрядное влияние UCSD-Pascal и все введённые в ранних версиях низкоуровневые плюшки, в основе своей она окончательно перешла на разработанный в Apple Object Pascal, чем и послужила его широчайшей популяризации. Тот факт, что под названием Pascal в настоящее время понимается именно Object Pascal, и именно на нём основывается общепринятый стандарт языка — заслуга в первую очередь Borland и TurboPascal, ибо за давностью лет все уже давно забыли, кто же изначально этот Object Pascal создал.
В версии 6.0 среда переписана на Turbo Vision (впрочем, лишь невозбранно спизженном с Mac-ов тех времен). Но те, кому доставляла лишь алгоритмическая часть их задач (то есть школота), а не новомодные понты Turbo Vision (смысл которых они понять не могли в силу слишком юного возраста), как только могли, старались продолжать пользоваться версией 5.0 и даже 3.0. Даже не смотря на труЪ-защищенный режим, появившийся в BP 7.0, и возможность программировать под Форточки 3.11 там же. Версия 7.0 получила также IDE под Win3.x и, кстати сказать, была первой, где отошли от программирования приложений под Виндус посредством функции Winmain и предложив объектный подход в создании приложений.
Параллельно «Borland» пыталась выпускать подобные программы-компиляторы для C, Prolog и BASIC. Первым склеил ласты Пролог, потом Филю замучила совесть — выпилил Бейсик (просуществовал до трубо-паскаля 4.0, присутствовал бинарный, в формат EXE, компилятор). Turbo C — представлял собой, на то время, вполне вменяемый скоростной компилятор (в отличие от мелкомягких поделок), но получив в нагрузку два плюса и Трубо Вижен (TV) — потихоньку скурвился.
Скурвился, впрочем, лишь по мнению тех, у кого от неприятия гениального, по тем временам, Turbo Vision наступило окончательное окукливание ФГМ: им казалось, что мелкомягкие стали единственными евангелистами Цэ, во вселенной ДОСа и и даже винDOSа. На самом деле Borland C++ невозбранно имел развитие и в Windows 3.11 (ололол, да-да, тот самый легендарный OWL, просто все, кто его знал, уже уехали в Лондон), и потом заново выкуклился в весьма популярной в отдельных кругах серии Borland C++ Builder (есть мнение, что лучше бы и не выкукливался), в результате чего на плюсах тоже можно стало кодить мышкой, как в Delphi. Количество быдлокодеров сильно возросло, отправив плюсы в быдлокодерские языки. Правда до тру оптимизации руки у борманов уже так и не дошли, а потом команда и вовсе ушла пилить бюджет, выделенный Бени Гейком под свой мерзкий .NET, гибрид идей визуалбейсика, Delphi и Java в одном лице. Алсо, Borland Builder до сих пор не поддерживает стандарт С++98 (который, в общем-то, полностью почти никто и не поддерживает).
Но то было уже потом. А пока в середине 90-х годов фирма поменяла политику, хитрожопо сменив ориентацию на выпуск фирменной RAD для объектного Pascal-диалекта, спёртого ими у яблока, под ОС Windows — Object Pascal. Тем самым она стала раскручивать продукт под названием «Delphi», и, надо сказать, настолько преуспела, что Бени Гейц впоследствии выкупил команду гениальных разработчиков вместе с их домиками на колесах, чуть более, чем целиком и насовсем. Стоит, впрочем, заметить, что переход на Object Pascal случился ещё в ДОС-эру и ничего, кроме охуевания школоты от Turbo Vision, не вызвал. Скатывание среды в сраное говно началось именно в Дельфях с появлением там возможности «кодить мышкой».
В 80-е и 90-е годы прошлого века, в связи с <del>развитием технологий</del> появлением большого числа ленивых кодеров, DOS-программисты желают послать нахуй ассемблер. В то же самое время, фирмы «Microsoft», «Intel» и «IBM» (i.e. ZOG) проектируют концепт под названием «PC» (писюк), позднее «PS/2 » (полуписюк), а позднее и вовсе Wintel, и даже выпускают все это (вызывая приступы самоубиения об стены у юниксоидов и не только). Дешевые настольные компьютеры, очевидно, производят промышленную революцию. Теперь пользователем компьютера может стать практически любой человек, а не только нерд в очках. Выпускаемые персоналки имеют спрос среди колхозников, и такой же спрос существует на быдлопрограммистов, готовых говнокодировать под эту платформу. Основное требование к ним — говнокодить быстро и много. Правда, КО намекает, что дешёвые доступные настольные 8-битные компьютеры появились гораздо раньше писюков, еще в 75 году, и под них клепали интерпретаторы Basic, на чём поднялся дядюшка Билли из Мелкомягкого.
Вот тут-то «Borland» и подсуетился. Но компилятор «TP» был-таки выпущен для этой набирающей обороты платформы. И «TP» по возможностям написания кода для процессоров x86 не уступал языку «С». Но ограничение на максимальный размер массива в 64к и безумная реализация функции Delay() вызывала повышение ЧСВ у СИонистов. Устранено было только в ТП 7.01.
В результате, в то время:

Но с выходом Windows, «Borland» решил таки поддержать своих фанатов. На любое новое Технологическое введение Microsoft (VBX, ODBC, ADO, ActiveX, COM, .NET, тысячи их), среда разработки Delphi и тогда, и сейчас отвечает полной (иногда бездумной) поддержкой всего этого.

Педивикия о Delphi:
Delphi (по-русски обычно произносят ["бо́рланд дэ́льфи"] или ["бо́рланд дэ́лфи"]) — это интегрированная среда разработки ПО фирмы Borland. Delphi является средой RAD (от англ. rapid application development — быстрая разработка приложений).
В 1986 году фирма Apple разработала объектное расширение языка Паскаль, получив в результате Object Pascal. В 1989 году аналогичные объектные средства были добавлены фирмой Borland в систему Turbo Pascal (языковые различия между объектным Turbo Pascal 5.5 и Object Pascal от Apple крайне незначительны). Последующие версии Turbo Pascal, который стал затем называться Borland Pascal, дополняли объектное расширение новыми средствами, этот процесс продолжился и в ходе развития языка системы Delphi. Название языка менялось: от Pascal, через Object Pascal до Delphi, в литературе встречалось название Delphi Pascal, в последних версиях Delphi язык именуется так же, как и сама система (любопытный момент: в Delphi 7 пункт системного меню, запускающий справку по языку, как и в более ранних версиях, называется «Object Pascal Reference», а сам запускаемый им модуль помощи имеет заголовок «Delphi Language Manual», в тексте язык также везде называется «Delphi»). Автор же языка — расовый швейцар Мыкола Вирт — заявляет, что язык, используемый в Delphi — это Delphi (всегда ваш, "К. О."), а не изобретённый им Паскаль.

Существует также вполне себе нормальный компилятор Pascal. Поддерживает все возможные диалекты, но с видимым уклоном в сторону подражания Borland. В нем даже есть свой клон Turbo Vision. В процессе развития в него запилили порты библиотек и возможность компиляции кода написаного для Delphi, gpc, hp/ux, МАКовских и ИСОшных стандартов паскаля и вообще всего, что Pascal хотя бы отдаленно напоминает. Также, в отличие от своего старшего собрата, прибитого гвоздями к x86, реально является кроссплатформенным и посему винрарен чуть более, чем полностью. А ещё есть IDE Lazarus, внешне похожее на Delphi, в которое даже можно импортировать некоторые сторонние компоненты для той самой Delphi (ну и встроенные VCL клоны тоже многие уже переписаны, при том реально работают и под Linux и под Maс OS X, ну и под винду — ясен пончик). Правда, крайне тупой анон жалуется на размер получаемых им экзешников — дескать гигантский даже в сравнении с Delphi, не зная про нужные ключики.
Применение на практике сего продукта требует готовности к борьбе с сиюминутным недоделками типа несоответствия прототипов библиотечным функциям или полному отсутствию оных в стандартных модулях. Однако при должной осторожности, если не наступишь на мину, можно получить годный бинарник, который будет работать под всеми линуксами вне зависимости от версий этих ваших libc.
Также была разработана действительно труЪ (только для обучения) версия Паскалю — PascalABC (устарела морально и физически, больше не развивается) и PascalABC.Net. Хотя бы встроенный задачник стоит того, чтобы взглянуть на эту систему.
Стоит, правда, заметить, разработчики никогда не ставили себе задачей обеспечить полную совместимость с Delphi (и тем более с TP) — для них был эталоном язык C#. Оно так же закрыто (что не мешает просматривать исходные тексты и наматывать на ус идеи), запускается под .NET и уже успешно портирована под Mono. И изначально создавалась именно для обучения студентов программированию (учителя, уставшие от TP/FP это прекрасно поймут), что однако совершенно не препятствует созданию коммерческих приложений. Идеально подходит для первого языка программирования, низкий порог вхождения вначале, а потом, если школьник чему-то научится, писать серьёзные проекты, не переходя на Delphi либо C#/C++.
В последнем релизе поимела возможность редактирования формочек, совсем как в этом вашем Delphi и Lazarus.
В довершение, нельзя не отметить еще один вполне годный компилятор — Virtual Pascal. Представляет из себя 32-битный компилятор с заявкой на кроссплатформенность. Имеет встроенную IDE с подробной помощью и отладчик. Может создавать исполнимый код для операционных систем OS/2, Win32 и ограниченной поддержкой линукс через костыли, навроде EMX. Впрочем для линупса никто на нем не писал, а вот для олдфажной OS/2 вполне кодили, пока в Free Pascal глюк на глюке сидел и глюком погонял. Раньше был платный, ныне бесплатен и доступен для свободного скачивания. Увы, проект заброшен с 2005 года. Поговаривают, что он написан чуть менее чем полностью на ассемблере, из-за чего поддержка кода адово затруднена. Исходники закрыты. С другой стороны, можно сказать, что Virtual Pascal является законченной программой. Реализована полная совместимость с языками Turbo Pascal (v7.0), Borland Delphi (v2.0) и Free Pascal (v1.0.x).
Почему именно Virtual Pascal? Размер создаваемого кода — вот главная фишка компилятора. Так, например, консольная программа, выводящая Hello World, скомпилированная Virtual Pascal v 2.1 занимает 11,776 байт. Та же программа, скомпилированная Free Pascal v2.4.0 — 31,548 байт. Delphi v7.0 — 15,350 . С оптимизацией тоже дела обстоят неплохо, иногда получается быстрее Free Pascal. Знакомый всем с детства IDE также доставляет (хотя она же давно есть и во Free Pascal).

Это ещё один занятный компилятор Pascal. Позволяет создавать программы для мобильников под Java ME, причём компилирует сразу с Паскаля в жаба-байткод. Тормозной (впрочем, небольшие программы компилирует довольно быстро, а вот по-настоящему сложные проекты компилит минут по десять, чем эпично сливает NetBeans) и не слишком удобный инструмент для создания приложений и игр для мобилы. Кроме того встроенная функциональность обрезана по самые яйца: никакого ООП, никаких ссылок, следственно вообще никаких динамических переменных (только статика, только хардкор), никаких параметров-переменных в функциях (если хочешь передать наружу более чем одно значение, то тебе помогут только глобальные переменные). Распространяется и работает бесплатно. Имеет бешеную популярность среди школоты, которая только недавно учила Паскаль в школе на информатике, а тут вдруг выяснилось, что на данном языке можно писать и что-то более востребованное для рынка. Увы, из-за отсутствия прямых рук и верхней головы неспособны овладеть даже таким элементарным языком и занимаются только тем, что просят помощи у более продвинутых товарищей на одном широко известном в узких кругах форуме. Кроме того, МР имеет возможность подключения библиотек на Java, что более чем актуально, ибо сам по себе язык скуден.
Тем не менее, на Delphi написано множество кошерных и православных программ, наиболее известные:
Во избежание срачей следует заметить: вышеприведенный список нужен не для демонстрации превосходства над другими языками, а чтобы показать, что сам по себе Паскаль (и даже его реализация — Delphi) вполне кошерен и годен к использованию.

А вообще, полный разбор недостатков Паскаля был «выполнен» Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования». Оценить градус неадеквата автора можно тут тут,
или в каком-никаком, но переводе тут.
Это, правда, слабоактуальный даже на момент выпуска статьи бред из конца 70-х, но все равно кагбе намекает. Вирт по выходу сего сборника пытался вяло отгавкиваться, что он-де сторонник идеи о том, что для каждой задачи необходим свой инструмент, и что Паскаль разрабатывался только как учебный продукт и ни для чего более использоваться не должен, но никого не убедил. А потом и вовсе запилил Модулу-2, оказавшуюся таким хтоническим пиздецом, что он аж сам испугался, и, узрев свет энтерпрайза, ушёл писать сборщик мусора для жабки.
При этом особенно доставляет то, что эта смешная и неадекватная статья вышла в начале 1980-х, когда уже существовали более развитые диалекты Паскаля, избавленные от большинства указанных в статье пороков, но которые, похоже, Кернигану были принципиально неизвестны. Некоторые недостатки Паскаля были также исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров. Никлаус Вирт понимал недостатки созданного им языка, но, следуя традициям академической среды и собственным принципам, согласно которым «неподходящий инструмент надо не исправлять, а заменять», не стал его самостоятельно развивать дальше, а разработал новые языки семейства: Модула-2 и Оберон, а на Паскаль положил шланг. Вот только Оберон и Модула так и остались популярны в узких кругах (то, что на Модуле написаны модули управления Буран, а также современными спутниками — не считается). При этом типовой Delphi-кун искренне верит, что Вирт после создания Паскаля впал в маразм и перестал понимать разницу между практическим инструментом и академическим упражнением (не верящим — достаточно посмотреть на blackbox, как реализацию Oberon).
В Интернетах уже стойко закрепилась ситуация, когда постоянно, буквально уже на третьем или четвертом посте в форумах (да и вообще где бы то ни было) какой-нибудь долбоеб нет-нет да и обязательно вставит свои пять копеек про то, что:
и тысячи, тысячи подобной ерунды.
На Delphi и CBuilder написана целая российская SCADA-система и система программирования логических контроллеров, это вам не палец обоссать, и не ОВНОм воспользоваться, импортозамещение во все поля.
Что, как несложно догадаться, не может не вызывать недоумения, ибо вроде как продукт уже мертв, а почему-то и регулярно его новые версии выходят, и работа твоя никуда не девается, и новых проектов на следующий год сейлзы навалили уже пару штук, а нормальных сотрудников с опытом работы даже в Москве просто так не найти, и все нормальные хотят ЗП строго от 80-90 штук на руки (и это еще без бонусов), и почему-то до сих пор ничего в родной фирме (и во всех трех, в которых удалось поработать за последние лет десять) так и не переписали на .NET (хотя все собирались и даже .NET-чиков наняли, аж два отдела). И т. д.
Так стоит ли разобраться в ситуации? Откуда столько мегатонн ненавистей к, в общем-то, вполне обычному коммерческому продукту для сверхбыстрого написания всяких окошек к базам данных и не только?
А причины, наш дорогой читатель, просты и очевидны, лежат, так сказать, на поверхности: человеческий, сука, фактор.
Вернемся в школьные и студенческие годы нашего типового будущего говнокодера, но пока еще такого юного и полного подающих надежд дарования. В чем суть его радужного детства-студенчества? Правильно! Он старательно изучает в школе Pascal (Turbo/Free), и потому что преподаватель информатики ничего особо другого и не знает, а будучи помещен в ВУЗ-ик — наше дарование натужно изучает много чего, от C++ и Java, но вот почему-то все курсовые получается писать только на Delphi, да и многие однокурсники, хоть и пускают сопливые пузыри про Ruby и .NET, но курсовой по дискретной математике, с рисованием графов, все равно шпарят на Delphi.
Вот и получается, что отучившись в ВУЗе, наше юное дарование кое-как умеет программировать на Delphi, в теории знает основы .NET и/или Java (в рамках семестра), ну и туманно помнит, что в результате целой ночи так и не написало лабораторную на C++, ибо, блин, как же непонятны эти дурацкие указатели там. Ну и PHP еще, слышал, есть такой язык…
Но… это все хорошо. Но диплом защищен, ура-ура, пора бы уже устраиваться и на работу, правда (ну или третий курс уже стукнул, и тоже поработать хочется)? И… вот тут и случается Epic fail! Что имеет и что получает наше дарование?
Во-первых, ЧСВ изначально дает о себе знать. Ибо или красный диплом получен, или самомнение о себе явно зашкаливает до уровня второго если не Билла Гейца, то Торвальдса.
Во-вторых… а вот реалии почему-то говорят строго об обратном. Попытка собеседования вызывает неумолимый, жгучий, и очень даже реальный Butthurt! Дяденька в очках на собеседовании (на всех двадцати фирмах куда была попытка устроиться со знанием любимого Delphi) весьма жестко, непонятными вопросами и задачками показывает, что ты — практически полный d’Bill и программировать умеешь чуть менее, чем вообще не умеешь (а реалии таковы, что на имеющиеся вакансии Delphi действительно нужны прокачанные годами некислые скиллы, ступидентов туда уже давно не берут, ибо это чревато совсем неуправляемыми потоками говнокода вплоть до потери бизнеса). А даже те дяденьки, которые говорят «ну хорошо, мы подумаем» — почему-то не перезванивают! А это больно! Это очень больно! А папа, мама настойчиво намекают, что пора, сынок, и на работу устраиваться, не хотят они за комнату съемную в Москве твою платить, кризис, дескать. И за одежду и питание, пивасик — тоже (а это ваще плохо).
В-третьих, посмотрев по сторонам, наше дарование весьма неиллюзорно убеждается, что более расторопные одногруппнички быстренько уже понаустраивались во всякие фирмы, где нужны PHP, Python, .NET и даже Java-кодеры. И вообще без опыта работы! Вообще, просто пришли говорят, порешали задачи на сообразительность, и все, взяли. Во как!
И тут наше дарование принимает стратегически верное решение. Покупает книги вида «PHP5 и MySQL», «Программирование на ASP.NET», «Ruby on Rails», «Основы Tomcat», «Python» Лутца и «Django» Головатого, изучает их все, и… с пятой попытки устраивается хоть куда-то. WIN! PROFIT!
И… ну короче, надоело уже. Все вы уже поняли. Юное дарование получает какие-то денежки, начинает прилично питаться, потом начинает даже говнокодить (через год) что-то уже самостоятельно, а не под строгим наблюдением рядом сидящего говнокодера с чуть менее нулевым, чем у тебя самого опытом, даже снимает через года два отдельную квартирку. И… понимает! Что во всем виновата Delphi! Во всем виноваты преподаватели! Которые совали ему мерзкую Delphi, он ее всю изучил, а она не дала ему зарабатывать даже на питание, одежду и съем квартиры…
Впоследствии это тело дорастает даже до тимлида какого-нибудь, в EPAМ-е, процесс окукливания пациента в его ненависти к Delphi окончательно цементируется, и уже вполне половозрелый балбес лет 27 от роду решает донести миру ПРАВДУ!

Отдельной иконой российских паскаляфагов являются учебники Валерия Васильевича Фаронова. Учебники представляли собой, особенно для того времени, лютейший вин — там просто, понятно и структурировано объяснились как основы программирования, так и собственно язык. По сути, многие программеры девяностых (включая автора правки) учились быдлокодить именно по этим учебникам. Вообще, надо понимать, что вменяемых учебников по любому языку, что у нас, что за бугром, считанные единицы — 95% авторов выебываются и намешивают в текст какой-то романтической хуйни, вместо того чтобы планомерно излагать смысл. Фаронов — как раз такой.
На данный момент существуют издания Фаронова для всех версий Паскаля и Делфи. Начинающим хацкерам крайней рекомендуется — там вам на пальцах объяснят, что такое условные операторы, циклы и объекты. Этого вполне достаточно, чтобы понять большинство современных объектных языков.
Алсо, интервью с автором и его труды.

Pascal (Free Pascal/Delphi) — среди олдфагов считается расово верным языком программирования, но для современных задач (WEB, Enterprise Mobility), которые обычно уже не разрабатываются только под нативый Win32 безнадежно устарел.
Но сам язык Pascal, как и Delphi — вовсе не мертв, и новые версии выходят практически каждый год, радуя олдфаговцев и не только. А для эталона мертвости языка советуем болезным обратить взор на такие вещи, как VB6, Visual FoxPro, J++. Или на BeOS и OS/2.
Кроме того, в виду наличия Free Pascal и Oxygene (где компиляция в .NET и JVM) современный Паскаль демонстрирует практически уникальную кроссплатформенность, не достигнутую даже C/C++. Хотя типовому говнокодеру подобные моменты не нужны и непонятны. К слову, в последних дельфях не компилится только под линукс (ну это пока), а под все эти ваши айфоны дельфины давно говнокодят.
Классический же Delphi, в текущем виде, весьма удобен для быстрого написания относительно несложных оконных приложений под Windows для массового тиража (вроде Skype или Total Commander, всего-то несколько десятков человеко-лет в сумме, ну вы поняли). В этой дисциплине он выигрывает у С++ в скорости написания, а у .NET — в простоте развертывания (КО как бы говорит нам, что хоть размер инсталлятара .NET 2.0 составляет всего лишь 23 Мб, но для инсталляции всех апдейтов, версий 3.5, 4.0 и вот уже 5.0 нам предлагается скачать и установить мегабайт так 600, одна только установка этого всего может занять час на машине клиента, да еще и в три этапа с перезагрузкой), ну и в защищенности кода от прямого реинжиниринга (получить исходный код любого скачанного поделия на .NET или Java из его байт кода посредством просто чудных программ вроде Spices.Net Decompiler, .NET Reflector, JAD decompiler, Mocha и прочие тысячи их — обычно проще пареной репы для любого школьника).
Правда, любой более-менее серьезный софт на .NET или Java защищают с помощью обфускаторов, и разобраться в такой каше не намного легче, чем в ассемблере, но кого это останавливало?
А вот низкоуровневое системное программирование на Pascal (драйверов каких-то там или ещё чего) — вообще полное исключение — там традиционно правит исключительно С (потому что никто DDK под Delphi даже не пробовал портировать в виду мизерности рынка — хотя слухи были).
Также следует отметить, что до недавних пор Pascal практически никак не использовался для разработки Web приложений, так как совершенно не был для этого приспособлен (как и для любого типа серверных приложений). Ололо, это не проблема Pascal, как языка - просто нехватает годных библиотек.. UniGUI? Нет, не слыхали. Тру-Web-технологии (Java, ASP.NET, Django, Ruby on Rail и таки PHP) используют совершенно другие подходы (автоматическая сборка мусора, JIT компиляция, динамическая/нестрогая типизация), которые в итоге позволяют в срок написать поддерживаемое приложение не вызывая баттхерт у программистов, его пишущих. Тогда как типичное Delphi приложение — это незащищенный код (как и в С/С++), и типичный чумазый говнокодер, который попытается обратиться по ссылке к уже несуществующему объекту или выйти за границы массива, способен по-тихому разрушить всю память серверного приложения (тогда как в <del>языках</del> технологических платформах вроде Java/Spring/Grails, C#/ASP.NET, <del>PHP</del>JavaScript/Node.js, Python/Django Ruby/Rails данная типичная проблема решена на фундаментальном уровне, то есть запрещена изначально). Однако, свято место пусто не бывает и теперь его заняла Smart Mobile Studio.
Стоит заметить, что сабжевый компилятор есть и для микроконтроллеров. Поделие одной известной фошыстской конторы для PIC выдает вполне себе годный и вменяемого размера код, а расово сербские сербы запилили целую линейку компиляторов, начиная от баянных AVR и заканчивая моднявыми ARM и экзотикой типа dsPIC.
Отсюда непосредственно следуют выводы о популярности языка у работодателей и говнокодеров (на самом деле нет проблемы открыть или найти вакансию, проект, проблема скорее найти вменяемого разработчика, за соизмеримую зарплату, так что делайте выводы).
Тем не менее современная среда разработки — это не только язык программирования, но и огромный обвес из прикладных библиотек. К сожалению на данный момент не нашлось достаточного количества платных/бесплатных энтузиастов, которые смогли бы вывести инфраструктуру и синтаксис Delphi на современный уровень.
В целом отказ от Delphi произошел по двум объективным причинам. Во времена расцвета Dephi, когда программы ходили пешком под стол (то есть прямо в базу, что называлось 2х уровневой архитектурой), он активно использовался в корпоративной среде. Но когда программисты смекнули, что не все компьютеры могут иметь Windows, а браузер таки имеют все, даже мобилы — получила распространение трехуровневая архитектура и сферу корпоративных приложений прочно заняла Java/J2EE. С другой стороны с появлением .NET при активной поддержке Microsoft Delphi был выброшен и с рынка десктопных приложений Windows.
Неосведомленному читателю все еще может показаться, что все-таки язык жив, но это скорее стадия вялотекущей поддержки. Об этом красноречиво говорит тот простой факт, что в статистике GitHub по языкам программирования Delphi/Pascal в списке топ-50 просто нет.