Когда-то давно мы рассказывали о том, почему в школе до сих пор иногда преподают Паскаль, которому уже почти 40 лет. А сегодня будет рассказ про Delphi — язык, который родился из Паскаля и который развивается так же быстро, как эта серия статей.
Что такое Delphi
Delphi — это современное продолжение языка Turbo Pascal. На Delphi можно писать программы для всех операционных систем, включая мобильные, а также для всех популярных типов процессоров — x86 и ARM.
Чтобы оценить прогресс в развитии языка, сравните среду разработки Turbo Pascal и Delphi:
Типизация и переменные
Delphi — это высокоуровневый язык программирования со строгой статической типизацией и объектно-ориентированным подходом:
- Высокоуровневый — это значит, что в нём используется не машинный код, а команды, удобные для программиста.
- Строгая типизация означает, что в Delphi не получится присвоить строке числовую переменную, как в JavaScript. Получить число из строки тоже не выйдет — нужно будет использовать команды приведения типов.
- Статичная типизация: если программист объявил переменную X как число, то работать с этой переменной можно будет только как с числом на протяжении всей программы. Это надёжнее, чем когда в языке есть возможность менять типы по ходу работы.
- Объектно-ориентированный — то есть язык поддерживает объекты и даёт возможность использовать все их свойства: инкапсуляцию, наследование и полиморфизм. Читайте об этом в нашем цикле про ООП.
Визуальная среда разработки
Главная мощь Delphi — интегрированная среда разработки. Это похоже на конструктор сайтов, когда мы выбираем подходящие элементы и перетаскиваем их на страницу. В Delphi всё работает точно так же: есть панель компонентов, сгруппированных по типам и возможностям, а программист перетаскивает их на интерфейс программы.
У каждого компонента есть свойства и события — разработчик их настраивает в отдельной панели или прямо в коде. Например, можно сделать так:
- Найти на панели компонент «Кнопка».
- Перетащить его в нужное место в интерфейсе будущей программы.
- В панели свойств поменять название, цвет кнопки, шрифт надписи и размеры.
- В той же панели привязать к кнопке событие onClick, которое сработает при нажатии мыши на кнопку.
- Прописать в коде, что будет выполняться внутри этого события, например, появление окна справки или вызов другой функции.
Получается, что разработчик может одновременно и писать код, и конструировать интерфейс программы, привязывая к нему нужные события. Если интересно, как всё это работает в жизни, посмотрите видео — там всё на английском, но видно, как перетаскиваются и настраиваются компоненты и их события:
Пример кода
Если вы знаете Паскаль, то легко разберётесь в том, что происходит в этом коде. А если нет, но знаете любой другой язык программирования, — то тоже разберётесь, потому что синтаксис 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, один из самых популярных сейчас установщиков.