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

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск
Delphi
Класс языка:

императивный, структурированный, объектно-ориентированный

Появился в:

1995; посл. выпуск 2009 г.

Автор(ы):

Андерс Хейлсберг

Расширение файлов:

.dpr, .pas, .dfm

Последняя версия:

Delphi 2010 (2009)

Типизация данных:

статическая, сильная, безопасная (англ. Type safety)

Основные реализации:

Borland/Inprise/Codegear/Embarcadero Delphi; Borland Kylix; Lazarus

Испытал влияние:

Object Pascal, C++

Повлиял на:

C#, Java

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.[источник не указан 2114 дней]

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

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 (для Win32 и .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 (тестирование жёстких дисков).
  • Текстовые редакторы: SynEdit, Notepad gnu, Bred2, KeyNote, cEdit Professional, Programmer’s Notepad, UniRed, gleditor, Everest
  • Редакторы двоичных файлов (HEX-редакторы): Hexapad
  • Бухучёт и налогообложение: Intuit's Lacerte Professional Tax Software, Парус, ТурбоБухгалтер, AVARDA, Комплекс VirGo 2.5М
  • Торговый и складской учёт: Полюс|
  • Программы для чтения и каталогизации электронного текста: 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


ar:دلفي

bg:Delphi cs:Delphi da:Delphi de:Borland Delphi en:Delphi programming language es:Delphi fa:دلفی (زبان برنامه‌نویسی) fi:Delphi (ohjelmointikieli) fr:CodeGear Delphi he:דלפי (שפת תכנות) hu:Delphi (programozási nyelv) id:CodeGear Delphi it:Delphi ja:Delphi ko:델파이 (프로그래밍 언어) nl:Delphi (ontwikkelomgeving) no:Delphi pl:Delphi ro:Delphi (limbaj de programare) sk:Delphi (CodeGear) sl:Borland Delphi sv:Delphi (programspråk) ta:போர்லாண்ட் டெல்பி tr:Delphi (programlama dili) uk:CodeGear Delphi uz:Delphi (dasturlash tili) zh:Delphi

Личные инструменты

Served in 0.692 secs.