Паскаль язык программирования¶
Паскаль (Pascal) — язык программирования общего назначения, созданный швейцарским учёным Никлаусом Виртом в 1968–1969 годах и опубликованный в 1970 году. Относится к классу императивных языков со строгой статической типизацией, изначально разрабатывался для обучения структурному программированию. Назван в честь французского математика и философа Блеза Паскаля, создателя первой действующей механической суммирующей машины.
¶История
Разработка языка началась как ответ на критику существовавших в конце 1960-х годов языков — прежде всего ALGOL 60 и Fortran, которые, по мнению Вирта, не способствовали выработке дисциплины программирования и не обеспечивали надёжности создаваемых программ. Вирт стремился создать язык, который был бы одновременно простым для изучения и достаточно мощным для реализации сложных алгоритмов, а также позволял бы компилятору выполнять тщательную проверку типов на этапе компиляции.
Первая версия компилятора была создана для компьютера CDC 6000. В 1973 году вышла модифицированная версия языка, а в 1974 году опубликовано фундаментальное описание языка — книга Никлауса Вирта «Алгоритмы + структуры данных = программы». В 1975 году Вирт совместно с Кэтлин Дженсен выпустил «Pascal User Manual and Report» — формальное описание языка, ставшее стандартом де-факто на протяжении многих лет.
В 1970–1980-е годы Паскаль получил широкое распространение в университетах Европы и США как основной язык обучения программированию. Ключевым стимулом для распространения стало создание в 1983 году фирмой Borland компилятора Turbo Pascal для персональных компьютеров IBM PC. Turbo Pascal сочетал высокую скорость компиляции, интегрированную среду разработки и низкую цену, что сделало его одним из самых популярных инструментов для программистов в 1980-х и первой половине 1990-х годов.
Международная организация по стандартизации (ISO) приняла стандарт языка в 1983 году (ISO 7185), а в 1990 году — расширенную версию Extended Pascal (ISO 10206). Однако коммерческие реализации, в первую очередь Turbo Pascal и его преемник Object Pascal от Borland, существенно расширили базовый стандарт дополнительными возможностями.
¶Характеристики языка
¶Структура программы
Программа на Паскале имеет строгую блочную структуру. Она состоит из заголовка (program), разделов описания (uses, label, const, type, var, procedure, function) и исполняемой части, заключённой между ключевыми словами begin и end. Завершается программа точкой. Такая жёсткая структура приучала начинающих программистов к дисциплине написания кода.
¶Система типов
Паскаль отличается развитой системой типов данных. Встроенные простые типы включают целочисленные (integer, byte, word), вещественные (real, double), символьный (char), логический (boolean). Особенностью языка является возможность создавать перечисляемые типы и интервальные типы (поддиапазоны). Структурированные типы представлены массивами, записями (аналог структур в C), множествами и файловыми типами. Указатели в классическом Паскале существуют, но ограничены типизированными ссылками.
¶Управляющие конструкции
В языке реализован полный набор структурных управляющих конструкций: условный оператор if-then-else, операторы выбора case, циклы с предусловием while, постусловием repeat-until и с параметром for. Конструкция goto присутствует, но считается нежелательной.
¶Процедуры и функции
Паскаль поддерживает процедуры и функции с передачей параметров по значению и по ссылке. Допускается рекурсия. Параметры-процедуры и параметры-функции позволяют передавать подпрограммы в качестве аргументов. В стандартном Паскале отсутствуют перегрузка функций и объектно-ориентированные возможности — они появились в расширениях.
¶Объектно-ориентированное расширение
В 1986 году фирма Apple разработала Object Pascal — расширение языка с поддержкой объектно-ориентированного программирования, включавшее классы, наследование, виртуальные методы и динамическое связывание. Эта версия использовалась при разработке приложений для компьютеров Macintosh.
Наиболее известной реализацией объектного Паскаля стал язык Object Pascal компании Borland, использованный в среде разработки Delphi, появившейся в 1995 году. Delphi обеспечивала визуальную разработку приложений для Windows и на протяжении многих лет оставалась востребованной в корпоративной разработке. Современный диалект, развиваемый компанией Embarcadero Technologies, называется Delphi Language (ранее — Object Pascal) и поддерживает многие современные возможности: перегрузку, дженерики, анонимные методы, атрибуты.
¶Распространение и диалекты
Наибольшее влияние на развитие языка оказал Turbo Pascal. Его диалект стал фактическим стандартом для миллионов программистов. Поздние версии Turbo Pascal (5.5 и 6.0) включали объектные расширения.
Свободные реализации Паскаля представлены компиляторами Free Pascal и GNU Pascal. Free Pascal поддерживает несколько диалектов, включая Turbo Pascal и Object Pascal, и работает на многих операционных системах. На его основе создана среда разработки Lazarus, предоставляющая визуальный конструктор интерфейсов, близкий по возможностям к Delphi.
В 2000-е годы популярность Паскаля в коммерческой разработке снизилась, уступив место Java, C# и другим языкам, однако он сохранил позиции в образовании, особенно в России и странах бывшего СССР, где долгое время входил в школьный курс информатики и использовался при проведении Единого государственного экзамена по информатике до перехода на другие языки.
¶Критика
Язык неоднократно подвергался критике. Основные претензии касались жёсткости структуры, многословности синтаксиса, ограниченной стандартной библиотеки и отсутствия в классической версии средств работы с динамической памятью высокого уровня. Никлаус Вирт признавал часть замечаний и учёл их при разработке языка Modula-2, ставшего его преемником, а затем Oberon. Тем не менее именно простота и строгость Паскаля обеспечили ему долгую жизнь в качестве учебного языка.
¶Значение
Паскаль оказал значительное влияние на развитие программирования. Он популяризировал структурное программирование, строгую типизацию и модульность. Многие идеи, заложенные Виртом, нашли отражение в языках Ada, Modula, Oberon и других. Для нескольких поколений программистов Паскаль стал первым языком, на котором они изучали алгоритмы и основы разработки программного обеспечения.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

