Turbo Pascal

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Turbo Pascal (вимовляється «турбо паскаль») — інтегроване середовище розробки програмного забезпечення для платформ DOS та Windows 3.x та мова програмування в цьому середовищі, діалект мови Паскаль від фірми Borland.

Товарний знак Borland Pascal був зарезервований для дорогих варіантів поставки (з великою кількістю бібліотек і вихідним кодом стандартної бібліотеки), оригінальна дешева і широко відома версія продавалася як Turbo Pascal. Назва Borland Pascal також використовується в ширшому сенсі — як неофіційну назву версії мови Паскаль від фірми Borland.

Історія[ред.ред. код]

Turbo Pascal — це середовище розробки для мови програмування Паскаль. Використовуваний в Turbo Pascal діалект базувався на більш ранньому UCSD Pascal, що отримав поширення, в першу чергу, на комп'ютерах серії Apple II. Компілюються компонента Turbo Pascal була заснована на компіляторі Blue Label Pascal, спочатку створеному в 1981 рік у Андерсом Хейлсбергом для операційної системи NasSys мікрокомп'ютера Nascom. Пізніше він був переписаний як Compass Pascal для операційної системи CP / M і як Turbo Pascal для DOS і CP / M. Одна з версій Turbo Pascal була доступна під Apple Macintosh приблизно з 1986 року, але її розробка припинилася приблизно в 1992 році.

В 1982 році Філіп Кан придбав компілятор у Андерса Хейлсберга і перебрався з Парижа а в Каліфорнію, де заснував компанію Borland.

Коли в 1983 році з'явилася перша версія Turbo Pascal, такий тип середовища розробки був відносно новим. Під час дебюту на американському ринку, Turbo Pascal продавався за ціною в $ 49.99. Окрім привабливої ​​ціни, вбудований компілятор Паскаля також був дуже високої якості. Приставка «Turbo» натякала як на швидкість компіляції, так і на швидкість виробленого ним виконуваного коду. Turbo Pascal створював машинний код за один прохід, без кроку компонування.

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

За перші два роки було продано не менше 300 тисяч копій компілятора, що перевершило обсяг продажів всіх інших мов для мікрокомп'ютерів.[1]

Для того часу це була приголомшлива середовище розробки. Вона була проста і інтуїтивно зрозуміла, з добре організованим меню. Ранні версії використовували розкладку гарячих клавіш WordStar. У пізніших версіях з'явилася можливість швидко отримати визначення ключового слова мови, просто поставивши курсор на ключове слово та натиснувши клавішу довідки. Довідкові статті часто включали приклади коду, що використовує це ключове слово. Це дозволяло недосвідченим програмістам вивчати Паскаль навіть без допомоги книг, використовуючи лише середовище розробки. У постачання входило велику кількість вихідних текстів демонстраційних і прикладних програм. У їх числі були навіть шахи.

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

Крім усього цього, було засіб профілювання. Книги, включені в поставку Borland Pascal, давали детальний опис мови асемблера Intel аж до вказівки кількості тактових циклів, необхідних для виконання кожної інструкції. У загальному і цілому, система давала чудові можливості для оптимізації коду; користувачеві не потрібно користуватися чим-небудь крім середи розробки. Все було зроблено так ідеально, що навіть школяр міг цим користуватися. Ці якості дозволили версії Паскаля від Borland стати стандартом мови Паскаль де-факто.

Turbo Pascal часто використовується в школі

З початку 1990-х TP / BP використовується в університетах для вивчення фундаментальних концепцій програмування.

Ймовірно, розробка Microsoft Pascal була припинена через конкуренцію з високою якістю і невеликою ціною Turbo Pascal. Інша версія свідчить, що Borland уклав угоду з Microsoft на припинення розробки Turbo BASIC (середовища розробки для BASIC, відгалузилися від Turbo Pascal), якщо Microsoft припинить розробку Microsoft Pascal. Деякий час Microsoft випускав QuickPascal, який був майже 100%-сумісний з Turbo Pascal.

Протягом кількох років Borland поліпшував не тільки середовище розробки, але й мову. У версії 5.5 в нього були введені передові можливості об'єктно-орієнтованого програмування. Останньою випущеною версією була версія 7. Borland Pascal 7 включає в себе середовище розробки і компілятори для створення програм під DOS, під DOS з розширювачем DOS і Windows 3.x, у той час як Turbo Pascal 7 міг створювати тільки звичайні DOS-програми.

З 1995 року в Borland припинили розробку Turbo Pascal і запропонували в якості заміни середовище розробки Delphi. Нова версія мови зазнала зміни (особливо ООП), і мові повернулася початкова назва, закріплене розробниками Apple Object Pascal. Стара об'єктна модель Turbo Pascal і відповідний синтаксис підтримувався як застарілий, нова об'єктна модель несумісна зі старою — не можна успадковувати class від object, покажчик на будь object не сумісний з TObject.

Етапи[ред.ред. код]

  • Turbo Pascal 1.0, 1983 рік. Компілює безпосередньо в машинний код. Вимагає 32 кілобайт оперативної пам'яті. Варто менше 50 доларів. Має інтегрований компілятор / редактор, високу швидкість компіляції. Дозволяє розміщувати динамічні дані в купі (heap) — динамічній області пам'яті.
  • Turbo Pascal 2.0, 1984 рік. Збільшено розмір створюваної програми — дозволяє використовувати до 64 кілобайт для коду, стека і даних. Версія для DOS підтримує арифметичний співпроцесор і двійково-десятковий арифметику ( Binary-coded decimal, BCD).
  • Turbo Pascal 3.0, 1985 рік. Підтримка оверлейної структури. Підтримка графічних режимів. Спеціальні підпрограми формування зображень для IBM PC-сумісних комп'ютерів, включаючи «черепахову» графіком. Інструментальні пакети.
  • Turbo Pascal 4.0, 1987 рік. Роздільна компіляція модулів. Розмір програми обмежений тільки об'ємом оперативної пам'яті. Кероване за допомогою меню інтегроване середовище розробки (англ. Integrated Development Environment, IDE). Інтелектуальна компоновка модулів. Автономний компілятор командного рядка. Прибрана підтримка оверлеїв. Контекстно-чутлива система допомоги.
  • Turbo Pascal 5.0, 1988 рік. Відновлено підтримку оверлейних структур. Вбудований налагоджувач. Окремий налагоджувач (Turbo Debugger). Емуляція арифметичного співпроцесора. Підтримка графічних драйверів BGI (Borland Graphics Interface).
  • Turbo Pascal 6.0, 1990 рік. Бібліотека Turbo Vision. Нова IDE, переписана з використанням Turbo Vision, що підтримує мишу та редагування декількох файлів одночасно в різних вікнах. Можливість задання у вбудованому налагоджувачі точок зупинки: умовних і за кількістю проходів. Вбудований асемблер BASM дозволяє у початковому тексті програми робити асемблерні вставки. Protected поля і методи для об'єктів. Компілятор командного рядка, що працює у захищеному режимі.
  • Turbo Pascal for Windows. Створення 16-розрядних програм під Windows. Бібліотека об'єктів Objects Windows Library ( OWL), подібна за ідеологією до Turbo Vision. Графічна IDE, що працює під Windows.
  • Borland Pascal 7.0, 1992 рік. Випущено Borland Pascal 7.0, що включає в себе дешевший і менш потужний Turbo Pascal 7.0, який постачався також окремо. BP 7.0 дозволяв створювати програми під реальний і захищений 16-бітний режим DOS і Windows. Було введено підтримку відкритих масивів, додано нове ключове слово «public» для доступних полів і методів об'єкта. Відкрито вихідні тексти системних бібліотек і функцій часу виконання ( RTL).

Переваги і недоліки Турбо Паскаля[ред.ред. код]

Переваги[ред.ред. код]

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

Недоліки[ред.ред. код]

  • Компілятор розрахований на реальний режим DOS, застосування якого сходить нанівець. Проте в останніх версіях компілятора і середовища введена підтримка захищеного режиму разом з відповідним зневаджувачем (TD).
  • У модулі CRT є помилка (некоректний підрахунок кількості циклів для функції delay, не розрахований на швидкі процесори, процесори зі змінною частотою і багатозадачні середовища), через яку при запуску програми на комп'ютерах з тактовою частотою понад 200 MHz відразу відбувалося аварійне завершення з повідомленням «Runtime error 200 at …». Існують різні варіанти виправлення модуля CRT.[2][3][4] у варіанті Клауса Хартнегга помилка 200 не виникає, але тривалість Delay на швидких комп'ютерах менша від бажаної, і ця проблема через незнання іноді теж вважається недоліком Turbo Pascal.

Цікаві факти[ред.ред. код]

  • В Turbo / Borland Pascal 7.0 вбудовано пасхальне яйце: якщо в інтегрованому середовищі через меню «Help» відкрити панель «About» і натиснути клавіші Alt+I, то в панелі будуть прокручуватися імена розробників.
  • Алгоритм розмальовки у вбудованому редакторі трохи відрізняється від того, як розуміє синтаксис компілятор. А саме, конструкція (*) сприймається редактором як закінчений коментар, а компілятором — як початок коментаря. Це може використовуватися, щоб усередині коментарів вставляти синтаксично розфарбовані ділянки, наприклад, демонстрація способу використання. Або, наприклад, існують Паскаль-віруси, які записують своє тіло після 80-ї колонки, використовуючи (*), щоб старий текст виглядав без змін. Область розповсюдження таких вірусів обмежена місцями, де запускаються програми у середовищі Turbo Pascal, зате в самих цих місцях боротися з Паскаль-вірусами було нетривіально. Антивіруси тих часів були безсилі проти цих перших представників макровірусів.

Використовуючи (*), можна досягти і зворотного: змусити код виглядати як коментар чи як асемблерний код:

program HelloWorld;          (*)     {*)
begin                        (*} asm (*)
  WriteLn('Hello, World!');  (*) end (*)
  ReadLn;                    (*)     {*)
end.                         (*}     (*)

Якщо набрати цей код в інтегрованому середовищі, що постачається з Turbo Pascal, він буде різнокольоровим.

Примітки[ред.ред. код]

Література[ред.ред. код]

  • Є. А. Зуєв.Програмування на мові Turbo Pascal 6.0, 7.0, М.: Веста, Радіо і зв'язок, 1993, — С.376, ISBN 5-256-01218-5
  • Кассера В. Ф.Turbo Pascal 7.0, Діасофт, 2003, ISBN 5-93772-097-0
  • Елліот Б. Коффман.Turbo Pascal = Turbo Pascal Web Update. — М.: Вільямс, 2005. — С. 896. — ISBN 0-201-35086-6
  • Моргун Олександр Миколайович.Довідник з Turbo Pascal для студентів. — М.: Діалектика, 2006. — С. 608. — ISBN 5-8459-1028-5
  • Нейл Рубенкінг.Turbo Pascal для Windows = Turbo Pascal for Windows. Techniques and Utilites. — М.: Мир, 1993. — С. 535.
  • Фаронов В. В.Turbo Pascal. Найповніше керівництво. BHV-Санкт-Петербург, 2007. ISBN 5-94157-295-6

Посилання[ред.ред. код]