|
@@ -0,0 +1,165 @@
|
|
|
+История языков программирования: Delphi — больше, чем просто язык
|
|
|
+
|
|
|
+Delphi
|
|
|
+
|
|
|
+С Delphi обычно ассоциируется среда разработки приложений на основе языка Object Pascal, разработанного фирмой Borland. Этот язык является наследником Turbo Pascal с
|
|
|
+объектно-ориентированными расширениями, который в свою очередь ведет свою историю от «чистого» Pascal, созданного Никлаусом Виртом в 1970 году.
|
|
|
+
|
|
|
+Впоследствии, в 2002 году, разработчики из компании Borland официально поставили знак равенства между языками Delphi и Object Pascal.
|
|
|
+
|
|
|
+Предыстория
|
|
|
+
|
|
|
+Изначальный Pascal, по мнению его разработчиков, имел самый быстрый компилятор в мире. Более того, вместе с ним была впервые разработана технология
|
|
|
+создания платформенно-независимых программ, которая нашла широкое применение в таком языке, как Java.
|
|
|
+
|
|
|
+Однако его IDE, если это понятие можно применить к среде разработки того времени, функционировала только на базе операционной системы DOS.
|
|
|
+
|
|
|
+С появлением Windows возникла необходимость в создании среды разработки ПО для этой платформы. Наиболее популярным решением для персональных Windows-компьютеров
|
|
|
+в 80-е — начале 90 годов стал компилятор и IDE Turbo Pascal фирмы Borland. Встроенный компилятор обеспечивал высокую скорость компиляции и высокое качество кода
|
|
|
+(отсюда приставка Turbo). Среда Turbo Pascal обеспечивала также отладку кода, содержала богатый набор примеров. Все эти качества на какое-то время позволили Turbo Pascal
|
|
|
+стать стандартом языка Pascal.
|
|
|
+
|
|
|
+Вызов времени
|
|
|
+
|
|
|
+В Windows довольно быстро начал развиваться графический интерфейс, а в IDE Turbo Pascal по-прежнему использовался DOS-подобный интерфейс. Постепенно в Microsoft поняли, что
|
|
|
+нужно двигаться в сторону «визуализации» программирования.
|
|
|
+
|
|
|
+Чтобы создать простую программу, разработчикам приходилось писать по несколько страниц кода: прописывать объемные блоки кода для меню и окон, шрифтов, очищать память,
|
|
|
+«рисовать» кнопки и т.д. Однако преимущества графического интерфейса Windows были довольно сильны, поэтому нужно было поддержать развитие операционной системы. В Microsoft
|
|
|
+понимали, что необходимо как-то облегчить жизнь разработчиков. Поэтому в 90-х годах компания запустила несколько параллельных проектов по созданию нового языка
|
|
|
+программирования и среды разработки для Windows. Первой ласточкой стал Visual Basic.
|
|
|
+
|
|
|
+Перспективы языка Pascal в этом отношении оказались далеко не радужными. К середине 90-х годов он уже находился в довольно запущенном состоянии. Компания Borland начала
|
|
|
+дорабатывать его, но вскоре стало понятно: изменения и добавления будут настолько серьезными, что результат этой работы можно считать новым языком программирования. Для
|
|
|
+нового языка была разработана IDE с графическим интерфейсом. Новая среда программирования и язык получили общее название Delphi.
|
|
|
+
|
|
|
+Своё имя новая система (Delphi) получила в честь древнегреческого города Дельфы. Название было выбрано неспроста: город Дельфы связан с именем бога мудрости и
|
|
|
+покровителем искусств Аполлона. Согласно легенде главное святилище Аполлона находилось именно в этом городе. Его жрицы-сивиллы изрекали пророчества желающим узнать
|
|
|
+свою судьбу.
|
|
|
+
|
|
|
+«Имя Delphi было предложено Денни Торпом во время мозгового штурма. Мы хотели, чтобы в имени системы отразились уникальные способности продукта к работе с
|
|
|
+базами данных, и Delphi как нельзя лучше перекликается с таким заслуженным именем в этой области, как Oracle, по крайней мере для тех, кому сочетание «Дельфийский Оракул»
|
|
|
+о чем-то говорит», рассказывал руководитель исследовательской группы по разработке системы Delphi Чак Язджевски.
|
|
|
+
|
|
|
+В России Borland Delphi появился в конце 1993 года и сразу же завоевал большую популярность.
|
|
|
+
|
|
|
+Основные версии
|
|
|
+
|
|
|
+Версия 1 была предназначена для разработки под 16-разрядную платформу Win16. Начиная со второй версии, была реализована возможность компиляции программы под 32-разрядную
|
|
|
+платформу Win32.
|
|
|
+
|
|
|
+В версии 3 появилась поддержка многозвенной технологии (multi-tiered) доступа к данным, что позволило создавать масштабируемые приложения (относительно слабо зависящие от
|
|
|
+сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на среднее звено.
|
|
|
+
|
|
|
+Вместе с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему Linux.
|
|
|
+
|
|
|
+Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET).
|
|
|
+Последующие версии (обозначаемые годами выхода, а не порядковыми номерами, как это было ранее) позволили создавать как приложения Win32, так и .NET-приложения.
|
|
|
+
|
|
|
+В Delphi 2006, появилась возможность писать приложения для .NET используя стандартную библиотеку классов .NET, VCL для .NET. Среда также позволила писать .NET-приложения на
|
|
|
+C# и Win32-приложения на C++. В Delphi 2006 также была реализована технология MDA (Model Driven Architecture) с помощью ECO (Enterprise Core Objects) версии 3.0.
|
|
|
+
|
|
|
+За что боролись
|
|
|
+
|
|
|
+Процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Достаточно просто
|
|
|
+перетащить нужные компоненты на поверхность Windows-окна (в Delphi оно называется формой) и настраиваете их свойства с помощью специального инструмента (Object Inspector).
|
|
|
+С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки.
|
|
|
+
|
|
|
+Разработчик получил в распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему (в том числе и по
|
|
|
+Microsoft API), средства коллективной работы над проектом.
|
|
|
+
|
|
|
+Стало возможным создавать компоненты ActiveX без использования Microsoft IDL, расширять возможности web-сервера (скрипты на стороне сервера), практически ничего не зная об
|
|
|
+HTML, XML или ASP.
|
|
|
+
|
|
|
+Появилась возможность создавать распределенные приложения на базе СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным Borland DataBase Engine,
|
|
|
+ODBC-драйверы или Microsoft ADO.
|
|
|
+
|
|
|
+В Delphi разработчикам дали возможность создавать свои собственные компоненты, импортировать ОСХ-компоненты, создавать шаблоны проектов и мастеров, генерирующих заготовки
|
|
|
+проектов. Более того, авторы предоставили разработчику интерфейс для связи других приложений (или внешних программ) с Delphi IDE.
|
|
|
+
|
|
|
+Перемены
|
|
|
+
|
|
|
+Новая версия Delphi выходила каждый год, но после пятой как будто что-то произошло… Позже выяснилось, что параллельно с работой над новой версией Delphi велась разработка
|
|
|
+Delphi-подобного языка программирования для Linux. Новый продукт получил название Kylix. Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET.
|
|
|
+Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Delphi, из компании
|
|
|
+Borland Ltd. в Microsoft Corp.
|
|
|
+
|
|
|
+В марте 2006 года компания Borland приняла решение о прекращении дальнейшего развития интегрированных сред разработки JBuilder, Delphi и C++Builder по причине убыточности
|
|
|
+этого направления. Была запланирована продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland
|
|
|
+прав на среду разработки и компилятор. Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса.
|
|
|
+
|
|
|
+После этого разработкой IDE-продуктов стала заниматься новая компания — CodeGear, которая была финансово полностью подконтрольна Borland.
|
|
|
+
|
|
|
+В марте 2007 года CodeGear порадовала пользователей обновлённой линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.
|
|
|
+
|
|
|
+25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009. В этой версии появилось множество нововведений на
|
|
|
+уровне языка:
|
|
|
+
|
|
|
+• По умолчанию полная поддержка Юникода во всех частях языка, VCL и RTL;
|
|
|
+• Замена обращений ко всем функциям Windows API на юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA).
|
|
|
+• Обобщённые типы, они же generics.
|
|
|
+• Анонимные методы.
|
|
|
+• Новая директива компилятора $POINTERMATH [ON|OFF].
|
|
|
+• Функция Exit теперь может принимать параметры в соответствии с типом функции.
|
|
|
+
|
|
|
+В версии Delphi XE2 (2011 год) был добавлен компилятор Win64 и кросс-компиляция для операционных систем фирмы Apple (MacOS X, iOS).
|
|
|
+
|
|
|
+Про следующую версию в своем интервью рассказывал Всеволод Леонов, российский евангелист Delphi из компании Embarcadero Technologies:
|
|
|
+
|
|
|
+Продукт Delphi XE3 является продолжением нового поколения средств быстрой разработки семейства Delphi. Напомню, в 2011 году вышла Delphi XE2 с платформой FireMonkey,
|
|
|
+которая является альтернативой библиотеки визуальных компонентов VCL.
|
|
|
+
|
|
|
+Она очень похожа на VCL по методам использования и составу компонентов (кнопки, метки, поля ввода, меню и т.д.), но обладает способностью быть перенесенной на другую
|
|
|
+операционную систему. FireMonkey — кроссплатформенная. Приложения, созданные с помощью FireMonkey, могут компилироваться и под Windows, и под Mac OS. Практически в один-два
|
|
|
+«клика» мы можем пересобрать проект под принципиально другую операционную систему. Практически все демонстрационные проекты, поставляемые с Delphi на платформе FireMonkey,
|
|
|
+имеют две версии: одну под Windows, другую — под Mac OS. И для этого не нужно вносить изменения в исходный код приложения
|
|
|
+Вышедшая в 2013 году версия Delphi XE5 обеспечила кросс-компиляцию приложений для устройств на платформе ARM/Android.
|
|
|
+
|
|
|
+В апреле 2016 года появилась Delphi 10.1 berlin. Нововведения:
|
|
|
+
|
|
|
+Компилятор и набор инструментов Object Pascal для 64-разрядной iOS;
|
|
|
+Поддержка универсальных приложений iOS (включение 32- и 64-разрядных двоичных файлов в пакет приложения);
|
|
|
+Предпросмотр FireUI на мобильных платформах;
|
|
|
+Предпросмотр на разных устройствах;
|
|
|
+Расширенные возможности работы со стилями в дизайнере единого интерфейса, в том числе универсальные стили и настройка стилей Windows;
|
|
|
+Диспетчер устройств FireUI позволяет изменять спецификации доступных устройств и добавлять новые устройства;
|
|
|
+Элементы управления Memo, ListView, Calendar, Switch для платформы iOS;
|
|
|
+Компонент MapView для мобильных платформ (iOS и Android), поддерживающий специализированные библиотеки интерактивных карт для каждой платформы (разработанные соответственно
|
|
|
+Apple и Google).
|
|
|
+
|
|
|
+Ни жив, ни мертв
|
|
|
+
|
|
|
+Известно, что Delphi перманентно «хоронят» или заявляют, что так жить нельзя. Они аргументируют тем, что система стала монструозной, неактуальной, неподдерживаемой,
|
|
|
+неудобной, какой-то еще…
|
|
|
+
|
|
|
+Но можно вспомнить, что такое мнение чаще встречается в США и Западной Европе, где этот язык бешеной популярности и не имел никогда. Там эти соображения могут быть вполне
|
|
|
+резонными во многих случаях. Но есть и другие страны, где ситуация может отличаться — страны СНГ и остальные страны Восточной Европы.
|
|
|
+
|
|
|
+С этим согласен Всеволод Леонов:
|
|
|
+Небольшой исторический экскурс по поводу стран Восточной Европы. Система образования бывшего СССР была очень сильна во многих аспектах, но не по части прикладного
|
|
|
+программирования. В начале 90-х как получить доступ к компьютеру, так и научиться что-то делать в современных средах разработки могли лишь те, кто имел определенную
|
|
|
+специальность.
|
|
|
+
|
|
|
+Целые факультеты «пролетали мимо» фундаментальных курсов по программированию. И наличие Turbo Pascal с низким порогом вхождения, а затем среды Delphi, позволяющей заняться
|
|
|
+самообразованием в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными разработчиками, а также повысить общенациональный инженерный уровень создания
|
|
|
+прикладного ПО.
|
|
|
+
|
|
|
+Таким образом, для стран бывшего соцлагеря связка Pascal/Delphi резко выдернула экономику из ИТ-небытия за счет очень простого языка программирования и среды визуальной
|
|
|
+разработки на основе готовых компонентов.
|
|
|
+
|
|
|
+Новый герой из open source
|
|
|
+
|
|
|
+Наиболее известной свободной реализаций языка Pascal является Free Pascal. Помимо открытости исходного кода, его основным преимуществом является мультиплатформенность,
|
|
|
+а также поддержка различных диалектов.
|
|
|
+
|
|
|
+На основе FreePascal создана свободная мультиплатформенная IDE Lazarus, позволяющая работать с проектами Delphi. Она основана на библиотеке визуальных компонентов Lazarus
|
|
|
+Component Library (LCL).
|
|
|
+
|
|
|
+Список заявленных поддерживаемых платформ:
|
|
|
+
|
|
|
+• Windows: 98, 2k, XP, Vista, 7, 32 и 64bit;
|
|
|
+• FreeBSD/Linux: gtk 2.8 и qt4.5, 32 и 64bit;
|
|
|
+• Mac OS X: 10.4, LCL только 32bit, не-LCL могут быть 64bit.
|
|
|
+
|
|
|
+С другой стороны, среда Delphi по мере развития действительно становилась все более громоздкой и малопригодной для обучения программированию. Кроме того, отсутствует
|
|
|
+бесплатная версия Delphi даже для академического использования. Данные факторы привели к практически полному исчезновению Delphi из сферы образования.
|