Delphi — это язык программирования общего назначения и программный продукт, который использует диалект Delphi языка программирования Object Pascal и предоставляет интегрированную среду разработки (IDE) для быстрой разработки приложений для настольных, мобильных , веб-приложений и консольного программного обеспечения . в настоящее время разрабатывается и поддерживается Embarcadero Technologies .
Компиляторы Delphi генерируют собственный код для Microsoft Windows , macOS , iOS , Android и Linux ( x64 ). [4] [5] [6]
Delphi включает в себя редактор кода, визуальный дизайнер, встроенный отладчик, компонент управления исходным кодом и поддержку сторонних плагинов . Редактор кода включает функции Code Insight ( завершение кода ), Error Insight (проверка ошибок в реальном времени) и рефакторинг . Разработчик визуальных форм может использовать либо библиотеку визуальных компонентов (VCL) для разработки исключительно под Windows, либо платформу FireMonkey (FMX) для кроссплатформенной разработки. Поддержка базы данных является ключевой функцией и обеспечивается FireDAC (компоненты доступа к базе данных). Delphi известен своей высокой скоростью компиляции, собственным кодом и продуктивностью разработчиков. [ нужна цитата ]
Delphi изначально был разработан компанией Borland как инструмент быстрой разработки приложений для Windows в качестве преемника Turbo Pascal . Delphi добавила к существующему языку полное объектно-ориентированное программирование , и язык стал поддерживать дженерики, анонимные методы , замыкания и встроенную поддержку объектной модели компонентов (COM).
Delphi и его аналог C++ , C++Builder , совместимы и продаются совместно под названием RAD Studio. Существуют версии Professional, Enterprise и Architect, причем более высокие версии имеют больше функций по более высокой цене. Существует также бесплатная версия Community с большинством функций Professional, но предназначенная только для пользователей и компаний с низким доходом. [7]
Delphi поддерживает быструю разработку приложений (RAD). Важными функциями являются визуальный дизайнер и две платформы приложений : VCL для Windows и FireMonkey (FMX) для кроссплатформенной разработки.
Delphi использует язык программирования Object Pascal на основе Pascal , созданный Андерсом Хейлсбергом для Borland (ныне IDERA) в качестве преемника Turbo Pascal. Он поддерживает встроенную кросс-компиляцию для многих платформ, включая Windows, Linux, iOS и Android.
Чтобы лучше поддерживать разработку для Microsoft Windows и взаимодействовать с кодом, разработанным с помощью других инструментов разработки программного обеспечения, Delphi поддерживает независимые интерфейсы модели компонентных объектов (COM) с реализациями классов с подсчетом ссылок , а также поддержку многих сторонних компонентов. Реализации интерфейса можно делегировать полям или свойствам классов. Обработчики сообщений реализуются путем пометки метода класса целочисленной константой обрабатываемого сообщения. [ нужна цитата ]
Подключение к базе данных широко поддерживается посредством компонентов VCL, поддерживающих базу данных и обеспечивающих доступ к базе данных.
Более поздние версии включали обновленные и расширенные библиотеки времени выполнения, некоторые из которых были предоставлены группой сообщества FastCode .
Delphi использует строго типизированный язык программирования высокого уровня , простой в использовании и изначально основанный на более раннем языке Object Pascal. Первоначально Паскаль разрабатывался как язык общего назначения, «подходящий для выражения фундаментальных конструкций, известных в то время, в краткой и логичной форме», и «его реализация должна была быть эффективной и конкурентоспособной с существующими компиляторами FORTRAN» [8] , но без низкой производительности. средства программирования на уровне или доступ к оборудованию. Turbo Pascal и его потомки, включая Delphi, поддерживают доступ к аппаратному обеспечению и низкоуровневому программированию с возможностью включения кода, написанного на ассемблере и других языках. Объектная ориентация Delphi предполагает только полиморфизм на основе классов и интерфейсов . [9] Метаклассы являются объектами первого класса. Объекты — это ссылки на объекты (как в Java ), которые Delphi неявно разыменовывает, поэтому обычно нет необходимости вручную выделять память для указателей на объекты или использовать аналогичные методы, которые необходимы в некоторых других языках. Существуют специальные типы строк с подсчетом ссылок, а также строки с нулевым завершением.
Строки можно объединить с помощью оператора «+», а не с помощью функций. Для выделенных типов строк Delphi управляет памятью без вмешательства программиста. Начиная с Borland Developer Studio 2006, существуют функции для обнаружения утечек памяти .
Delphi включает интегрированную среду разработки. Все продукты Delphi поставляются с библиотекой времени выполнения (RTL) и библиотекой визуальных компонентов (VCL), включая большую часть исходного кода. Доступны сторонние компоненты (иногда с полным исходным кодом ) и инструменты для улучшения IDE или других задач разработки, связанных с Delphi, некоторые из которых бесплатны. IDE включает в себя графический интерфейс для локализации и перевода созданных программ, которые можно развернуть в переводчике; Для этой цели также существуют сторонние инструменты с большим количеством функций. Платформа VCL поддерживает высокий уровень совместимости исходного кода между версиями, что упрощает обновление существующего исходного кода до более новой версии Delphi. Сторонним библиотекам обычно требуются обновления от поставщика, но если предоставляется исходный код, перекомпиляции с использованием более новой версии может быть достаточно. VCL был одним из первых, кто внедрил внедрение зависимостей или инверсию контроля ; он использует повторно используемую модель компонентов, расширяемую разработчиком. С помощью помощников классов можно внедрить новые функциональные возможности в основные классы RTL и VCL без изменения исходного исходного кода RTL или VCL.
Компилятор оптимизирующий и является однопроходным . При желании его можно скомпилировать в один исполняемый файл , не требующий DLL . Delphi также может создавать стандартные библиотеки DLL, библиотеки ActiveX , серверы автоматизации COM и службы Windows .
IDE Delphi, начиная с Delphi 2005, все чаще поддерживают такие функции рефакторинга , как извлечение методов и возможность создавать модели UML из исходного кода или изменять исходный код посредством изменений, внесенных в модель.
У Delphi есть сообщества в сети , в которых активно участвуют и ее сотрудники.
Delphi — один из языков, где обратная совместимость близка к 100%. Хотя каждая новая версия Delphi пытается сохранить как можно большую обратную совместимость , чтобы обеспечить повторное использование существующего кода, новые функции, новые библиотеки и улучшения иногда делают новые версии обратно совместимыми менее чем на 100%.
С 2016 года новые выпуски Delphi выходят каждые шесть месяцев, причем новые платформы добавляются примерно каждый второй выпуск. [10]
Delphi предлагает две платформы для визуальной разработки приложений: VCL и FireMonkey (FMX):
Delphi и его аналог C++ , C++Builder , совместимы. Они используют многие основные компоненты, в частности IDE, платформы VCL и FMX, а также большую часть библиотеки времени выполнения . Кроме того, их можно использовать совместно в проекте. Например, C++Builder 6 и более поздние версии могут объединять исходный код Delphi и C++ в одном проекте, а пакеты, скомпилированные с помощью C++Builder, можно использовать из Delphi. В 2007 году эти продукты были выпущены совместно как RAD Studio, общий хост для Delphi и C++Builder, который можно приобрести вместе с одним из них или с обоими. Начиная с Rio, существует также совместимость с Python.
программа ObjectPascalExample ; введите THelloWorld = процедура класса Put ; конец ; процедура THelloWorld . Помещать ; начать Writeln ( «Привет, мир!» ) ; конец ; вар HelloWorld : THelloWorld ; { это неявный указатель } начать HelloWorld := THelloWorld . Создавать ; {конструктор возвращает указатель на объект типа THelloWorld } HelloWorld . Помещать ; Привет, мир . Бесплатно ; { эта строка освобождает объект THelloWorld, на который указывает HelloWorld } end .
Обратите внимание, что конструкция объекта по-прежнему доступна в Delphi.
Delphi — это среда, используемая для преподавания программирования в школах Южной Африки как предмета информационных технологий (ИТ). [11]
Embarcadero публикует «дорожные карты» с описанием своих планов на будущее. Самый последний из них был опубликован в ноябре 2020 года. [12] Версия 10.5, упомянутая в дорожной карте на ноябрь 2020 года, была переименована в 11.0.