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

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

Delphi (Де́лфи, произносится /ˈdɛlˌfi/[1]) — язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. [2] Начиная со среды разработки Delphi 7.0 [3],в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

Содержание

[править] Целевая платформа

Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ GNU/Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET. При этом высказывались предположения, что эти два факта взаимосвязаны.

Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как GNU/Linux, Mac OS X и Windows CE.

Также предпринимались попытки использования языка в проектах GNU и написания компилятора для GCC.[источник не указан 123 дня]

[править] История языка

Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией - данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».

Object Pascal (Delphi) являются результатом функционального расширения Turbo Pascal. [4]

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 прав на среду разработки и компилятор.[5]

Однако в ноябре того же года было принято решение отказаться от продажи 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.[6]

25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009.[7] Версия принесла множество нововведений в язык, как-то[8]:

  • По умолчанию полная поддержка Юникода во всех частях языка, 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), Navicat, IBExpert, TOAD
  • Инженерное ПО: Altium Designer/Protel (проектирование электроники)
  • Просмотрщики графики: FastStone Image Viewer, FuturixImager, Photofiltre
  • Видео и аудио проигрыватели: The KMPlayer (видео- и аудиопроигрыватель; не путайте с KMPlayer), X-Player (аудиопроигрыватель), AIMP (аудиопроигрыватель), Snow Player (мультимедиа проигрыватель)
  • Доставка информации в Интернете: Skype, QIP, QIP Infium и R&Q, (мессенджеры), The Bat! и si.Mail (клиенты электронной почты), PopTray (средство для проверки почты), FeedDemon (просмотр RSS/Atom новостных групп), XanaNews (чтение новостных групп), Xnews (чтение новостных групп).
  • Создание музыки: FL Studio (ранее FruityLoops), Guitar Pro
  • Разработка программного обеспечения: 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 [менеджер закачек], ASProtect (программа для упаковки и защиты EXE-файлов), XNResourceEditor (редактор PE ресурсов), Victoria (версия для ОС Windows) - программа для оценки работоспособности, тестирования и мелкого ремонта жёстких дисков.
  • Текстовые редакторы: SynEdit, Notepad gnu, Bred2, KeyNote, cEdit Professional, Programmer’s Notepad, UniRed, gleditor, Everest
  • Редакторы двоичных файлов (HEX-редакторы): Hexapad
  • Бухучёт и налогообложение: Intuit's Lacerte Professional Tax Software, Парус, ТурбоБухгалтер, AVARDA
  • Программы для чтения и каталогизации электронного текста: DarkLib (каталогизатор и мультиформатный букридер), IxReader (букридер)
  • Гарант F1 (клиентская часть)

[править] Примечания

  1. Согласно местным языковым особенностям в Великобритании доминирует произношение «дел-фи́»[Вариант произношения, характерный для Великобритании (англ.). Merriam-Webster Online Dictionary. Merriam-Webster. Проверено 1 октября 2008.,
    а в США — «де́л-фай»[Вариант произношения, характерный для США (англ.). Merriam-Webster Online Dictionary. Merriam-Webster. Проверено 1 октября 2008.]
  2. Под таким названием он был разаработан в фирме Apple Computer в 1986 году группой Ларри Теслера
  3. Delphi Language Overview
  4. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 — 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++ Builder).
  5. http://opendelphi.org
  6. http://dn.codegear.com/article/36620
  7. http://www.codegear.com/article/38512
  8. http://www.codegear.com/products/delphi/win32/whats-new/

[править] См. также

[править] Ссылки

[править] Сайт производителя

[править] Крупнейшие информационные сайты и сообщества изучающих Delphi

[править] Литература