
Delphi (Де?льфи, произносится /?d?l?fi/[1]) — язык программирования, который используется в одноимённой среде разработки. Название используется начиная с 7 версии среды разработки[2], ранее это был Object Pascal, разработанный фирмой Borland и изначально реализованный в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее название. Object Pascal по сути является наследником языка Pascal с объектно-ориентированными расширениями.
По поводу «правильного» произношения названия языка было сломано немало копий не только в России.[3] Интересно, что нет единства даже среди англоязычных стран. В частности, согласно данному источнику, в Великобритании доминирует произношение «дел-фи?»[4], а в США — «де?л-фай»[5].
Целевая платформа
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ GNU/Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET. При этом высказывались предположения, что эти два факта взаимосвязаны.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как GNU/Linux, Mac OS X и Windows CE.
История языка
Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Дельфи от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».
Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 — 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++ Builder).
Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
Версия 1 была предназначена для разработки под 16-разрядную платформу Win16;
Версии со второй компилируют программы под 32-разрядную платформу Win32;
Вместе с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему GNU/Linux;
Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET);
Последующие версии (обозначаемые годами выхода, а не порядковыми номерами, как это было ранее) могут создавать как приложения Win32, так и байт-код для платформы .NET.
Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.
Первая версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET.
В настоящее время, в Delphi 2006, можно писать приложения для .NET, используя стандартную библиотеку классов .NET, VCL для .NET. Среда также позволяет создавать .NET-приложения на C# и Win32-приложения на C++. Delphi 2006 содержит функции для написания обычных приложений с использованием библиотек VCL и CLX.
Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.
В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор.[6]
Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания — CodeGear, которая будет финансово полностью подконтрольна Borland.
В августе 2006 года Borland выпустил облегченные версию RAD Studio под именем Turbo: Turbo Delphi, Turbo Delphi for .NET, Turbo C#, Turbo C++.
В марте 2008 года было объявлено о прекращении развития этой линейки продуктов.
В марте 2007 года CodeGear порадовала пользователей обновленной линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.
В июне 2007 года CodeGear представила свои планы на будущее, то есть опубликовала так называемый roadmap.[7]
25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009.[8] Версия принесла множество нововведений в язык, как-то[9]:
По умолчанию полная поддержка Юникода во всех частях языка, VCL и RTL; замена обращений ко всем функциям Windows API на юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA).
Обобщённые типы, они же generics.
Анонимные методы.
Новая директива компилятора $POINTERMATH [ON|OFF].
Функция Exit теперь может принимать параметры в соответствии с типом функции.
Пример
{Событие, происходящее при создании формы MainForm} procedure TMainForm.FormCreate(Sender: TObject); var {Объявление переменной типа TStrings(список строк).} Strings: TStrings; begin {Создание(выделение памяти и т. д.) объекта типа TStringList. TStringList - это потомок TStrings, реализующий абстрактные методы.} Strings := TStringList.Create; try {Добавление строки.} Strings.Add('Добавляемая строка.'); {Сохранение строк в файл.} Strings.SaveToFile('C:\Strings.txt'); finally {Удаление объекта.} Strings.Free; end; end;
Известное ПО
Среди многих распостранённых программных продуктов, сделанных на Delphi, можно найти:
- Продукция Borland: Borland Delphi, Borland C++ Builder, Borland JBuilder 1 и 2 версии
- Администрирование/разработка баз данных: MySQL Tools (Administrator, Query Browser), IBExpert, TOAD
- Инженерное ПО: Altium Designer/Protel (проектирование электроники)
- Просмотрщики графики: FastStone Image Viewer, FuturixImager, Photofiltre
- Видео и аудио проигрыватели: The KMPlayer (видео- и аудиопроигрыватель; не путайте с KMPlayer), X-Player (аудиопроигрыватель), AIMP (аудиопроигрыватель)
- Доставка информации в Интернете: QIP, QIP Infium и R&Q, (мессенджеры), The Bat! и si.Mail (клиенты электронной почты), PopTray (средство для проверки почты), FeedDemon (просмотр RSS/Atom новостных групп), XanaNews (чтение новостных групп), Xnews (чтение новостных групп).
- Создание музыки: FL Studio (ранее FruityLoops)
- Разработка программного обеспечения: Dev-C++, Dev-PHP , Maguma Open Studio и Open Perl IDE (IDE), DUnit (юнит-тестирование), Jedi Code Format (форматирование программного кода), Game Maker (создание игр) Help & Manual (система авторинга справки), Inno Setup (движок для инсталляции)
- Веб-разработка: Macromedia HomeSite (HTML-редактор), TopStyle Pro (CSS-редактор), Macromedia Captivate (захват экрана), Quick Page 2008 (Среда разработки Web-сайтов)
- Веб-браузеры (оболочки для MSIE): Avant Browser, Netcaptor
- Утилиты: Spybot — Search & Destroy, Ad-Aware (антишпионское ПО), jv16 PowerTools, FDK (многофункциональная утилита для оптимизации системы), Total Commander и Frigate (файловые менеджеры), DarkCrypt TC/GUI (программный комплекс для шифрования), ImageSpyer и StegoTC (программный стеганографический комплекс), Copernic Desktop Search, PowerArchiver и PeaZip (архиваторы), MCubix (интеллектуальный анализ данных), Download Master [менеджер закачек], ACProtect (программа для упаковки и защиты EXE-файлов)
- Текстовые редакторы: SynEdit, Bred2, KeyNote, cEdit Professional, Programmer’s Notepad, UniRed, gleditor
- Редакторы двоичных файлов (HEX-редакторы): Hexapad
- Бухучёт и налогообложение: Intuit's Lacerte Professional Tax Software, включая все подсистемы, такие как QuickBooks/EasyACCT Trial Balance Utility, Document Management System и Client Database Repair Utility.
- Программы для чтения и каталогизации электронного текста: DarkLib (каталогизатор и мультиформатный букридер), IxReader (букридер)
Кроме того вы можете расширить свои знания в программировании и записаться на курсы программирования в Киеве. Там вы научитесь писать программы и выполнять сложные проекты.
Последние комментарии
5 дней 10 часов назад
1 неделя 1 день назад
2 недели 3 дня назад
4 недели 1 день назад
5 недель 4 дня назад
7 недель 4 дня назад
10 недель 2 дня назад
11 недель 36 минут назад
11 недель 2 дня назад
12 недель 1 час назад