Делфи (программное обеспечение)
Оригинальный автор(ы) | Борланд , КодГир , Эмбаркадеро |
---|---|
Разработчик(и) | Эмбаркадеро Технологии |
Первоначальный выпуск | 1995 |
Стабильная версия | РАД Студия 12.1 Афины [1]
/ 4 апреля 2024 г |
Написано в | В основном Delphi (Object Pascal). |
Операционная система | Работает в Windows ; [2] ориентирован на Windows , Linux , macOS , Android , iOS |
Тип | Разработка программного обеспечения , Дизайнер , IDE , Компилятор , RTL |
Лицензия | Фримиум |
Веб-сайт | www |
Delphi — это язык программирования общего назначения и программный продукт, использующий диалект Delphi языка Object Pascal программирования и предоставляющий интегрированную среду разработки (IDE) для быстрой разработки настольных, мобильных , веб- и консольных приложений . [3] в настоящее время разрабатывается и поддерживается 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 использует на основе Pascal язык программирования Object 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):
- Библиотека визуальных компонентов (VCL) — это платформа для разработки приложений исключительно для Windows. VCL — это давно существующая среда, включенная в первый выпуск Delphi и с тех пор активно развивающаяся.
- FireMonkey (позже сокращенно FMX) был выпущен в 2011 году как часть Delphi XE2 вместе с дополнительным набором встроенных компиляторов для платформ, отличных от Windows. FireMonkey — это кроссплатформенная платформа для Windows, macOS, iOS, Android и Linux (x64). Части графического интерфейса FireMonkey в основном основаны на Direct3D и OpenGL. FireMonkey несовместим с VCL; это две отдельные структуры. Однако приложения FireMonkey позволяют легко обмениваться невизуальными единицами кода с приложениями VCL, что позволяет легко переносить или совместно использовать большой объем кода между платформами.
Совместимость [ править ]
Delphi и его аналог C++ , C++Builder , совместимы. Они используют многие основные компоненты, в частности IDE, платформы VCL и FMX, а также большую часть библиотеки времени выполнения . Кроме того, их можно использовать совместно в проекте. Например, C++Builder 6 и более поздние версии могут объединять исходный код Delphi и C++ в одном проекте, а пакеты, скомпилированные с помощью C++Builder, можно использовать из Delphi. В 2007 году эти продукты были выпущены совместно как RAD Studio, общий хост для Delphi и C++Builder, который можно приобрести вместе с одним из них или с обоими. Начиная с Rio, существует также совместимость с Python.
Пример программы «Hello World» [ править ]
program ObjectPascalExample;
type
THelloWorld = class
procedure Put;
end;
procedure THelloWorld.Put;
begin
Writeln('Hello, World!');
end;
var
HelloWorld: THelloWorld; { this is an implicit pointer }
begin
HelloWorld := THelloWorld.Create; { constructor returns a pointer to an object of type THelloWorld }
HelloWorld.Put;
HelloWorld.Free; { this line deallocates the THelloWorld object pointed to by HelloWorld }
end.
Обратите внимание, что конструкция объекта по-прежнему доступна в Delphi.
История [ править ]
в Использование школах
Delphi — это среда, используемая для преподавания программирования в школах Южной Африки как предмета информационных технологий (ИТ). [11]
Дорожные карты [ править ]
Embarcadero публикует «дорожные карты» с описанием своих планов на будущее. Последний из них был опубликован в ноябре 2020 года. [12] Версия 10.5, упомянутая в дорожной карте на ноябрь 2020 года, была переименована в 11.0.
Сопутствующее программное обеспечение [ править ]
- Borland Enterprise Studio, предшественник RAD Studio, представляет собой пакет разработки программного обеспечения, включающий поддержку нескольких языков. Borland Enterprise Studio для Windows поддерживает Delphi. [13]
- Borland Kylix : похож на Delphi, но для Linux, выпущен в 2001 году. Это была первая попытка добавить поддержку Linux в семейство продуктов Delphi. [14] Kylix использовал новую кросс-платформенную среду CLX (основанную на QT) вместо Delphi VCL. Выпуск Kylix был прекращен после версии 3. Сегодня поддержка Linux интегрирована в основной продукт Delphi и использует кроссплатформенную среду FireMonkey.
- InterBase — это встраиваемая база данных SQL, которая изначально интегрируется с Delphi и C++Builder для клиент-серверной или встроенной разработки. Его отличительные особенности: снижение требований к администрированию, безопасность данных коммерческого уровня, аварийное восстановление и синхронизация изменений. Он также доступен для всех основных языков и платформ на рынке с помощью протоколов подключения к базе данных, таких как ODBC, ADO, ADO.NET и даже с помощью Java через JDBC/ODBC Bridge или разъемы Java типа 4.
- JBuilder — инструмент для разработки Java на основе Eclipse, начиная с версии JBuilder 2007.
- RadPHP (позже замененный на HTML5 Builder) представлял собой среду IDE для PHP , которая обеспечивала настоящую функциональность RAD. Он имеет конструктор форм, аналогичный конструктору форм Delphi или Visual Basic , и встроенный отладчик на основе веб-сервера Apache . Он также включает библиотеку VCL, портированную на PHP. В отличие от других IDE, он поддерживает функции Web 2.0, такие как AJAX . Delphi для PHP был анонсирован 20 марта 2007 г., переименован в RadPHP в октябре 2010 г. и основан на студии Qadram Q. Embarcadero приобрела Qadram в январе 2011 года.
- Delphi Prism (позже известная как Embarcadero Prism), созданная на основе языка программирования Oxygene (ранее известного как Chrome) из RemObjects. Он работал в Microsoft Visual Studio IDE, а не в RAD Studio. Он был лицензирован и переименован компанией Embarcadero, чтобы заменить Delphi.NET, когда выпуск этого продукта был прекращен.
- Free Pascal Pascal с открытым исходным кодом — это кросс-платформенный кросс-компилятор , который поддерживает большую часть кода Delphi Object Pascal. Free Pascal также имеет собственные языковые расширения, несколько режимов компилятора [синтаксиса языка] и поддерживает более 18 операционных систем и более 9 процессорных архитектур. [15] Lazarus — это кроссплатформенная RAD IDE, использующая компилятор Free Pascal.
Известные сторонние библиотеки [ править ]
- FastCode — расширенные библиотеки времени выполнения и менеджер памяти.
- OpenWire (библиотека) — библиотека компонентов потока данных, событий и синхронизации состояний.
- Teechart — библиотека диаграмм.
Ссылки [ править ]
- ^ «Объявление о доступности RAD Studio 12.1 Athens» . 4 апреля 2024 г. Проверено 4 апреля 2024 г.
- ^ «Примечания по установке — Требования к операционной системе» . Архивировано из оригинала 06 августа 2020 г. Проверено 05 сентября 2020 г.
- ^ Уильям Бьюкенен (4 февраля 2003 г.). Освоение программирования на Delphi . Пэлгрейв Макмиллан. стр. 10–. ISBN 978-1-137-17356-0 . [ постоянная мертвая ссылка ]
- ^ «Сравнение производительности Delphi 2010 и XE6 (часть 2)» . Риверсофт АВГ. 12 мая 2014 года. Архивировано из оригинала 26 июля 2015 года . Проверено 9 марта 2016 г.
- ^ «Компьютерщик Delphi: создан для скорости» . Архивировано из оригинала 23 марта 2016 года . Проверено 9 марта 2016 г.
- ^ «Обсуждение в Hacker News о том, что Delphi жив» . Хакерские новости. Архивировано из оригинала 2 июля 2016 года . Проверено 9 марта 2016 г.
- ^ «Delphi: выпуски продуктов для разработки приложений» . Эмбаркадеро . Архивировано из оригинала 14 марта 2021 года . Проверено 13 марта 2021 г. Со ссылкой для скачивания Delphi Feature Matrix
- ^ «Воспоминания о разработке Паскаля» (PDF) . Архивировано (PDF) из оригинала 12 мая 2016 г. Проверено 12 января 2016 г.
- ^ Линфэн Ван; Чен Тан (20 января 2006 г.). Разработка программного обеспечения для современной промышленной автоматизации . Джон Уайли и сыновья. стр. 113–. ISBN 978-0-471-77627-7 .
- ^ «Список функций языка Delphi и версия, в которой они были представлены/устарели» . Переполнение стека. Архивировано из оригинала 28 февраля 2016 года . Проверено 9 марта 2016 г.
- ^ Штатный писатель. «Embarcadero Delphi названа языком разработки для южноафриканских школ» . Архивировано из оригинала 31 марта 2022 г. Проверено 17 марта 2022 г.
- ^ «Комментарий премьер-министра RAD Studio на ноябрь 2020 г.» . blogs.embarcadero.com. 17 ноября 2020 г. Архивировано из оригинала 28 ноября 2020 г. Проверено 27 ноября 2020 г.
- ^ «Борланд Энтерпрайз Студия» . Архивировано из оригинала 5 февраля 2002 г. Проверено 5 февраля 2002 г.
- ^ «Киликс здесь!» . Архивировано из оригинала 04 сентября 2019 г. Проверено 05 сентября 2020 г.
- ^ «Домашняя страница Free Pascal» . freepascal.org. Архивировано из оригинала 25 января 1999 г. Проверено 27 апреля 2016 г.
Дальнейшее чтение [ править ]
- МакКоннелл, Стив (1993). Код завершен . Майкрософт Пресс. ISBN 1-55615-484-4 .