Delphi (язык программирования)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 20:58, 8 июня 2016.
(перенаправлено с «Delphi»)
Delphi
fraimed
Спроектировано Никлаус Вирт
Печать дисциплины Статическая, Строгая
OS Кроссплатформенное
Портал: embarcadero.com
Влияние
C#, Java

Delphi — (Де́лфи, произносится ˈdɛlˌfi:) — императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования — написание прикладного программного обеспечения. Первоначально носил название Object Pascal и исторически восходит к одноимённому диалекту языка, разработанному в фирме Apple в 1986 году группой Ларри Теслера. Однако в настоящее время термин Object Pascal чаще всего употребляется в значении языка среды программирования Delphi. Начиная с Delphi 7, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

История развития языка

Основой языка Delphi послужил язык Паскаль, разработанный профессором Н.Виртом в конце 60-х годов специально для обучения студентов программированию. Паскаль был полностью процедурным языком, объектно-ориентированная парадигма была добавлена в Turbo Pascal. Object Pascal (диалектом которого является Delphi), является функциональным расширением языка Turbo Pascal.

Синтаксис

Операторы

Первый приоритет: -, not Второй приоритет: *, /, div, mod, and Третий приоритет: +, -, or, xor Четвертый приоритет: =, <>, <,>, <=, >=

Типы данных

Целые числа

Types Ranges

Integer


Cardinal


Shortint


Smallint


Int64


Byte


Word

-2147483648 .. +2147483647


0 .. 4294967295


-128 .. +127


-32768 .. +32767


-263 .. +263-1


0 .. +255


0 .. +65535

Дробные числа

Types Ranges

Real


Real48


Singl


Double


Extended


Comp


Currency

5*10-324 .. 1.7*10308


2.9*10-39 .. 1.7*1038


1.5*10-45 .. 3.4*1038


5*10-324 .. 1.7*10308


3.6*10-4951 .. 1.1*104932-1


-263 .. +263-1


922337203685477.5807

Строки Строкой называется последовательность символов, заключённая в одиночные кавычки: 'это текстовая строка'. Логический тип Тип Boolean обеспечивает перечисление логических True и False значений.

Структура программы

Каждая написанная на языке Delphi программа состоит из заголовка программы, поля используемых модулей Uses (к примеру, Uses Windows, Messages, SysUtils и т.д.), который может не входить в саму структуру, а также блоков описания и исполнения (начинаются составным оператором begin и заканчиваются end). Пример программы:

 program Project1;                     // Заголовок программы, с её именем «Project1»
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};       // модули, которые подключены к проекту и используются программой

{$R *.res}

begin
  Application.Initialize;                // Инициализация приложения
  Application.CreateForm(TForm1, Form1); // Создание формы/окна
  Application.Run;                       // Запуск и исполнение
end.

Компиляторы

Embarcadero Delphi (ранее наз. CodeGear Delphi и Borland Delphi) — самый известный компилятор, который является последователем Borland Pascal и Turbo Pascal. Используется Win16 (Delphi 1), Win32 (Delphi 2 и позже), Win64 (Delphi 16 (XE2) и позже), а также .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). Поддержка .NET впоследствии выделена в отдельный продукт, известный как Oxygen.

Free Pascal (FPC) — бесплатный компилятор Оbject Pascal, который поддерживает различные диалекты Паскаля, включая Turbo Pascal, Delphi и собственные диалекты. На текущий момент, FPC может генерировать код для x86, x86-64, PowerPC, SPARC и процессоров ARM, а также для различных операционных систем, в том числе для Microsoft Windows, Linux, FreeBSD, Mac OS. Существует несколько сред разработки программного обеспечения для FPC (один из самых известных представителей — Lazarus).

Oxygene (ранее известен как Chrome) — компилятор Object Pascal, интегрированный в Microsoft Visual Studio. Также доступен в виде компилятора с командной строкой CLI. Использует .NET и моно платформы. В настоящий момент продаётся под маркой Embarcadero Delphi Prism.

MIDletPascal — компилятор, преобразующий исходный код в компактный и быстрый байт-код Java.

Virtual Pascal — Бесплатный компилятор для Win32, OS/2 и Linux. На тот момент очень быстрый и весьма совместимый (частично поддерживаются конструкции Delphi 5). Разработка окончилась в 2004 году, исходники открыты не были. С тех пор FPC ушёл намного вперед и в целом для программирования лучше он.

Инструменты разработки

Delphi 1. Вышедший незадолго до появления Windows 95, Delphi 1.0 был первым инструментом разработки приложений Windows (3.1), объединившим в себе оптимизирующий компилятор, визуальную среду разработки и мощные средства для работы с базами данных. Для языка Pascal это стало настоящим перевоплощением - он стал Object Pascal.

Delphi 2. Вышедшая через год 2-я версия Delphi предлагала все то же, но уже для 32-разряных версий Windows (95/NT), опять-таки став первым средством, сочетающим 32-битный компилятор, средства для работы с БД и визуальную среду разработки, поддерживающую OLE (а после выхода обновленной Delphi 2.01 - и ActiveX). Язык так же изменился, став ориентированным на 32-разрядное применение.

Delphi 3. Дальнейшее совершенствование Delphi по всем направлениям привело к выходу 3-й версии, имевшей расширенный набор инструментов для создания приложений благодаря поддержке COM и ActiveX. В этой версии также впервые был сделан акцент на возможности создания приложений для Интернета, а так же появился нетипизированный тип данных - variant.

Delphi 4. Еще одна ключевая веха развития. В этой версии было введено много нового и полезного для упрощения разработки приложений, включая новую среду с динамическими подсказками и т.д. Была усовершенствована модель работы с компонентами (VCL), появилась возможность быстрого использования таких технологий, как MIDAS, DCOM и CORBA. В этой версии так же был усовершенствован язык Object Pascal: появились новые черты, свойственные современному ООП, были введены новые типы данных, включая 64-битные.

Delphi 5. Изменений в Delphi 4 было так много, что, к сожалению, не обошлось без досадных накладок и ошибок. Результатом был выпуск 3-х пакетов обновлений (наши пираты продавали их под вывесками Delphi 4.1, 4.2 и 4.3). Но самым полным и правильным пакетом обновлений следует считать Delphi 5 - в этой версии было доведено до ума все то, что было начато в Delphi 4.

Delphi 6. С выходом шестой версии Borland провозгласила новую, кросс-платформенную эпоху в Delphi, параллельно выпустив версию Delphi для ОС Linux (Kylix 1.0). Теперь при создании приложения можно было выбирать его тип - для Windows, или же универсальное. Соответственно, к библиотеке VCL добавилась библиотека CLX, совместимая как с Windows, так и с Linux. Кроме того, в 6-й версии наконец-то появились "родные", а не чужеродные ActiveX, компоненты для работы с Интернетом, причем сразу в обоих вариантах - и для VCL и для CLX. Начиная с этой версии, сам язык программирования Object Pascal официально называется Delphi.

Delphi 7. Дальнейшее развитие Delphi 6, улучшенная библиотека CLX и новая корреспондирующая версия среды разработки под ОС Linux - Kylix 3. Вместе с тем, начиная с Delphi 7, Borland озаботилась вопросом совместимости с еще одной платформой - Microsoft .NET, для чего некоторые изменения были внесены как в VCL, так и в язык (и, соответственно, в компилятор). Delphi 8. Первая версия Delphi, ориентированная на работу с платформой Microsoft.NET. В этой версии разработчики изменили интерфейс среды, сделав его похожим на продукцию Microsoft - нового крупного акционера Borland. Поддержка, соответственно, была Kylix прекращена.

Delphi 2005. Менее чем через год после выхода Delphi 8, появилась новая версия, в которой вернули возможность работать в классическом стиле IDE при разработке приложений для Windows. Вместе с тем, Delphi 2005, в случае разработки приложений специально для платформы NET, позволяет работать не только с языком Delphi, но и с C#. При этом в сам язык Delphi были введены такие новшества, как оператор for…in и встраиваемые процедуры и функции.

Delphi 2006. Последняя версия Делфи, выпущенная фирмой Borland. Так же была выпущена облегченная версия - Turbo Delphi.

Delphi 2007. Версия, выпущенная CodeGear. Добавлена поддержка интерфейса Aero для Windows Vista.

Delphi 2009. Версия, выпущенная Embarcodero. Реализована поддержка Unicode в VCL и RTL, заменены обращения к о всем функциям Windows API на аналоги в Unicode, добавлены обобщенные типы и анонимные методы.

Delphi 2010. Поддержка Windows 7, компоненты для работы с касаниями и жестами, компоненты dbExpress теперь официально поддерживает Firebird.

Delphi XE (Delphi 2011). Добавлена поддержка для облачных вычислений.

Особенности языка

Изначально, язык ставил во главу стройность и высокую читаемость, поскольку был предназначен для обучения дисциплине программирования. Эта изначальная стройность, в дальнейшем, как по мере роста аппаратных мощностей, так и в результате появления новых парадигм, упростила расширение языка новыми конструкциями. Так, сложность объектного C++, по сравнению с C, выросла весьма существенно и затруднила его изучение в качестве первого языка программирования, чего нельзя сказать об Object Pascal относительно Pascal.

В Delphi формальное начало любой программы четко отличается от других участков кода и должно располагаться в определенном, единственном в рамках проекта, исходном файле с расширением dpr (тогда как другие файлы исходных текстов программы имеют расширение pas). В С-подобных языках программирования в качестве входа обычно используется глобальная функция или статический метод с именем main и определенным списком параметров, причём такая функция может быть расположена в любом из файлов исходного текста проекта.

В Delphi идентификаторы типов, переменных, а равно и ключевые слова читаются независимо от регистра: например идентификатор SomeVar полностью эквивалентен somevar.

В исходных файлах pas (которые, как правило, и содержат основное тело программы) на уровне языковых средств введено строгое разделение на интерфейсный раздел и раздел реализации. В интерфейсной части содержатся лишь объявления типов и методов, тогда как код реализации в интерфейсной части не допускается на уровне компиляции. Подобное разделение свойственно также языкам C/C++, где вводится разделение на заголовочные и собственно файлы реализации, но подобное разделение не обеспечивается на уровне языка или компилятора.

В Delphi метод или функция четко определяются зарезервированными для этого ключевыми словами procedure или function, тогда как в C-подобных языках различие обуславливается ключевым словом, определяющим тип возвращаемого значения.

Начало и конец программного блока выделяются ключевыми словами begin и end, тогда как в C-подобных языках программирования для этих целей используются фигурные скобки: {}. Таким образом, в Delphi достигается лучшая читаемость кода.

ПО, созданное на Делфи

  • Продукция Embarcadero: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1 и 2 версии.
  • Администрирование и разработка баз данных: MySQL Tools, IBExpert.
  • Инженерное программное обеспечение: Altium Designer, SprutCAM.
  • Файловые менеджеры: Total Commander, Frigate, ViewFD, FreeCommander.
  • Просмотрщики графики: FastStone Image Viewer, FuturixImager, drComRead.
  • Редакторы графики: IcoFX.
  • Видео- и аудиопроигрыватели: Light Alloy, The KMPlayer, AIMP, X-Amp, Nata Player.
  • Программы мгновенного обмена сообщениями: QIP 2012, R&Q, The Bat!, PopTray, FeedDemon, MyChat.
  • Клиенты файлообменных сетей: Shareman.
  • Создание музыки: FL Studio, Guitar Pro (до версии 6.0).
  • Разработка программного обеспечения: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter.
  • Веб-разработка: Macromedia HomeSite, PHPEdit.
  • Текстовые редакторы: BirEdit, Notepad GNU, Bred, PSPad.
  • Бухучёт и налогообложение: «Бюджет 21», «Парус», AVARDA (до версии 6.x включительно).
  • Система Электронной Очереди «МАКСИМА».
  • Программы хранения и обработки медицинских изображений Makhaon Worsktation, Makhaon Storage
  • Программы для создания анимаций: Pivot Stickfigure Animator.
  • Программы для сжатия данных: ALZip, PowerArchiver, IZArc.
  • Нахождение и уничтожение шпионского ПО и вредоносных программ: Spybot — Search & Destroy.
  • Компьютерные игры: Age of Wonders, «Космические рейнджеры», Космические рейнджеры HD: Революция, Venom. Codename: Outbreak, Space Empires V, «Правда о девятой роте».
  • Лаунчер портативных программ: PortableApps.
  • Дефрагментация диска: SmartDefrag.
  • Различные системные утилиты: TreeSize.

Ссылки

  1. https://www.embarcadero.com/ru/products/delphi
  2. http://thedelphi.ru/
  3. http://www.delphi-manual.ru/