Object Pascal – это многогранный язык. Он сочетает в себе мощь объектно-ориентированного программирования, расширенную поддержку программирования c generic и динамические конструкции, такие как атрибуты, но не исключает поддержки более традиционного стиля процедурного программирования. Инструмент для всех, с компиляторами и инструментами разработки, охватывающими мобильную эру. Язык, готовый к будущему, но с прочными корнями в прошлом.
Для чего нужен язык Object Pascal? От написания настольных приложений до клиент-серверных приложений, от массивных модулей веб-серверов до многоуровневого программного обеспечения, от офисной автоматизации до приложений для новейших телефонов и планшетов, от систем промышленной автоматизации до виртуальных телефонных сетей в Интернете... это не то, для чего можно было бы использовать язык, а то, для чего он используется в настоящее время, в реальном мире.
Ядро языка Object Pascal в том виде, в котором мы используем сегодня, берет свое начало от его определения в 1995 году, потрясающем году для языков программирования, учитывая, что именно в этот год были изобретены Java и JavaScript. Хотя корни языка восходят к его предку Паскалю, его эволюция не остановилась в 1995 году, а улучшения в ядре языка продолжаются и по сей день, с компиляторами для настольных и мобильных устройств, которые созданы Embarcadero Technologies и входят в состав Delphi и RAD Studio.
Учитывая меняющуюся роль языка, его расширение на протяжении многих лет, а также тот факт, что он сейчас привлекает новых разработчиков, я посчитал важным написать книгу, которая предлагает полный охват языка Object Pascal в том виде, в каком он есть сегодня. Цель состоит в том, чтобы предложить руководство по языку для новых разработчиков, для разработчиков, владеющих другими схожими языками, а также для ветеранов различных диалектов Паскаля, которые хотят узнать больше о последних изменениях в языке.
Новичкам, конечно, нужны некоторые из основ, но, учитывая изменения, которые появились повсеместно, даже старожилы найдут что-то новое в первых главах. Не считая маленького Приложения, кратко освещающего историю языка Object Pascal, эта книга была написана для того, чтобы представить язык, каким он является сегодня. Большая часть основных особенностей языка не претерпела существенных изменений со времен ранних версий Delphi, первой реализации современного Object Pascal в 1995 году.
Я буду напоминать на протяжении всей книги, что язык был далеко не застойным в течение всех этих лет, он развивался довольно быстрыми темпами. В других книгах, которые я писал в прошлом, я придерживался более хронологического подхода, охватывая сначала классический Паскаль, а затем его расширения, более или менее, как они появились с течением времени. В этой книге, однако, идея заключается в том, чтобы использовать более логичный подход, продвигаясь вперед по темам и освещая то, как язык работает сегодня, и как его лучше всего использовать, а не то, как он развивался с течением времени.
В качестве примера, нативные типы данных, восходящие к оригинальному языку Pascal, имеют возможности использования методов (благодаря встроенным хелперам типов), введенные недавно. Поэтому во второй главе я расскажу, как использовать эту возможность, хотя это произойдет не раньше, чем вы сами разберетесь, как сделать такие пользовательские расширения типов.
Другими словами, эта книга охватывает язык Object Pascal в том виде, в каком он существует сегодня, обучая ему с нуля, лишь с очень ограниченной исторической перспективой. Даже если вы использовали этот язык в прошлом, вы, возможно, захотите просмотреть весь текст с начала в поисках новых возможностей, а не сосредотачиваться только на заключительных главах.
Идея книги состоит в том, чтобы объяснить основные понятия и сразу же представить короткие демонстрационные примеры, которые читателям предлагается попытаться выполнить, поэкспериментировать и расширить, чтобы лучше понять понятия и усвоить их. Книга не является справочным пособием, объясняющим, что должен делать язык в теории, и перечисляющим все возможные краеугольные случаи. Если быть точным, основное внимание уделяется обучению языку, предлагая практическое пошаговое руководство. Примеры, как правило, очень просты, потому что цель состоит в том, чтобы они были сфокусированы на одной характеристике за раз.
Весь исходный код доступен в онлайн-репозитории кода на GitHub. Вы можете скачать его в виде одного файла, клонировать репозиторий или просто просмотреть его онлайн и скачать только код конкретных проектов. Если вы получаете из репозитория, вы легко обновите свой код в случае, если я опубликую какие-либо изменения или дополнительные примеры. Местоположение на GitHub:
https://github.com/MarcoDelphiBooks/ObjectPascalHandbook104.Для компиляции и тестирования демонстрационного кода вам понадобится свежая версия Delphi (по крайней мере 10.4, чтобы запустить все, но большая часть демонстрационных примеров будет работать и на релизах 10.x).
Если у вас нет лицензии для Delphi, то доступна пробная версия, которую вы можете использовать, позволяющая 30-дневное бесплатное использование компилятора и IDE.
Существует также бесплатная версия Delphi Community Edition (в настоящее время обновленная до версии 10.3), которая свободна для использования любым человеком, у которого нет или ограничена возможность зарабатывать на разработке программ.