Статьи

Мова програмування Pascal Паскаль

У комп'ютерній науці, мова програмування Паскаль є одним із знакових мов програмування, на якому багато поколінь студентів ламали свої зуби і різні варіанти якого як і раніше широко використовуються і сьогодні. "TeX" і велика частина вихідної операційної системи "Macintosh" були написані на мові програмування Паскаль.
Програмування для початківців. Ніклаус Вірт розробив його в 1970 році для структурного програмування, який би легше компілювався. Мова програмування Pascal заснований на мові програмування Алгол і названий на честь математика і філософа Блеза Паскаля, першопрохідника в світі основ програмування. Вірт розробив Modula-2 і Оберон, схожі на язики Паскаль, але які почали підтримувати об'єктно-орієнтоване програмування. .
Базовий синтаксис Типовий приклад синтаксису мови програмування Pascal можна подивитися на програму "Привіт, світ".

PROGRAM HelloWorld; BEGIN WriteLn ( 'Здрастуй, світ!'); END.

Всі програми починаються з ключевоого слова "PROGRAM", а блок коду позначається ключовими словами "BEGIN" / "END". Регістр букв (стічні або прописні) не враховується в мові Pascal. . Крапка з комою відділяють логічні вирази, а "END." з крапкою в кінці завершує блок головної програми. Для деяких компіляторів ключевок слово PROGRAM є необов'язковим. Програмування для чайників.
Паскаль, в його первісній формі, є чисто процедурним мовою зі стандартним набором складових операторів if, while, for і пов'язані з ним.
Pascal і C
Паскаль був розроблений приблизно в той же час, як С, тому присутні важливі подібності між ними. Оригінальний Pascal і C невеликі за розміром, процедурні мови, в яких реалізована концепція структурного програмування. Обидва мають функціональні можливості для динамічного розподілу пам'яті і деякі інструкції для маніпуляції з покажчиками. Але ці мови зовсім різні за зовнішнім виглядом, і Сі виглядає більш лаконічним. .
Величезним відмінністю є оператор присвоювання, який є джерелом священної війни: Pascal використовує ": =" для присвоювання, а "=" використовується для порівняння. Це контрастує з використанням в Сі x = y для присвоювання і "==" для порівняння. Оскільки символ "=" використовується в математиці і для порівняння і для присвоювання, то розробник Pascal вирішив, що краще використовувати ": =" для присвоювання, оскільки все таки математикам звичніше бачити знак рівності (=) як символ порівняння. Розробник Сі стверджував, що оператор присвоювання набагато частіше використовується, ніж порівняння, тому вона повинна мати короткий символ. На це прихильники Pascal парирують тим, що дуже часто при використанні порівняння в умовних виразах програмісти помилково пишуть знак рівності для порівняння.
Ця дискусія відображає відмінності в дизайні філософії двох мовах. Паскаль був розроблений в якості навчального мови. У Паскалі дуже рідкісні помилки складових операторів, а також синтаксис зроблений інтуїтивно зрозумілим. Автори Сі приділяли більше уваги стислості.
Ще однією важливою різницею є те, що Паскаль є строго типізований. Це означає, що всі змінні повинні бути визначені на початку програми із зазначенням типу даних, перш ніж вони можуть бути використані. Крім того, несумісних за типом даних змінні повинні явно наводитися до необхідного типу даних. Це запобігає типові помилки, де змінні використовуються неправильно, тому що тип невідомий. Це також знімає необхідність угорської нотації - практика вказівки першою літерою змінної початкової літери типу даних.
На відміну від C, Pascal дозволяє визначати змінні в будь-якому місці коду. У своєму первісному вигляді, Паскалю не вистачало механізму для окремої компіляції або для обробки масивів з розміром невідомим на стадії компіляції, але вже через пару версій мови були усунені ці проблеми.
реалізації
Ранні підходи (в першу чергу UCSD p-System) переводили Pascal код в машинно-незалежний уявлення p-код. Це проміжний код потім інтерпретувався програмою в специфічний для кожної архітектури. Як наслідок, тільки мала частина транслятора була перенесена на багато архітектури.
У 1980-х років Андерс Хейлсберг пише Blue Label Pascal компілятор для Nascom-2. Пізніше він перейшов на роботу в Borland і переписав свій компілятор, щоб той став Turbo Pascal для IBM PC. Це новий компілятор був проданий за 49 доларів, що було набагато менше, ніж первісна ціна, яку просив Хейлсберг за компілятор Blue Label Pascal.
Недорогий компілятор Borland мав великий вплив на спільноту Паскаля, яке почало своє існування в основному на IBM PC, в кінці 1980 року. Багато любителів ПК в пошуках заміни для структурованого BASIC використовували саме цей продукт. Turbo Pascal, будучи доступним тільки для однієї архітектури, була переведена безпосередньо на Intel 8088 в машинний код, що зробило його набагато швидше, ніж схема, коли Паскаль був інтерпретованих мовою.
У 1990-х роках компілятори, які можуть бути перенесені на різні апаратні архітектури стали більш поширеними. Це дозволило Pascal перевести на машинний код, який був в той же час легко стерпним на нове обладнання.
З Turbo Pascal версії 5 Borland додала об'єктно-орієнтований підхід в Pascal.
Однак, Borland пізніше вирішив, що хоче складніших об'єктно-орієнтованого програмування, і почалася робота над Delphi з використанням Object Pascal стандарту, запропонованого Apple в якості основи. (Цей проект Apple не був формальним стандартом в той час.) Компанія Borland також назвала цю мову Object Pascal в першій версії Delphi, але змінила назву на мову програмування Delphi в більш пізніх версіях. Основні зміни в порівнянні з першими версіями були об'єктна модель на основі покажчиків, віртуальні конструктори і деструктори, і властивості.
Публічно доступні компілятори
Кілька компіляторів Паскаля доступні для використання широкого загалу:

  • GNU Pascal Compiler (GPC) є додатковим інтерфейсом до GNU Compiler Collection (GCC), і написана на Сі. вільно розповсюджується під ліцензією GNU General Public License. Хоча підтримка Turbo Pascal (Borland) дещо обмежена.
  • FreePascal написаний на мові Паскаль (так що він компілює сам), і спрямований на забезпечення зручним і потужним компілятором, придатного для компіляції старих програм і разом з цим бути засобом розробки нових додатків. Також вільно розповсюджується під ліцензією GNU GPL. Він може змішувати Turbo Pascal з кодом Delphi, а також підтримує багато платформ і операційних систем.
  • Turbo Pascal був домінуючим компілятором Pascal для персональних комп'ютерів протягом 80-х і початку 90-х, популярний як в силу свого потужного розширення і вкрай малого часу компіляції. В даний час старі версії Turbo Pascal (до 5,5) доступні для вільного скачування з сайту компанії Borland (потрібна реєстрація).
  • Delphi є флагманських RAD (Rapid Application Development) продуктом від Borland. Він використовує мову програмування Delphi, може працювати з Паскалем, розроблений для створення додатків для платформи Windows. Остання версія також підтримує компіляцію в. NET платформи.
  • Kylix це реінкарнація компанією Borland своєї продукції Паскаль. Він є нащадком Delphi, з підтримкою операційної системи Linux і поліпшеною бібліотекою об'єктів. Компілятор і IDE тепер доступні для некомерційного використання. Сам компілятор (але бібліотеки або IDE) повинен стати ПО з відкритим вихідним кодом незабаром.

Критика з минулого
Незважаючи на популярність (пік якої припав на 1980-х і початку 1990-х), в ранніх версіях Pascal піддався широкої критики за те, що не підходить для "серйозного" використання за межами навчання. Брайан Керниган, один з творців мови програмування Сі, виклав свою найбільш помітну критику Паскаля ще в 1981 році, в своїй статті "Чому Паскаль не мій улюблений мова програмування". З цього часу Pascal починає змінюватися, і більшість з тих пунктів, які критикувалися, не належать до поточної реалізації.
Багато необізнані люди досі продовжують вірити, що Паскаль не для "серйозного" програмування і не розуміють вигоди, які пропонує ця мова в даний момент. Це клеймо тисне на Pascal більше, ніж будь-який реальний недолік.


Як стати професіоналом по розробці сайтів і почати заробляти? Недорогі відео курси з ознайомчим введенням.

Як стати професіоналом по розробці сайтів і почати заробляти?

Новости