Основные блоки языка программирования паскаль. Язык программирования Pascal (Паскаль). Синтаксис и языковые конструкции

Больше, применяемых сегодня, никаких языков программирования период 60-х годов не принес, зато, как только он перешел на период 70-х годов сразу же в 1970-м году был разработан Паскаль, тот самый, который и сегодня изучается в школьной программе Информатики и на котором объясняется консольное программирование.

Язык Паскаль был создан Никлаусом Виртом в 1968-1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом, представляя язык, автор указывал в качестве цели его создания - построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные. Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию. Результат этой работы - язык Модула-2. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Вирта, язык должен способствовать дисциплинированному программированию, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров. Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. К 1980-м годам Паскаль стал основой для многочисленных учебных программ, в отдельных случаях на его основе были созданы специализированные обучающие языки программирования, так, в начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники Андрей Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.

Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

С сегодняшнего дня начинаю мою первую постоянную рубрику, посвященную истории языков программирования. Статьи, входящие в эту рубрику, буду публиковать каждый вторник.

Сегодня начнем с того языка программирования, который многие из нас изучали еще в школе, а затем и в институте. Это будет . Выбрал я его еще и потому, что как раз его преподаю школьниками (одиннадцатый класс), так что есть о чем написать.


Для начала надо сказать, что Паскаль относится к семейству структурного программирования. То есть на паскале пишутся легко структурируемые программы.

Перечислим основы структурного программирования:

  1. Программа состоит из блоков с одним входом и одним выходом;
  2. Каждая программа может состоять из трех структур (линейная, ветвящаяся и циклическая);
  3. Алгоритм программы представляется в виде зависимых диаграмм.

История языка программирования паскаль началась тогда, когда его спецификацию опубликовали в 1970 году (то есть в этом году у паскаля юбилей – 30 лет служения программистам). Разрабатывался язык в течении 1968-1969 годов, а собственно опубликовал его спецификацию Никлаус Вирт. Поэтому его считают создателем языка программирования паскаль. Название языку было дано в честь известного физика, математика, философа из Франции – Блеза Паскаля.

Создавался язык, с одной стороны – для обучения этому самому процедурному программированию (основам структурного программирования), а с другой стороны – и для написания реальных задач. Как говорил Н.Вирт, язык, который не используется для написания программ, не может быть использован в качестве обучения. Написан паскаль был с помощью самого себя.

В самом начале своей истории язык программирования паскаль имел и ряд ограничений. В начале восьмидесятого года Керниган выпустил статью «Почему паскаль не является моим любимым языком программирования». Там он и описал те недостатки, которые есть у языка.

В 1987 году в США был разработан система, включающая в себя компилятор с языка паскаль (UCSD Pascal); в 1986 году компания Apple , при тесном сотрудничестве с Н. Виртом, разработала объектный паскаль; в 1989 году компания Borland расширила возможности своего компилятора языка Паскаль, включив в него объектные возможности (позаимствовала их у собратьев из Apple ); корпорация Microsoft также не осталась в стороне от истории языка программирования паскаль – они тоже выпустили компилятор паскаля с объектными возможностями, но эта разработка осталась почти неизвестной.

Компания Borland не остановилась в развитии паскаля, улучшала его объектную модель. В итоге, Borland сначала разработала Object Pascal , а затем среду программирования на его основе, которые мы все знаем – Delphi .

Кроме коммерческих реализаций паскаля, были и свободные – это GNU Pascal и Free Pascal . Сейчас разрабатываются компиляторы языка паскаль, с помощью которых можно создавать программы под платформу Microsoft Net .

За всю историю языка программирования паскаль было принято несколько стандартов, но основополагающих, на данный момент, три. Это:

Unextended Pascal – первоначальный;

Extended Pascal - расширенный

- Object-Oriented Extensions to Pascal – включаемый объектно-ориентированные расширения.

Современная история языка программирования паскаль уже не так изобилует новыми разработками и открытиями, так как постепенно данный язык выходит из программистской моды, создаются новые и более мощные языки. Но мы никогда не забудем наш первый язык программирования, этот синий экран, с помощью которого и учились, собственно, программировать.

Язык программирования Pascal был создан Никлаусом Виртом, и назван в честь французского философа и математика XVII в. Блеза Паскаля. В то время Вирт был профессором информатики в Федеральном техническом университете в Швейцарии и нуждался в языке, с помощью которого можно было обучать студентов навыкам программирования.

Концепция Паскаля была разработана Н. Виртом примерно в 1970 году и Паскаль быстро получил широкое распространение благодаря легкости его изучения, наглядности составленных на нем текстов программ. Поскольку Паскаль послужил основой для разработки других языков программирования, таких как Ада и Модула-2, и поскольку многие языки содержат аналогичные Паскалю структуры, знание Паскаля является солидной базой для изучения других языков программирования.

В середине 70-х годов была создана попытка разработать международный стандарт на Паскаль. В результате в 1982 году появился стандарт ИСО 7185.

Язык Паскаль стараниями Андерса Хейлсберга превратился в мощную профессиональную систему программирования Turbo Rascal. После просуществовавшей сравнительно недолго и не получившей широкое распространения версии 1.0 в середине 1984 года появляется версия 2.0. Распространение которой пошло стремительными темпами. К осени 1985 года появляется версия3.0, отличающаяся от версии 2.0 следующими особенностями: компилятор и редактор стали работать существенно быстрее, появилась возможность передачи параметров в программу с помощью команды RUN, стал возможным вызов MS-DOS из программы, стала удобной работа с файлами. С начала 1988 года начинает распространяться версия 4.0.

Здесь Турбо Паскаль представлен в совершенно новой форме. Не только становится еще более быстрым компилятором, но и появляется совершенно новое программное окружение. Появилась возможность разбиения программы на части (модули), компилируемые по отдельности. К осени 1988 года появилась версия 5.0 с еще белее развитым программным окружением. Здесь заслуживает внимания прежде всего встроенный отладчик. Турбо Паскаль может использоваться в большинстве существующих для персональных компьютеров операционных систем.

Появление инструментальных средств Borlаnd Pascal with Objects и Delphi для разработки программ в среде Windows лишний раз показала какие по истине неисчерпаемые возможности таит в себе Паскаль. Borland Pascal и используемый в Delphi язык Object Pascal основываются на Turbo Pascal и развивают его идеи.

Delphi - компилятор языка Pascal. Delphi 1 был первым инструментарием разработки Windows приложений, объединившим в себе оптимизирующий компилятор, визуальную среду программирования и мощные возможности работы с базами данных. Годом позже Delphi 2 предложил все то же, но на новом уровне современной 32-битной операционной системы Windows 95 и Windows NT. Кроме того, Delphi 2 предоставил программисту 32-битовый компилятор, создававший более быстрые и эффективные приложения, мощные библиотеки объектов.

Продолжительная работа команды разработчиков Delphi привела к появлению в третьей версии продукта расширенного набора инструментов для создания приложений, возможности использования технологий COM для разработки приложений WWW и многих других современных технологий программирования.

Delphi 4 является очередным шагом в эволюции компиляторов Паскаля с тех времен, когда более 16 лет назад Андерс Хейлсберг создал первый компилятор Turbo Pascal.

Любое программное обеспечение создается при помощи различных языков программирования. Одним из таковых является Pascal, о котором слышало достаточно большое количество юзеров, однако, мало кто из них имеет хоть малейшее представление о нем.


Pascal - это один из наиболее распространенных языков для написания программного кода, который послужил основой для создания многих других языков. Он входит в школьную программу обучения старших классов, а также начальных курсов высших учебных заведений.

Немного истории

Отцом языка Pascal является Никлаус Вирт, который был членом комитета по разработке языков программирования. Свое детище он представил мировому сообществу в 1969 году, а в качестве названия для продукта он выбрал фамилию известного ученого Блеза Паскаля, разработавшего первую в мире механическую машину, способную выполнять операции сложения двух чисел.

Впервые, заголовки газет упомянули Pascal в 1970 году, а в тексте статей освещалась информация об устройстве нового языка программирования, а также раскрывались основные его преимущества над существующими в то время языками программирования. Среди ключевых достоинств отмечалась высокая эффективность и удобное структурирование данных, благодаря чему программистам открывались новые более широкие возможности.

Эволюция Pascal

Этот язык программирования шагал в ногу со временем и развитием высоких технологий, поэтому постоянно совершенствовался. Таким образом, его эволюция выглядит следующим образом:

UCSD Pascal: эта версия Паскаля является усовершенствованной по сравнению с первой и была разработана в 1978 году. Основной инновацией, которая была реализована в ней, является порт компилятора, благодаря которому появилась возможность переносить код и вносить изменения в исходную систему.

Object Pascal: представляет собой объектное расширение для базовой версии Pascal и была создана Никлаусом Виртом совместно с компанией Apple.

Turbo Pascal: была разработана в 1983 году совместно с программистами из компании Borland и стала первой в истории интегрированной средой. Тем не менее считать эту версию революционной не совсем правильно, поскольку в ее основу был положен Odject Pascal, поэтому особых различий между ними не было. Стоит отметить, что на базе Turbo Pascal компания Microsoft разработала собственный язык программирования, однако, он получился неудачным и не смог укрепиться на рынке.

Современный Object Pascal: в наши дни этот язык программирования является очень популярным и востребованным, и выпускается в отдельной редакции, в которой собраны все самые лучшие инструменты и наработки. Большая популярность этой версии Паскаля обусловлена великолепной совместимостью со всеми существующими операционными системами на сегодняшний день.

Особенности

Язык программирования Pascal выгодно выделяется на фоне множества аналогичных продуктов благодаря тому, что в нем реализована строгая типизация и возможность структурирования данных и переменных. Благодаря этому работать с программным кодом очень легко, а различные синтаксические ошибки и неправильное написание кодов и команд полностью уходит на нет. Помимо этого, Pascal обладает простым и понятным интерфейсом, поэтому работать с ним комфортно и удобно даже тем пользователям, которые только начинают делать первые шаги в программировании.

Однако стоит отметить, что на пути к совершенству создателям Pascal пришлось столкнуться с большим количеством различных проблем и недостатков, которые устранялись по мере эволюционирования языка. Например, в первых версиях Паскаля отсутствовала возможность работы с оперативной памятью, а также слишком маленькая библиотека ввода/вывода, из-за которой было невозможно запускать функции, написанные на других языках.

Недостатки

На сегодняшний день не существует ни одного универсального языка программирования, в котором отсутствовали бы недостатки, и Pascal тому не исключение. В защиту этого языка можно отметить то, что разработчики ведут непрерывную борьбу по их устранению, однако, работа продвигается крайне медленно по многим причинам. Однако стоит отметить, что многие начинающие программисты делали существенный прорыв на этапе своего становления именно благодаря недостаткам Pascal.

Тем не менее несмотря на довольно приличный список недостатков Pascal, этому языку удалось обойти многих своих оппонентов. Например, с выходом новой версии в 1980 году, Pascal с колоссальным разрывом опередил Fortran, в котором, к слову, было значительно больше недостатков. Таким образом, всего за несколько лет Паскаль смог надежно укрепиться на рынке и завоевать звание одного из лучших языков программирования, а его изучение стало обязательным во многих школах по всему миру. Помимо этого, большинство программ, которые только можно найти в сети, созданы именно на базе Pascal, что уже говорит о многом.

Структура

Программный код любой программы, которая пишется на языке Pascal, начинается со специального тега Program, вслед за которым следует название утилиты, а в конце ставится знак препинания «точка с запятой». Стоит отметить, что это условия не является обязательным, поэтому его соблюдение не считается строгим. Вслед за этим тегом могут прописываться основные рабочие параметры программы, которые реализованы в виде списка конфигурационных файлов. Далее, идет основная часть программного кода - тело, которое разделено на отдельные блоки, содержащие информацию переменных, типов, процедур, функций и констант. После тела идет точка входа, которая также называется блоком операторов, помещенная между тегами begin и end, определяющими его границы. Для разделения операторов используется «;», а для закрытия блока просто ставиться точка.

Задействование модулей

Чтобы задействовать какие-либо модули в программе необходимо предварительно объявить о нем. Для этого предназначены инструкции подключения, которые имеют вид строки обычного программного кода, начинающейся со слова USES, вслед за котором идет перечисление всех внешних модулей, которые будут задействованы при написании программы. Стоит отметить, что возможность задействования модулей реализована далеко не во всех версиях Pascal. Например, самые первые редакции были лишены этой возможности.

Пунктуация

Чтобы создавать программы на языке Pascal необходимо строго придерживаться правил пунктуации, в противном случае программный код не будет исполняться должным образом, а сама утилита попросту не будет работать. Итак, в Паскале используются следующие знаки пунктуации:

— «;» - предназначена для разделения операторов между собой и ставиться в конце строки. Не является обязательной к использованию перед закрывающим тегом end.

— «,» - отвечает за разделение различных объектов в пределах одного списка.

— «.» - ставиться в конце программного кода после закрывающего тега.

При несоблюдении правил расстановки знаков пунктуации или при их пропуске, юзер получает уведомление о программном сбое. Что касается использования строчных или заглавных букв, то принципиального значения вариант их написания не имеет.

В компьютерной науке, язык программирования Паскаль является одним из знаковых языков программирования, на котором много поколений студентов ломали свои зубы и разные варианты которого по-прежнему широко используются и сегодня. "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 больше, чем какой-либо реальный недостаток.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то