Delphi (язык программирования)
Последнее изменение этой страницы: 20:58, 8 июня 2016.
Спроектировано | Никлаус Вирт |
---|---|
Печать дисциплины | Статическая, Строгая |
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.
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.