Delphi — нужен ли он сейчас и что пишут на этом языке программирования

Delphi — нужен ли он сейчас и что пишут на этом языке программирования

Оказывается, нужен и пишут

Когда-то давно мы рассказывали о том, почему в школе до сих пор иногда преподают Паскаль, которому уже почти 40 лет. А сегодня будет рассказ про Delphi — язык, который родился из Паскаля и который развивается так же быстро, как эта серия статей.

Что такое Delphi

Delphi — это современное продолжение языка Turbo Pascal. На Delphi можно писать программы для всех операционных систем, включая мобильные, а также для всех популярных типов процессоров — x86 и ARM. 

Чтобы оценить прогресс в развитии языка, сравните среду разработки Turbo Pascal и Delphi:

Delphi — нужен ли он сейчас и что пишут на этом языке программирования
Turbo Pascal
Delphi — нужен ли он сейчас и что пишут на этом языке программирования
Delphi 11

Типизация и переменные

Delphi — это высокоуровневый язык программирования со строгой статической типизацией и объектно-ориентированным подходом:

  • Высокоуровневый — это значит, что в нём используется не машинный код, а команды, удобные для программиста.
  • Строгая типизация означает, что в Delphi не получится присвоить строке числовую переменную, как в JavaScript. Получить число из строки тоже не выйдет — нужно будет использовать команды приведения типов. 
  • Статичная типизация: если программист объявил переменную X как число, то работать с этой переменной можно будет только как с числом на протяжении всей программы. Это надёжнее, чем когда в языке есть возможность менять типы по ходу работы. 
  • Объектно-ориентированный — то есть язык поддерживает объекты и даёт возможность использовать все их свойства: инкапсуляцию, наследование и полиморфизм. Читайте об этом в нашем цикле про ООП.

Визуальная среда разработки

Главная мощь Delphi — интегрированная среда разработки. Это похоже на конструктор сайтов, когда мы выбираем подходящие элементы и перетаскиваем их на страницу. В Delphi всё работает точно так же: есть панель компонентов, сгруппированных по типам и возможностям, а программист перетаскивает их на интерфейс программы.

У каждого компонента есть свойства и события — разработчик их настраивает в отдельной панели или прямо в коде. Например, можно сделать так:

  1. Найти на панели компонент «Кнопка».
  2. Перетащить его в нужное место в интерфейсе будущей программы.
  3. В панели свойств поменять название, цвет кнопки, шрифт надписи и размеры.
  4. В той же панели привязать к кнопке событие onClick, которое сработает при нажатии мыши на кнопку.
  5. Прописать в коде, что будет выполняться внутри этого события, например, появление окна справки или вызов другой функции.

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

Пример кода

Если вы знаете Паскаль, то легко разберётесь в том, что происходит в этом коде. А если нет, но знаете любой другой язык программирования, — то тоже разберётесь, потому что синтаксис Delphi максимально простой и понятный:

// пишем обработчик события, происходящего при создании формы MainForm
procedure TMainForm.FormCreate(Sender: TObject);

// раздел объявления переменных
var
  // создаём переменную строкового типа
  Strings: TStrings;

// основной код обработчика
begin
  // создаём объект типа TStringList.
  Strings := TStringList.Create;

  // оборачиваем код в обработчик исключений, на случай, если что-то пойдёт не так
  try
    // добавляем строку
    Strings.Add('Добавляемая строка.');
    // сохраняем строки в файл
    Strings.SaveToFile('C:\Strings.txt');

  // если всё прошло штатно
  finally
    // освобождаем память, занятую нашей переменной
    FreeAndNil(Strings);
  // закончился блок try
  end;
  
// закончился код обработчика
end;

Плюсы и минусы языка

Так как в основе Delphi лежит простой Паскаль, то изучить Delphi с нуля новичку гораздо проще, чем Java или C#. Освоиться в языке можно за пару дней, а уже через неделю можно сделать полноценное приложение.

Ещё Delphi — это кроссплатформенный язык. Это значит, что один и тот же код можно использовать для создания программ, например, на Windows, Linux и MacOS. Такой подход ускоряет разработку и делает её дешевле, но повышает требования к квалификации программистов.

В плюс можно отнести и визуальный редактор — программисту можно брать уже готовые компоненты и собирать из них нужный интерфейс, а не описывать его детально вручную в коде. Если каких-то компонентов не хватает, их можно скачать либо с официального сайта разработчиков, либо сделать самому.

Минусы у Delphi тоже есть:

  • Из-за поддержки полной обратной совместимости в Delphi много легаси-компонентов и решений. Они иногда затрудняют разработку и усложняют код.
  • Сложно разобраться во всех доступных компонентах — по умолчанию их доступно около 200, и хорошо бы знать, за что они отвечают и как работают.

Что сейчас пишут на Delphi

Сейчас программами на Delphi пользуются в основном банки, бухгалтерский сектор, организации систем учёта и госкомпании. Это связано с тем, что в Delphi легко создать простой интерфейс для работы с большим количеством данных — он будет выглядеть примерно как интерфейс старого 1С, но гарантированно будет работать в любых условиях.

Большинство вакансий разработчиков Delphi — это как раз поддержка и оптимизация старого кода. Такого кода и таких компаний много, переписать всё с нуля дорого, поэтому спрос на Delphi-программистов будет ещё долго. Но в количественном отношении программистов на JavaScript, C или Python требуется гораздо больше, чем на Delphi.

С другой стороны, современные возможности Delphi позволяют ей пользоваться как основной системой для разработки программ для любой архитектуры и ОС. Вот несколько примеров известных программ, написанных на Delphi:

  • Skype (до того, как его купила Microsoft);
  • почтовая программа The Bat!
  • Guitar Pro (до шестой версии);
  • AIMP — популярный медиаплеер для Windows;
  • Inno Setup — программа-установщик для Windows, один из самых популярных сейчас установщиков. 

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Апскиллинг, как говорится
Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом — senior. У «Яндекс Практикума» есть курсы ровно для этого: от алгоритмов и типов данных до модных фреймворков.
Изучить вопрос
Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Ну что ж, переходим на Linux. С чего начать?
Ну что ж, переходим на Linux. С чего начать?

Краткое пособие по импортозамещению

easy
Tableau — сервис визуализации данных
Tableau — сервис визуализации данных

В помощь менеджерам и аналитикам.

easy
Чем занимаются бэкенд-разработчики
Чем занимаются бэкенд-разработчики

Никто не видит, но все пользуются.

easy
Кто такой инженер по тестированию и стоит ли на него учиться

Раскладываем по полочкам новую профессию.

easy
Как начать программировать на Python

Если знаете JavaScript, освоиться в Питоне можно за 15 минут.

easy
Системный администратор — что нужно знать, чтобы получать 160 000 рублей
Системный администратор — что нужно знать, чтобы получать 160 000 рублей

Это не тот администратор, который ставит вам Windows.

easy
Кто такой дата-сайентист

Если вы не знаете, чем заняться ближайшие 15 лет, — идите в дата-сайенс, помогите нейросетям захватить мир.

easy
Какой софт нужен, чтобы стать тестировщиком
Какой софт нужен, чтобы стать тестировщиком

Можно и без него, но с ним удобнее

easy
Знакомство с матрицами
Знакомство с матрицами

Понятие и базовые операции.

medium
Делаем игру Wordle на JavaScript
Делаем игру Wordle на JavaScript

Прокачиваем свой английский

medium
easy