Soft

Язык программирования Паскаль живее всех живых

Краткая история ЯП Паскаль, линейки компиляторов от Borland, современное состояние Delphi и другие современные диалекты

Введение

Во-первых, хотелось бы поблагодарить всех, кого Delphi обидела так, что даже кушать не могут (она старается), за то, что подкинули тему для разбора. Ну и я уже видел пару видосов по истории Паскаля такого уровня безграмотности и незнания базовых вещей, что и представить сложно.
Во-вторых, само по себе определение такого языка программирования, как Паскаль довольно затруднено. Существуют языки, развитие которых определяется комитетами, существуют языки одной компании, которая и устанавливает стандарты, а существуют языки, созданные в академической среде и в дальнейшем развивавшиеся стихийно. Паскаль относится к последним, в лохматые годы он стандартизировался, но всем пофиг.
Язык же среды программирования Borland Delphi (сейчас уже не Borland), изначально называвшийся Object Pascal, а в 7-ой версии переименованный в Delphi, фактически, стал языком одной фирмы, очень далеко ушедшим от изначального Паскаля, чем видимо, и было вызвано его переименование. Тем не менее, именно продукты от Borland, как наиболее успешная линейка, установили стандарты, на которые в той или иной мере ориентируются другие варианты Паскаля. Поэтому речь пойдет в первую очередь о линейке Borland, об остальных же по мере необходимости, без упоминания Паскаль-подобных языков, которые считаются отдельными.

История древнего Паскаля

Как известно, Паскаль придумал Никлаус Вирт на основе языка Алгол. Для обучавшихся на Питоне нужно уточнить, что на основе Алгол-60, после того, как в Европе была предпринята попытка создать ему замену, ныне известную, как Алгол-68. Общего у этих Алголов, ну как бы это сказать… Считается, что почти все языки (ну императивные-то точно) делятся на фортраноподобные, паскалеподобные и C-подобные. Последние 2, типа, алголоподобные. Я бы сказал, что Паскаль алголо-60-подобен, а C алголо-68-подобен. Похожего у Алгола-60 и Алгола-68 разве что операторный блок. Примеры программ интересующиеся могут сами поискать.
С точки зрения Вирта, Алгол-68 был слишком переусложнен. В итоге, Алгол-68, действительно, не прижился, а Вирт в 1970-ом создал свой язык с простотой и ясностью синтаксиса. Считается, что Паскаль изначально учебный язык, хотя, возможно, максимальная пригодность для обучения была лишь одной из целей. Как бы то ни было, новый язык получил распространение.
Вирт почти не принимал участия в дальнейшей судьбе своего языка, его подход был таким, что под каждый новый проект надо делать новый язык (и освоить больший бюджет), «исправляющий» проблемы предыдущего. С необходимостью же сопровождения проектов годами, делающей радикальные языковые изменения нежелательными, Вирт, как работавший в чисто академической среде, не сталкивался.
Если честно, то «исправления», которые Вирт принес в Модулу у меня ничего кроме мата не вызывают. Во-первых, Модула регистрозависима, а регистрозависимость – это с моей точки зрения один из серьезнейших недостатков. При чтении текста, регистр отсутствует, и переменные: A и a читаются одинаково. Так же Модула решила избавиться от «мешавших» операторных блоков. Вот сишникам {} не мешают, мне begin\end тоже никогда не мешали, а Вирту помешали.
Как бы то ни было, Паскаль использовали и расширяли, как считали нужным, а в 1983-ем году появился компилятор от Borland. И это была революция, но не в языке, а в средствах разработки. Borland Pascal стал первой IDE в истории программирования, предоставившей редактор кода, компилятор и отладчик в рамках одной программы (не сразу, но историю версий можно глянуть хотя бы в Вики). Компилятор однопроходный и работал очень быстро. Он и сейчас сверхбыстрый, но тогда ПК чаще работали с дискет, не говоря уж про мощность их CPU. Стоило это чудо какие-то смешные для рынка компиляторов того времени 49.99$, т. к. разработчики компиляторов ориентировались на корпоративных клиентов, готовых платить сотни долларов, и еще не оценили рынок ПО для только возникших ПК.
Borland Pascal 7.0. Скрин взят из Википедии. У многих сведет олдскулы.
Из изменений в языке остановлюсь на двух:
  1. В отличие от Вирта, который ради введения модульности решил городить аж новый язык, Borland придумали концепцию юнитов (ранее, видимо, был только примитивный include). Паскалевский unit - штука любопытная, он состоит из следующих секций: interface, где находятся объявления всего, что юнит должен экспортировать, implementation, где находится реализация и объявления всего, что извне не видимо, опционально, initialization, где находится код, выполняемый при использовании юнита, finalization, где находится код завершения работы. Т. е. юнит похож на объект с секциями private и public, а также конструктором и деструктором. Сейчас юниты считаются частью языка, которая «была всегда», и любые диалекты ее поддерживают.
  2. Введение объектов, подобных таковым в C++ в версии 5.5. Язык соответственно стал называться Object Pascal.
Всё было замечательно, Borland так же окучивала любителей других языков, создав, например, Turbo C. Microsoft делала совместимый с борландовским компилятор Паскаля, но по какой-то причине отказалась от него. Но в начале 90-ых Паскаль стал терять популярность в первую очередь в пользу C\C++. В качестве причин называют распространение ОС семейства Unix, откуда C и пришел, моду на ООП, которое C++ и тащил, хотя Object Pascal его тоже имел. На мой взгляд, большую роль сыграло то, что Паскаль тех лет маленько дубовый, в нем довольно много ограничений, или требований, которые не всем нравятся. Довольно долго пишущим на Паскале, было чему завидовать пишущим на C++.
Правда, когда доходило до отладки зависть заканчивалась… Нет, наворотить дел и на Паскале можно, но на C это делается максимально легко и непринужденно, у меня в этом плане еще с универа травма. Насчет производительности генерируемого кода компиляторами тех лет, ничего сказать не могу, сейчас C++ после десятилетий оптимизаций компиляторов безальтернативен при написании максимально производительного кода, вроде графических движков, или движков баз данных. Но что там было 30 лет назад…
Вторая проблема у Borland выявилась в связи с массовым распространением баз данных, с которыми ее продукты дружили не очень.

Рождение Delphi

Новый продукт от Borland вышел в 1995-ом, получил имя Delphi и решал 2 задачи:
  1. Радикальное упрощение создания пользовательского интерфейса Windows-приложений (Delphi 1 для Windows 3.1, Delphi 2 для Windows 95). Delphi в этом плане была не первой, т. к. Visual Basic 1.0 вышел еще в 1991-м. Но к середине 90-х, в связи с массовым переходом на Windows 95, Delphi попадала в яблочко предоставляя по сравнению с VB больше возможностей.
  2. Доступ к базам данных через Borland Database Engine (BDE). Есть предположение, что само название Delphi прямо предполагало, что «если вам нужен Oracle (который СУБД), то вам в Delphi».
Вопреки мнению дилетантов, не написавших ни строчки промышленного кода, Delphi – это не про формошлепство. Факт, что даже не очень квалифицированный программист, который в C++ не разберется, сможет в Delphi с горем пополам сделать простую программу. Ну так и Java является инструментом, ориентированным на массового программиста не самой высокой квалификации, у которого просто нужно отнять всё то, на чем в C++ ломают себе ноги. А Python рекламируется за доступность для всех. Концепция Microsoft тогда предполагала, что сложные вещи квалифицированные программисты должны писать на C++, а простые, вроде пользовательских рабочих мест можно отформошлепать на VB. Возможности самого VB ограничены, в нем можно использовать, написанные на «взрослом» языке ActiveX-компоненты, но в самом VB их создать не получится.
В Delphi можно создавать проекты любой сложности. Так же Паскаль не запрещает прямую работу с памятью, указатели в нем есть, но в отличие от C, где просто нет передачи параметров по ссылке, и она искусственно организуется через указатели, нужно это намного реже. Да и, так называемое, формошлепство стало возможным лишь потому, что квалифицированные программисты понаписали кучу компонентов, которые потом можно было из интернета скачать. Хочешь сделать, скажем, калькулятор – найди, написанный квалифицированным программистом компонент, который парсит строку и выполняет математические операции, брось его на форму, скорми ему строку, и ты уже, типа, крутой погромист.
Оптимизатор у Delphi не сказать, что очень эффективный, но, если производительности хватает, то это не является проблемой.
На Delphi делали и игры, из крупных проектов рубежа 90-х/00-х мне известны «Age of Wonders» и «Космические рейнджеры», хотя их разработчики потом перешли на ставший стандартом в этой отрасли C++.
Поскольку не окучивать ораву сишников с точки зрения бизнеса было непозволительно, Borland выпустила в 1997-ом C++ Builder. Это такая Delphi, которая позволяет писать на C++, поверх паксалевской библиотеки, называемой Visual Component Library (VCL).
Классические версии Delphi имеют интерфейс со множеством плавающих окон между которыми виден рабочий стол. Многие приложения копировали его, хотя сейчас я нахожу его неудобным.
Пора перейти к некоторым техническим аспектам. В основе Delphi и C++ Builder лежит библиотека VCL. Данная библиотека рассчитана на работу с Windows API, многие ее компоненты являются обертками над стандартными элементами управления Windows, а отрисовка ориентируется на средства Windows.
Почему при всей популярности C++, VCL была написана на Паскале? Видимо потому, что стандарты C++ устанавливаются не разработчиками компиляторов. А вот с Паскалем Borland могла делать, что хотела. Она добавила в него средства для поддержки визуального дизайна (property, секция published) и создала новую объектную модель, основанную не на объектах в стеке, а на классах в куче (старый object при этом никуда не делся) и имеющую механизм классовых ссылок, позволяющий создавать объекты тип которых неизвестен на этапе компиляции. Можно просто взять и установить пакет с пользовательскими компонентами, и Delphi будет использовать их без перекомпиляции VCL.
Всё это дело продолжало развиваться. В процессе, Borland предприняла попытку заскочить на линуксовую поляну с Kylix, основанным на библиотеке CLX, однако потерпела сокрушительное поражение и в 2002-м году Kylix накрылся. Тогда же в 2002-м вышла Delphi 7, версия, ставшая для многих вечной.

Кризис Borland

Степень распространенности Delphi 7 даже в наше время вызывает ужас. Кто-то до сих пор на ней учится, кто-то тянет какие-то проекты. Я бы сказал так: все, кто учили Питон, лучше курсы по Delphi 7 пройдите, ну или книжки почитайте. Если на первую работу вы попадаете куда-нибудь в госструктуру, то шансы столкнуться с каким-нибудь проектиком на «семерке» не нулевые. И это еще не худший вариант, может быть и проект на Visual Basic 6, а то и на Visual FoxPro. Можно сказать, что Delphi 7 – это золотое время Delphi, однако, на мой взгляд основная причина такой распространенности – отсутствие замены в течение довольно длительного времени.
Дело в том, что Borland начала чудить. Тогда как раз появилась .NET с ее C#, и по какой-то причине Borland воспылала к .NET сильною любовью. Delphi 8 вышла, но это была… не Delphi. Это была среда разработки для .NET, не содержащая средств для работы с уже существующими проектами. В Delphi 2005 их вернули, фактически, продукт разделился на Delphi и Delphi for .NET, но сама эта версия считается крайне багованной.
В Borland Developer Studio 2006 (оно стало так называться, пакет со всеми поддерживаемыми языками) появился C# Builder. Сама BDS 2006 ИМХО нормальная, не идеально, но терпимо. 2007-ая версия мне нравилась. При этом, еще в Delphi 8 появился новый современный интерфейс, после которого работать в Delphi 7 очень некомфортно. Вот только .NET эксперименты ни к чему хорошему не привели. C# Builder не успел появиться, как сразу исчез, а в самой Borland назрел кризис. Фактически, руководство Borland решило, что не нужны им миллионы разработчиков.
Просто процитирую Википедию:
В феврале 2006 года корпорация объявила о своих планах полностью переключиться на разработку и поддержку средств управления жизненным циклом приложений (англ. application lifecycle management), в рамках этого плана Borland приобрела компанию-поставщика ALM-решений Segue и анонсировала планы о поиске покупателя на часть бизнеса компании, связанного с созданием средств разработки приложений, включая линейки Borland Developer Studio (Delphi, C++ Builder, C#Builder) и JBuilder. Покупателя не нашлось, поэтому направление интегрированных средств разработки было выделено в коммерчески самостоятельное подразделение CodeGear, а в Интернете даже появился проект по сбору средств на приобретение Delphi с целью сделать его свободным программным обеспечением.
В общем, началась натуральная паника. Видимо, где-то в этом момент, злопыхатели решили, что обидевшая их своим существованием Delphi - всё.

Нет не всё. Абракадабра спешит на помощь

Снова процитирую Википедию:
7 мая 2008 года компания Embarcadero Technologies приобрела у Borland её подразделение CodeGear за $23 млн стоимости предприятия и $7 млн дебиторской задолженности.
6 мая 2009 было достигнуто соглашение о продаже Borland Software за $75 млн британской компании Micro Focus, специализирующейся на поддержке корпоративных систем на Коболе, в том же году сделка завершена.
Ну что Borland, помогли тебе твои «средства управления жизненным циклом приложений»? Что же касается любителей Delphi, то я встречал буквально такой комментарий: «Embarcadero спасает нас с тонущего корабля».
Время было бездарно потрачено и требовались радикальные решения. Все неудачные продукты, включая Delphi for .NET были закрыты и все, кто в это дело вляпался, оказались кинуты. Правда, вместо Delphi for .NET появился такой проект, как Delphi Prism, использующий очень странный .NET диалект Паскаля. Фактически, это гибрид Паскаля с C#. Разработала этот язык RemObjects Software (в июне 2025-го она представила AI-copilot для Delphi) и изначально он назывался Chrome, а потом переименовался в Oxygene. Сколько времени длилось сотрудничество между Embarcadero и RemObjects я не помню, в итоге Delphi Prism тоже исчезла, а сейчас Oxygene можно использовать в связке с Visual Studio. На этом всяческие отношения между Delphi и .NET закончились, и Delphi компилирует в быстрый нативный код.
Вторым решительным действием стала модернизация языка, резко повысившие его привлекательность, но отменившая совместимость с легаси-кодом.
Delphi получил:
  1. Дженерики, var IntList : TList<Integer>;
  2. Анонимные функции.
  3. Параметризованный Exit. (Exit(a) соответствует сишному return a).
  4. Поддержка Unicode. Тип String вместо ANSIString стал UnicodeString, а Char стал UnicodeChar. Если в проектах были какие-то операции со String и Char, подразумевающие их однобайтовость, то такой код оказывался сломан.
  5. Арифметика указателей, включаемая директивой $POINTERMATH. Она и раньше была, но делалась через приведение Pointer к Integer.
Т. е. люди, сидящие до сих пор на Delphi 7, даже не удосужились свои проекты переделать. Обучение же на ней, никак не может рассматриваться хорошей практикой даже с точки зрения современных версий самой Delphi. Допускаю, что одной из причин, почему кто-то с Delphi 7 не уходит, является удаление древнего BDE из новых версий в середине 2010-х. Хотя даже если бы мне пришлось такой проект ковырять, я бы предпочел это на Delphi 2007 делать.
Современная Delphi использует интерфейс на основе вкладок. Он намного удобнее и лучше подходит для современных широкоформатных мониторов, позволяя все по краям раскидать. Открыт проект демонстрационной программки для моего компонента.

Мы наступаем по всем направлениям

Очевидно, что к 2010-м ситуация для Delphi заметно ухудшилась, появились конкуренты, вроде C# и библиотеки Windows Forms для визуального создания интерфейсов от Microsoft, все большее распространение получали мобильные телефоны, под которые надо было на чем-то софт писать, а как мы помним, VCL, принципиально, ориентирована на Windows. И подтянув язык до современных стандартов, Embarcadero начала активно вооружаться, чтобы, судя по названиям новых библиотек, зажигать по полной.
Первым приобретением стала кроссплатформенная библиотека VG-Scene российской компании KSDev, вошедшая в состав Delphi XE2 (2011 год) под названием FireMonkey (сейчас FMX). В той же версии появился 64-х битный компилятор и механизм Live Binding. Чуть позже у компании DA-Soft была приобретена мощнейшая библиотека доступа к базам данным AnyDAC. В составе Delphi она стала называться FireDAC. И она офигенная. Не вижу ни одной причины не переходить на нее и сидеть с древним BDE, тормозным ADO, или даже dbExpress.
После Delphi 2010, вышли Delphi XE-XE8. Далее была Delphi 10 и отдельные релизы внутри нее (10 и 10.1 – это отдельные большие релизы). После выхода Windows 11, новая версия Delphi, поддерживающая данную ОС, стала Delphi 11, а потом и Delphi 12 появилась. На данный момент последняя версия 12.3.
Получив кроссплатформенную графическую библиотеку, Delphi в течение нескольких последующих лет активно лезла на новые платформы, продвигая идею максимальной унификации кодовой базы для всех поддерживаемых платформ. В это время было довольно много жалоб на качество, однако, ошибки исправлялись, и то, что первоначально было в состоянии «ну потыкать прикольно» становилось полноценным инструментом. В язык и библиотеку также вносились новые возможности, что-то важно - как параллельные вычисления, что-то не очень важно. В Delphi 10.3 (2018), наконец, дожили до возможности объявления переменных в теле подпрограммы, что обрушило одно из фундаментальных правил Паскаля. В Delphi 12 появились многострочные строковые литералы, пустячок, а приятно.

Другие диалекты

Прежде чем переходить к рассмотрению статуса Delphi на текущий момент, стоит вспомнить и другие диалекты Паскаля, существовавшие после 1990-го года. Некоторые, как Virtual Pascal прекратили развитие. Другие, вроде как живут. Третьи вполне себе живут. Из узкоспециализированных диалектов можно вспомнить mikroPascal для программирования микроконтроллеров из пакета “MikroElektronika”. Как языки же общего назначения, наиболее известны Free Pascal и PascalABC.NET.
Free Pascal появился в 1996-ом году и в настоящее время поддерживает множество аппаратных платформ и операционных систем. Наиболее известной IDE для него является Lazarus, Delphi-подобная IDE, основанная на библиотеке LCL. Lazarus можно рассматривать как некий бесплатный аналог Delphi, на совместимость с Delphi ориентирующийся. Есть так же средства конвертации Delphi-проектов в проекты Lazarus’а. Правда, в отличие от VCL Delphi, ограниченной Windows, LCL является кроссплатформенной. Кроссплатформенным является и сам Lazarus. В целом, бесплатное есть бесплатное, однако промышленный софт на FreePascal’е вообще и Lazarus’е в частности, вполне успешно пишут. Есть и альтернативная сборка Lazarus’а, называемая CodeTyphon.
Lazarus 4.0. Современный стиль с вкладками.
Существует еще одна IDE для Free Pascal – MSE, на совместимость с Delphi не ориентирующаяся, но там уровень развертывания – скачай запчасти и собери из них машину. Я такое всерьез не рассматриваю.
PascalABC.NET – российский проект по замене в школьном обучении безнадёжно устаревшего Borland Pascal 7, на что-то бесплатное и современное. Основан, как понятно из названия, на .NET. Главная его особенность – предельная простота в использовании. Запустил редактор кода, набрал простую программу, может даже в 3 строчки, и она, например, что-то нарисует. Не надо создавать классы, не надо писать телеги свойств через точку.
PascalABC.NET, вот так всё простенько, да и настроек минимум. Для школьников и их учителей в общем-то довольно неплохо.
Синтаксически этот Pascal собрал в себя из других языков всё что можно и нельзя. Присваивания вида += из Си, анонимные функции, оператор yield, средства параллельного программирования... Не скажу, что мне всё это нравится, но, идея, видимо, как раз в демонстрации существующих в современных языках техник.
Имеется визуальный редактор интерфейса на базе Windows Forms, но довольно ограниченный. Использовался ли PascalABC.NET для серьезных проектов, я не знаю. Допускаю, что это даже возможно.

Современная Delphi

Начнем с того, что на 2025 год, когда я это пишу, Delphi\Object Pascal находится на 9 позиции в индексе TIOBE, поднявшись с 11 в прошлом году, с результатом 2.15%. Для сравнения, JavaScript который альтернатив не имеет вообще, набирает 3.21%. Величины вполне сравнимые. Вот Питончика можно поздравить, он достиг 25.87%, прибавив за год 10.48%. Из TOP 10 же, C# потерял 1.96%. Конечно, подъемы могут сменяться падениями и к данному индексу есть вопросы с его резкими перепадами, но в целом Паскаль никогда не исчезал.
Пойдем на сайт Embarcadero что там есть? Список серьезных партнеров, в разделе технической документации куча книг для свободного скачивания. Разумеется, продукты: Delphi, C++ Builder, Interbase, RAD Server. В общем, сайтик не за 3 копейки, с кучей всего полезного. Самое интересное, что свою пользовательскую базу Embarcadero оценивает более чем в 3 млн. В мире население 8 млрд. чел. если программистов из них 1%, то это 80 млн. и тогда, на Delphi\C++ Builder придется более 3% всех программистов. И для этой пользовательской базы Embarcadero каждый год делает по 2 релиза. Всем, кто думает, что Delphi умерла, рекомендую сказать об этом Embarcadero, она, наверное, очень удивится, узнав, что продает свои продукты никому.
Если же вы пару лет поработали на Delphi 7 в какой-то шараге, потому что в свое время ее везде ставили, как самый доступный инструмент, потом нашли работу на другом языке, получше, и больше с Delphi не пересекались – ну каждому своё. Но не стоить считать инструмент, пригодный для новичка, несерьезной игрушкой. Сложность и непродуманность того же C++ – это сложность и непродуманность, а никак не достоинство, делающее его выбором "настоящих мужиков". Если же Delphi входит в список инструментов, которые можно применять в вашей области, но вы, думаете, что он умер, то вы не знаете какие инструменты применяются в вашей области, т. е. у вас пробелы в компетенции.
Если посмотреть истории успеха, то не знаю, по каким критериям они выбирались но в целом там видно сильное преобладание Delphi над C++ Builder, и немало проектов использующих FireMonkey. Т. е. софт это относительно свежий.
Кто-то, конечно все равно, закрякает, что дескать ничего нового на Delphi не пишется, это всё легаси код. Но легаси-код, это код успешных приложений. Если продукту 30 лет и в нем пара миллионов строк кода, то значит он полезен людям, приносит деньги, и за его поддержку будут хорошо платить. А вот выживет ли стартап на «стильном, модном, молодежном» Golang, это еще доказывать надо. Если выживет, то его код тоже станет легаси. На моем компьютере есть ряд приложений написанных на Delphi – тот же FastStone Image Viewer, а вот приложений, написанных на Питоне, я что-то не вижу.
Кстати о Питоне. Желающим его изучить, Delphi тоже может помочь, т. к. Embarcadero спонсирует разработку PyScripter, написанную на Delphi IDE для Питона, а также проекты, по интеграции в проекты на Питоне компонентов VCL и FMX. Почему Embarcadero поддерживает эти проекты? Думаю потому, что не видит в Питоне конкурента, т. к. это язык со своей областью применения, с Delphi слабо пересекающейся, и пользователи PyScripter, потом, в качестве «взрослого» инструмента, могут выбрать продукцию Embarcadero. Скачать можно с сайта Абракадабры, но там будет запрос регистрации, проще скачать напрямую с SourceForge.
PyScripter, демка с TTreeView из VCL в приложении на Питоне.
И возвращаясь к легаси, почти весь Java-код, – это легаси. Огромные приложения, которые будут поддерживаться, пока функционируют обслуживаемые ими организации. Java, это фактически, современный Cobol. Но что-то никто не считает Java неперспективным языком (кстати, его процент в индексе TIOBE за четверть века упал раза в три).
В общем, шансы встретить проект на Delphi очень даже не нулевые, а в условиях Европы и России, в частности, где Delphi всегда любили больше, чем в США, эти шансы заметно выше среднего по миру.

Почему Delphi идеальна для обучения?

В вопросе какой язык учить я не склонен голову ломать – какой будет в школе\вузе, тот и будете учить. А работать на том, на который примут. Современные же языки таскают друг у друга средства и стали весьма друг на друга похожи по возможностям. И даже если вы научились кодить на C++, то это еще не значит, что вы научились писать программы. Тем не менее, за обучение на Delphi аргументы имеются:
1) Бесплатная версия Delphi существует и называется Community Edition.
2) Как и C++, Delphi генерирует нативный код без каких-либо виртуальных машин, поэтому работает он быстро, причем предсказуемо быстро, т. к. нет сборки мусора, запускающейся, когда ей захочется. Область применения Delphi даже шире, чем у Java и C#. Да и сама Delphi IDE по сравнению с другими инструментами просто болид «Формулы-1» против «запорожца». Конечно, отсутствие сборки мусора предполагает ручное управление памятью, но в Delphi по сравнению с C++ с этим всё заметно проще.
3) С точки зрения обучения, скриптовые языки с динамической типизацией, вроде Питона, обладают серьезным недостатком – они полностью скрывают представление данных в памяти. Т. е. научить на них думать на уровне битов и указателей не получится. Как и дисциплине. Из распространенных языков же, с сильной статической типизацией и возможностью работать с памятью, остаются по сути C++ и Паскаль, а еще unsafe блоки C#.
4) С точки зрения практики написания кода, наиболее доступным для широких масс является написание приложений под Windows. Я как-то с трудом представляю, чтобы кто-то учился программировать, создавая бизнес-логику на Java. Писать же обычный виндовый софт на Питоне… Мне неизвестна ни одна крупная программа под винду, да и вообще на ПК, написанная исключительно на Питоне, специально искал, ничего впечатляющего. В т. ч. и потому, что можно обвинять Delphi в формошлепстве, но для Питона формошлепство не актуально по той же самой причине, по которой для женщин неактуальна импотенция. Сделаете быстро программулину с десятком различных экранных форм без визуального редактора? Ну можно, конечно, прикрутить какую-нибудь Qt, но это костыль.
5) С Delphi или C# с Visual Studio вы просто сразу, из коробки получите всё, что вам надо. И это очень важно в том плане, что сразу приучает к хорошему, а не сборке из костылей.
2025-07-08 19:35 Обзоры