Програмування на мові Delphi

08.08.2015

Програмування на мові Delphi

Програмісти завжди намагалися зробити своє життя більш легкої, винаходячи і вдосконалюючи технології програмування, і на цьому терені їм вдалося здобути ряд дійсно великих перемог. Спробуємо простежити розвиток технологій програмування, щоб читач зрозумів, чому автори взялися за написання книги з мови Delphi.

Короткий екскурс в історію
Мови програмування

Мабуть, найбільш важливою віхою в історії програмування, порівнянної за значимістю хіба що з винаходом писемності, можна вважати перехід від машинних кодів (тарабарщини типу 0110110101111. ) до зрозумілою простому смертному мов програмування (типу ALGOL, FORTRAN, PL/1, Pascal), а також до широкого використання методів структурного програмування. Програми стали модульними, що складаються з підпрограм. З’явилися бібліотеки готових підпрограм, що полегшують багато завдань, але все одно програмістам вистачало труднощів, особливо при розробці користувальницького інтерфейсу.

Об’єктно-орієнтоване програмування

Якісним кроком у розвитку методів структурного програмування стало винахід об’єктно-орієнтованого програмування (мов SmallTalk, C++, Turbo Pascal і ін). Програми стали будуватися не з жахливих за розміром процедур і функцій, переробних громіздкі структури даних, а з порівняно простих цеглинок-об’єктів, в яких були сховані дані і підпрограми їх обробки. Гнучкість об’єктів дозволила дуже просто пристосовувати їх для власних цілей, прикладаючи для цього мінімум зусиль. Програмісти обзавелися готовими бібліотеками об’єктів, але, як і раніше, створення користувальницького інтерфейсу вимагало багато часу і сил, особливо коли програма повинна була працювати під управлінням популярної операційної системи Windows і мати графічний користувальницький інтерфейс.

Візуальне програмування

З винаходом візуального програмування, першою ластівкою якого була середовище розробки Visual Basic, створення графічного інтерфейсу стало під силу навіть новачкові. У середовищі Visual Basic можна було швидко створити додаток для операційної системи Windows, в якому були всі властиві графічного інтерфейсу елементи: вікна, меню, кнопки, поля введення і т.д. Всі ці елементи перетворились в будівельні блоки програми — компоненти — об’єкти, які мають візуальне подання на стадії проектування і під час роботи.

Проектування користувальницького інтерфейсу спростилося на порядок, однак, для професійних програмістів мову Basic виявився явно слабенький. Відсутність у ньому контролю типів даних і механізму їх розширення виявилося каменем спотикання на шляху створення серйозних програм. Створення нестандартних компонентів в середовищі Visual Basic було вкрай ускладнене (для цього доводилося вдаватися до інших засобів розробки, зокрема, до мови C++). Загалом, середовище Visual Basic відмінно підходила для створення прототипів додатків, але не для розробки комерційних програмних продуктів.

Середовище програмування Delphi

Мрія програмістів про середовище програмування, в якій би простота і зручність поєднувалися з потужністю і гнучкістю, стала реальністю із появою середовища Delphi. Вона забезпечувала візуальне проектування користувальницького інтерфейсу, мала розвинений об’єктно-орієнтована мова Object Pascal (пізніше перейменований в Delphi) і унікальні по своїй простоті і мощі засоби доступу до баз даних. Мова Delphi по можливостям значно перевершив мову Basic і навіть в чомусь мову C++, але при цьому він виявився досить надійним і легким у вивченні (особливо в порівнянні з мовою C++). В результаті, середовище Delphi дозволило програмістам легко створювати власні компоненти і будувати з них професійні програми. Середа виявилася настільки вдалою, що за запитами любителів C++ пізніше була створена середовище C++Builder — клон середовища Delphi на основі мови C++ (з розширеним синтаксисом).

Середовище Delphi стала, по суті, кращим засобом програмування для операційної системи Windows, але програмістів чекало розчарування, якщо виникало бажання перенести програму в іншу операційну систему, зокрема, в операційну систему Unix.

Технологія Java

Практично одночасно з середовищем програмування Delphi на світ з’явилася технологія Java, включала три складові: однойменний мова програмування, дуже схожий на мову C++, але більш простий і безпечний; універсальний байт-код, який компілювати програми на мові Java; інтерпретатор (віртуальну машину) для виконання байт-коду в будь-якій операційній системі. Завдяки автоматичному керуванню пам’яттю — так званої «збирання сміття» — різко підвищилася надійність програм і швидкість їх розробки.

Спочатку на технологію Java покладалися великі надії. Програмні бібліотеки для мови Java стали єдиним стандартом, тому написані на ній програми виявилися по-справжньому стерпними. Один раз написана і компилированная в байт-код програма могла працювати на будь-якій платформі без обмежень (єдина вимога — наявність на цій платформі віртуальної машини Java).

Безмежна переносимість Java-програм народила ідею мережевого комп’ютера і мережевих обчислень, суть якої в тому, що всі програми зберігаються в байт-код на серверах мережі Інтернет. Коли підключений до мережі користувач запускає програму, то вона спочатку завантажується до нього на комп’ютер, а потім інтерпретується. Охоплені цією ідеєю великі фірми кинулися освоювати новий ринок Java-додатків. Для мови Java з’явилися засоби візуального програмування, такі як JBuilder і Visual Age for Java. Здавалося б, бери і використовуй їх для розробки користувальницького інтерфейсу і серверних програм. Але практично пропускна здатність мережі Інтернет у кращому випадку забезпечувала оперативну завантаження на клієнтські комп’ютери лише невеликих за розміром програм. Крім того, створений на мові Java інтерфейс хронічно відставав від можливостей операційної системи Windows і дратував своєю повільністю. Тому технологію Java стали застосовувати головним чином для розробки серверних додатків. Однак і тут ціна переносимості програм виявилася дуже високою — представлені в байт-коді програми працювали на порядок повільніше аналогічних програм, компилированных безпосередньо в команди процесора. Застосування динамічної компіляції, при якій програма перед виконанням перетворюється з байт-коду в команди процесора і попутно оптимізується, поліпшило стан справ, але швидкість роботи Java-додатків так і не змогла наблизитися до швидкості роботи традиційних додатків. Іншими словами, переносимість програм йшла на шкоду їх продуктивності і зручності. Багато хто почав замислюватися над доцільністю такої переносимості програм взагалі.

Тим часом назрівала революція в області серверних платформ — небувалими темпами зростала популярність операційної системи Linux.

Середовище програмування Kylix

У зв’язку зі стрімким поширенням операційної системи Linux виникла необхідність в ефективних засобах створення для неї програм. Таким засобом стала середовище Kylix (вимовляється «кілікс») — перша середовище візуального програмування для операційної системи Linux. Середа Kylix з’явилася повним аналогом середовища Delphi і була сумісна з нею по мові програмування і бібліотеки компонентів. Програму, створену в середовищі Delphi, можна було без змін компілювати в середовищі Kylix, і навпаки. Ця можливість досягалася за рахунок нової бібліотеки компонентів, яка взаємодіяла з операційною системою не безпосередньо, а через проміжний програмний шар, що приховує різницю в роботі компонентів в тій чи іншій операційній системі. Програмісти отримали можливість створювати програми відразу для двох найбільш популярних операційних систем: Windows і Linux. Фактично замість принципу абсолютної переносимості програм була запропонована ідея розумною переносимості.

Поступово прийшло розуміння того, що в епоху Інтернет програм здатність до взаємодії в мережі не менше (а часом і більше!) важлива, ніж можливість їх перенесення на різні платформи. Така здатність була забезпечена за рахунок стандартизації протоколів обміну даними в мережі Інтернет і форматів даних. Розвиток протоколів та стандартів Інтернет призвело до народження технології Web-сервісів, яка ставила своїм завданням максимально спростити створення програм, що взаємодіють за принципом клієнт-сервер в глобальній мережі. Підтримка технології Web-сервісів була витончено вбудована в системи Delphi і Kylix, в результаті розробники програм отримали в руки ще один дуже важливий інструмент.

Технологія .NET

Незважаючи на труднощі і уроки Java-технології, програмісти не бажали відмовлятися від ідеї створення повністю переносимих програм. Разом з тим їх абсолютно не влаштовувала необхідність платити продуктивністю і зручністю програм за переносимість. Роботи з вирішення цієї суперечності привели до появи на світло технології під назвою .NET (вимовляється «дот-ні»).

Технологія .NET по суті стала новою платформою, надбудованою над іншими операційними системами, і цим була схожа на технологію Java. Однак у технології .NET був ряд істотних концептуальних відмінностей. Зокрема, платформа .NET хоча і мала свій власний нова мова програмування C# (вимовляється «сі-шарп»), але не була прив’язана тільки до нього, дозволяючи писати програми на інших мовах. Крім того, програми для платформи .NET компілювати не в байт-код, а в універсальний проміжний мову, який зберігав семантику програми і був близький до її вихідного тексту (байт-код, навпаки, близький до команд процесора). Програми на проміжному мовою взагалі не інтерпретувалися, а завжди компілювати в команди процесора при запуску програми або при її первинній установці на комп’ютер користувача. Виконуваний код виходив дуже ефективним і опинявся порівнянним по швидкодії з виконуваним кодом, отриманим прямий компіляцією з мови високого рівня в команди процесора. Важливо й те, що на платформі .NET стало можливим використання будь-яких (а не тільки стандартних) бібліотек підпрограм і компонентів, а також всіх функцій операційної системи. Все це забезпечило створення швидких і зручних програм.

Спочатку технологія .NET була доступна тільки для сімейства операційних систем Windows, але з часом цей недолік був усунутий, і на світ з’явилася платформа Mono — клон технології .NET для операційних систем Linux і Unix.

. і знову середовище Delphi

Платформи .NET і Mono мають велике майбутнє, тому фірма Borland адаптувала для них мова і середовище програмування Delphi. У результаті розробники отримали унікальну можливість застосовувати один і той же мова Delphi для створення професійних програм для будь-яких операційних систем і платформ: Windows, Linux. NET, Mono. Цим, до речі, мова Delphi вигідно відрізняється від модного нині мови C#, який застосовується лише для програмування на платформах .NET і Mono.

У мови Delphi є ще одна дуже важлива перевага перед іншими комерційно успішними мовами — він чудово підходить для навчання програмуванню. Тому автори рекомендують його в якості першої мови для всіх учнів і студентів, які збираються стати професійними програмістами.

Що ви знайдете в цій книзі

Шановний читач, ми сміємо стверджувати, що в цій книзі є саме те, що потрібно людині, щоб навчитися писати програми на мові Delphi і стати професіоналом в цій області. Почерпнуті з книги знання знадобляться вам незалежно від того, для якої платформи (Windows, Linux. NET або Mono) ви будете програмувати.

У цій книзі ви знайдете:

  • зрозуміле кожному пояснення принципів візуального програмування, якого немає в жодній іншій книзі. Воно допоможе вам зрозуміти сучасний підхід до програмування і технологію створення графічного інтерфейсу користувача;
  • не має аналогів за повнотою і простоті опис мови Delphi і об’єктно-орієнтованого програмування. Це фундамент середовища Delphi, без знання якого займатися програмуванням не має сенсу;
  • готові рішення багатьох проблем (з вихідними текстами!), з якими кожен програміст рано чи пізно зустрінеться на практиці: від побудови найпростіших меню до покрокової реалізації мультимедіа-систем і створення додатків, що працюють з базами даних. Принцип подачі матеріалу скрізь один: від простого — до складного.

При написанні цієї книги автори використали матеріали своїх попередніх книг по системам програмування Delphi і C++Builder. Порівняно з попередніми книгами істотною переробці піддалася термінологія. Опис мови Delphi розширено і тепер охоплює такі аспекти, як динамічні масиви і їх фізичне представлення в пам’яті, перевантаження процедур і функцій, нові формати кодування символів рядків і багато іншого. Новий набір стандартних підпрограм розглянуто самим докладним чином. Об’єктно-орієнтоване програмування пояснюється зрозумілішою наскрізному прикладі. Окрема глава присвячена розширенню можливостей об’єктно-орієнтованого програмування з використанням технології інтерфейсів. Глава, присвячена створенню динамічно підключаються бібліотек, охоплює додатково питання створення динамічно підключаються пакетів компонентів. Якщо ви подивитеся зміст, то отримаєте більш повне уявлення про великої тематиці цієї книги.

Книга може використовуватися як для самоосвіти, так і для читання лекцій та організації лабораторних занять, оскільки методика подачі матеріалу перевірена на тисячах студентів і довела свою ефективність.

Можливі труднощі освоєння

Основна проблема в освоєнні середовища Delphi — це її гігантський обсяг. Новачок просто губиться в цьому морі воістину безмежні можливості. Ще одна складність — це розуміння об’єктно-орієнтованого програмування. Практика показує, що багато освоюють цю тему тільки після другого-третього прочитання і глибокого аналізу прикладів. Але панікувати не варто. Читайте книги не поспішаючи, виконуйте на комп’ютері всі приклади, і успіх обов’язково прийде.

Короткий опис статті: об’єктно орієнтоване програмування Програмування на асемблері скачати підручники з програмування на assembler — асемблер.

Джерело: Програмування на мові Delphi

Також ви можете прочитати