Кто был разработчиком языка программирования pascal: История и особенности языка 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.

Что такое Паскаль? Довольно много людей задается данным вопросом. В основном это люди, которые используют компьютер на базовом уровне. Паскаль — это один из самых известных языков программирования. Изучают его, как правило, в старших классах или же на первых курсах вузов. Считается базой для многих других языков программирования.

История

Что такое Паскаль, мы выяснили. Перейдем теперь непосредственно к истории его появления и развития. Создатель языка — Никлаус Вирт. Разработан он был в период с 1968 по 1969 год. Идея создания Паскаля пришла ему после участия в специальном комитете по разработке языков. Что такое Паскаль, интересно многим начинающим программистам. Такое название язык получил в честь знаменитого французского ученого который особенно знаменит созданием механической машины, суммировавшей два числа.

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

Реализация языка

  • UCSD Pascal. Эта система была создана в 1978 году. В ней появился порт компилятора, который позволял делать код переносимым, также теперь можно было редактировать исходную систему и так далее. В дальнейшем UCSD стал основой для многих последующих реализаций языка Паскаль.
  • Object Pascal. Программирование на Паскале всегда привлекало многих начинающих специалистов. В 1986 году Apple создала объектное расширение для языка. Группа, занимавшаяся разработкой, консультировалась с «отцом» Паскаля.
  • Turbo Pascal. Первая версия интегрированной среды разработки появилась в 1983 году. Borland стала фирмой, которая занялась разработкой данной реализации. Однако стоит отметить, что Turbo Pascal многое позаимствовал из Odject Pascal, и в целом эти реализации были схожы. Программирование на Паскале заинтересовало и Microsoft. Практически в это же время они выпустили собственную версию объектного языка, основанного на Паскале. Она не смогла получить массового распространения, и вскоре была забыта. Впоследствии реализация от Borland получила название Object Pascal.
  • Object Pascal сегодня. Важнейшим шагом в истории языка Паскаль является выход свободных реализаций. Они включили в себя все лучшее от многих других диалектов. В них присутствует отличная совместимость с большинством операционных систем.

Особенности

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

Однако изначально язык имел целый ряд недостатков. Главные из них: невозможность работы с короткая библиотека ввода-вывода, неимение средств для запуска функций, созданных на других языках, и так далее. Что такое Паскаль, язык которого довольно прост, в начале 80-х узнали многие специалисты. Тем не менее, не всем он пришелся по вкусу. Некоторые специалисты даже писали статьи, в которых подробно расписывали о каждом недостатке языка.

Недостатки и их исправление

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

Как бы это не звучало, но не редко недостатки языка помогали программистам в обучении. Помимо этого, Паскаль в 80-е годы стал огромным шагом вперед в сравнении с Фортраном, который в ту пору изучали новички. Тем более, Фортран имел еще больше проблем. За очень короткий промежуток времени Паскаль сумел стать основным языком для обучения во многих школах и вузах. На его основе стали разрабатываться многочисленные программы.

Структура

О языке Паскаль писать можно много, но следует перейти непосредственно к процессу программирования. Каждое приложение в Паскале начинается с ключевого слова (Program). Сразу после него указывается наименование программы, а затем ставится «;». Иногда этого не требуется. После названия можно указывать список внешних файлов, которые будут выступать параметрами. После этого идет самое важное в программе — ее тело. Состоит оно из секций описаний констант, типов, переменных, процедур и функций. После них идет блок операторов — точка входа. Блок операторов располагается между ключевыми словами begin и end. Каждый оператор разделяется точкой с запятой. Для окончания программы используется точка, которая ставится после тела.

Применение модулей

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

Некоторые реализации языка не поддерживают модули, особенно более старые версии. Разделить их можно на два вида: программный и вспомогательный. Первый присутствует в программе, начинается с ключевого слова program. Второй содержит переменные, константы, типы и так далее, может использоваться в других модулях.

Пунктуация

Синтаксис Паскаля требует строгого выполнения.

  • Точка с запятой. Ставится в конце заголовка, после описания переменных. С помощью нее разделяются операторы. Можно не использовать перед ключевым словом end.
  • Запятая. Используется в качестве разделителя в разнообразных списках.
  • Точка. Ставится в конце тела программы (после слова end).

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

Язык Паскаль позволяет вставлять комментарии. Они служат пояснением к коду программы. Можно использовать русский язык. На работу программы комментарии не производят никакого действия.

В Паскале можно писать как строчными, так и прописными буквами. Выбор остается за программистом.

Критика

Как уже было сказано, особая популярность Паскаля пришлась на 1980-1990 годы, но находились критики, которые считали язык несерьезным. По их мнению, он подходит лишь для обучения. Особенно заметная критика была изложена в статье «Почему Паскаль не мой любимый язык программирования». Написал ее Брайан Керниган — один из разработчиков языка C. Именно после статьи Паскаль начал серьезно изменяться в лучшую сторону.

Несмотря на все недостатки, больше всего на Паскаль давит несерьезное отношение многих программистов.

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

Наоборот, в те времена ученые пробовали разные языки программирования для практического применения. И позже этот ученый позднее создал ещё два языка программирования – Оберон и Модула, которые, правда, не получили распространения среди специалистов. Если быть точным, то 1968 году была создана первая версия языка Паскаль (на основе АЛГОЛа), а 1970 году – первый компилятор.

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

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

Особенно это стало ясно после того, когда около 1970-го года профессор Хоар опубликовал две статьи: «Аксиоматическая основа программирования для вычислительных машин» и «О структурной организации данных», в которых делается попытка осмыслить правильность составления алгоритмов программ с математической точки зрения. Как раз язык программирования Паскаль и является первым из языков, в котором имеются все необходимые инструменты для проверки эффективности написанных программ.

Ещё одной отличительной особенностью Паскаля является его строгая типизация данных, среди которых возник новый ранее не использовавшийся тип – перечислимый. Фактор строгой типизации сделал репутацию Паскалю как дисциплинирующего языка, приучающий программиста к логическому мышлению.

В Паскале допускается несвязанность программного кода (в отличие от тогдашних языков COBOL и FORTRAN), то есть допускается сколь угодно большое наличие пустых строк, что удобно при форматировании при написании комментариев. Программу на Паскале можно написать хоть в одну строчку – она все ровно будет работать, если написана в соответствии с правилами.

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

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

Приведем несколько заметок из истории языка программирования Паскаль (Pascal). Прочтя данную статью, вы узнаете, какими этапами проходила история языка Паскаль.

Само названия языка — «Паскаль» — возникло в честь одного из великих французских математиков и физиков Блеза Паскаля (1623-1662). Немного из истории жизни французского мыслителя. Блез Паскаль родился в семье известного математика Этьена Паскаля.

Отличительная черта всех его родных — необыкновенная одаренность. У него было две сестры: у старшей сестры Жильберты были в большей степени развиты математические способности и литературный талант, а у младшей сестры Жаклины — артистический дар. Свое детство Блез Паскаль провел в Париже, школу никогда не посещал.

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

Одним из известных изобретений Блеза Паскаля стал арифмометр (паскалево колесо), который производил все арифметические действия. Он представлял собой латунный ящик с интересным механизмом (рис. ниже).

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

Продолжается, и в 50-е годы XX века появились первые языки программирования высокого уровня: ФОРТРАН, КОБОЛ и АЛГОЛ. ФОРТРАН и КОБОЛ они существуют и по сей день, а вот АЛГОЛ как раз и стал родоначальником языка программирования Паскаль.

Первая версия АЛГОЛа появилась в 1958 году, разработчиком которого был создатель ФОРТРАНа Джон Бэкус. Последующими версиями языка АЛГОЛ стали АЛГОЛ-60 и АЛГОЛ-68. Однако из-за громоздкости языков АЛГОЛ-60 и АЛГОЛ-68 создавались большие трудности.

Поэтому в 1965 году Международная федерация по обработке информации предложила проект нескольким специалистам ЭВМ. Необходимо было создать новый язык программирования — преемник АЛГОЛа-60.

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

Николас Вирт начал разрабатывать проект АЛГОЛ-W. Целью проекта было обучение студентов различным методам: «структурное программирование», «программирование сверху вниз» и др. В 1970 году произошли два великих события:

  1. появление операционной системы UNIX
  2. появление нового языка программирования.

Николас Вирт назвал новый язык программирования в честь французского математика XVII века Блеза Паскаля, поскольку Паскаль создал вычислительное устройство (паскалево колесо). Первая версия нового языка программирования вышла на компьютере CDC 6000.

Успех языка Паскаль:

Выдающийся успех языка Паскаль обусловлен рядом причин:

  1. Язык в естественной форме отразил самые важные современные концепции технологии разработки программ.
  2. Именно благодаря своей компактности, целостности и ортогональности понятий, язык программирования Паскаль оказался весьма легок для изучения и освоения.
  3. Несмотря на кажущуюся простоту языка, он оказался пригодным для достаточно широкого спектра приложений, для разработки очень больших и сложных программ, даже операционных систем.
  4. Паскаль весьма технологичен для реализации почти для всех (в том числе нетрадиционных) машинных текстур. Существует интересное сравнение: разработка Паскаль-транслятора почти не превышает по трудоемкости хорошую дипломную работу выпускника вуза.

Итак, Вы увидели, как протекала история языка Паскаль. Заинтересовала статья?! По своей простоте и отсутствию громоздкости, основы языка программирования Паскаль могут постигать как учащиеся высших учебных заведений, так и обычные школьники. Программирование на языке Паскаль — увлекательное занятие. Программируйте и наслаждайтесь!

Язык
программирования создал профессор Высшей федеральной техничес кой
школы в Цюрихе Николаус Вирт (Niklaus Wirth) и назвал его именем известного
французского математика и философа Блеза Паскаля (Blaise Pascal, 1623-1662
гг. ). Начало создания Паскаля связано с усилиями Н.Вирта и К.Хоора (C.A.Hoore)
переработать язык программирования Алгол-60 и на его основе создать новый.
Примерно в 1968 г. бал подготовлен проект языка и начата разработка его
транслятора для вычислительной машины CDC 6400, который был готов в 1970
г. В 1971 г. было представлено первое официальное описание языка (Wirth
N. The Programming Language Pascal // Acta Informatica. — 1971. Vol1.N1.)

Интенсивнее всего язык распространялся
в 1972-1975 гг. Он удостоился всеобщего признания и стал основным языком
публикации программ и преподавания дисциплины программирования. В 1975
г. была создана ассоциация пользователей Паскаля. Позже язык подвергся
критике. Пользователи были не удовлетворены слишком строгими ограничениями
некоторых конструкций языка. В 1977 г. была создана группа по разработке
стандарта языка Паскаль. Ею руководил А.Эддиман (A.M.Addyman). В 1983
г. 1 декабря был объявлен международный стандарт языка Паскаль ИСО 7185.

(В.Тумасонис, В.Дагене, Г.Григас. «Справочник.
Паскаль. Руководство программиста» Москва. Радио и связь. 1992г.)

В 1992 г. фирма Borland International
выпустила два пакета программирования, основанные на использовании языка
Паскаль — Borland Pascal 7.0 и Turbo Pascal 7.0.
Пакет Borland Pascal 7.0 учитывает многие новейшие достижения в программировании
и практике создания программ и включает в себя три режима работы в обычном
режиме операционной системе MS DOS, в защищенном режиме MS DOS и в среде
Windows.Обладая рассширенными возможностями, пакет требует значительных
ресурсов (~ 30 Mb на жестком диске и і 2 Mb ОЗУ). Пакет Turbo Pascal 7.0
обладает ограниченными возможностями и позволяет работать только в обычном
режиме MS DOS, но может быть использован практически на любой машине (вплоть
до 286) и стоит дешевле.
(А.П,Епанешников, В.А.Епанешников. «Программирование
в среде Turbo Pascal 7.0» Мосвка. «Диалог-МИФИ». 1995)

На современных компьютерах некоторые модули
Turbo Pascal 7. 0 (например, CRT) работают некорректно. Лучше использовать
Borland Pascal 7.0.
В настоящее время, язык Паскаль является общепризнанным языком обучения
программированию, сочетающем в себе все основные свойства серьезного алгоритмического
языка программирования высокого уровня и доступную форму, позволяющую
начинающему программисту освоить технологию создания программы. Кроме
того, существуют пакеты, основанные на использовании Паскаля (Delphi,
компонентный Паскаль), использующие современный объектно-ориентированный
подход.

Музей университет ИТМО


Никлаус Вирт (нем. Niklaus Wirth) родился 15 февраля 1934 года в Винтертуре (предместье Цюриха, Швейцария). В 1954 году поступил на факультет электроники Швейцарского федерального технологического института (ETH) в Цюрихе, где за четыре года получил степень бакалавра по электротехнике. Продолжил обучение в Лавальском университете (Квебек, Канада), в 1960 году получил степень магистра. Затем был приглашён в университет Калифорнии в Беркли (США), где в 1963 году, под руководством профессора Хаски, защитил диссертацию, темой которой стал язык программирования Эйлер (Euler) — расширение Алгола средствами языка Лисп.


Диссертация Вирта была замечена сообществом разработчиков языков программирования, и в том же 1963 году он был приглашён в Комитет по стандартизации Алгола IFIP (Международной федерации информатики), который разрабатывал новый стандарт языка Алгол, впоследствии ставший Алголом-68. Вместе с Чарльзом Хоаром Вирт отстаивал в комитете линию на разработку умеренно модифицированной версии Алгола, свободной от недостатков исходного языка и дополненной минимумом действительно необходимых средств. Вирт и Хоар представили комитету язык Algol-W (W — от Wirth), представлявший собой именно такую переработку Алгола, но поддержки не встретили. По завершении работы комитета в 1968 году Вирт вошёл в число тех, кто критиковал Алгол-68, говоря о его недостаточной надёжности и чрезвычайной избыточности. Параллельно, с 1963 по 1967 годы Вирт работал ассистентом в Стэнфордском университете, США. Вместе с Джимом Уэльсом разработал и реализовал язык PL/360, предназначенный для программирования на платформе IBM/360 — алголоподобный язык, в который был введён ряд системно-зависимых возможностей, связанных с архитектурой IBM/360.


В 1967 году вернулся в звании доцента в университет Цюриха, в 1968 году получил в ETH звание профессора компьютерных наук. В течение 31 года работал в ETH. Много занимался организационной деятельностью, совершенствуя систему обучения своего университета.


В 1970 году создал язык программирования Паскаль. В 1970-х годах разработал, вместе с Ч. Хоаром и Э. Дейкстрой технологию структурного программирования. Вышедшая в 1971 году статья Вирта «Разработка программы методом пошагового уточнения» описала и обосновала ставшую впоследствии классической методологию разработки программного обеспечения «сверху вниз». Для переноса Паскаль-системы на различные вычислительные платформы в 1973 году с участием Вирта был разработан прототип виртуальной машины, исполняющей на любой платформе промежуточный «пи-код», в который предполагалось компилировать все программы.


В 1975 году разработал язык Модула, в котором реализовал идеи разработки модульных программ с хорошо определёнными межмодульными интерфейсами и параллельного программирования. Кроме того, в Модуле был изменён синтаксис языка — Вирт избавился от унаследованной ещё от Алгола-60 необходимости применять составные операторы в конструкциях ветвления и циклах. Модула не была широко известна и имела всего одну экспериментальную реализацию, но её доработанная версия — Модула-2, разработка которой началась в 1977 и закончилась в 1980 году, предназначенная для реализации системного ПО разрабатываемой в ETH системы Lilith — 16-разрядного персонального компьютера, стала известна и довольно популярна, хотя и не превзошла по популярности Паскаль, особенно его коммерческие реализации. Система Lilith обогнала тенденции компьютерной индустрии на несколько лет, позднее Вирт с сожалением говорил, что, не реализовав потенциал этой системы, швейцарская компьютерная индустрия упустила свой исторический шанс. Развитием Модулы-2 стал язык Модула-3, разработанный совместно фирмами DEC и Olivetti; в его создании Вирт участия не принимал.


Во второй половине 1970-х Вирт участвовал в конкурсе министерства обороны США на разработку нового языка для программирования встроенных систем, в результате которого был создан язык Ада. Повторилась история с Алголом-68 — проект группы, в которой работали Вирт и Хоар, не был одобрен комитетом по языку. В итоге конкурс выиграл проект, основанный на Паскале, но гораздо более сложный и объёмный.


С 1982 по 1984 и с 1988 по 1990 годы Вирт возглавлял факультет компьютерных наук ETH, с 1990 года — Институт компьютерных систем при ETH.


В 1988 году в содружестве с Юргом Гуткнехтом (Jurg Gutknecht) Вирт разработал язык программирования Оберон. Целью разработки было создание языка для реализации системного ПО проектируемой новой рабочей станции. Основой для Оберона стала Модула-2, которую существенно упростили, но при этом дополнили новыми возможностями.


В 1992 году Вирт и Мёссенбёк выпустили сообщение о новом языке программирования — Оберон-2, — минимально расширенной версии Оберона. В этом же году была образована дочерняя компания ETH — Oberon microsystems, которая занялась разработкой систем Оберон. Вирт стал одним из членов её совета директоров. В 1999 году эта компания выпустила следующую версию Оберона — Component Pascal, более приспособленную для компонентного программирования. В 1996 году Вирт разработал ещё один оригинальный язык программирования — Lola, предназначенный для разработки настраиваемых электронных схем.


1 апреля 1999 года Вирт вышел на пенсию, достигнув предельного для государственного служащего в Швейцарии возраста 65 лет (ETH — государственный ВУЗ, его работники являются госслужащими и их работа подчиняется соответствующему законодательству).


Член национальных академий: Swiss Academy of Engineering (Швейцария), U.S. Academy of Engineering (США), Berlin-Brandenburg Academy (Германия).


В сентябре 2005 года Ученый совет СПбГУ ИТМО избрал профессора Н. Вирта Почетным доктором Университета ИТМО.


Статья подготовлена по материалам, представленным в Википедии: свободной энциклопедии


Дополнительная информация о профессоре Н. Вирте в Интернет:


2005 год. Профессор Н. Вирт — Почетный доктор Университета // Фотоальбом Виртуального музея университета


Здравствуйте, Вирт! // Газета «Университет ИТМО», 2012, №143 (1648)

Паскаль (язык программирования) (Pascal programming language)

                                     

5.2. Синтаксис и языковые конструкции. Простые типы. (Simple types)

В стандартном и расширенном Паскале есть такие простые типы: числа с плавающей точкой real (реальные), всего integer (целое число), символ char (Чаре), логика boolean (логическое) и перечислять конструктор нового типа, введенный в Pascal (Паскаль).

Turbo Pascal (Турбо Паскаль) добавлен язык с вариациями этих типов: например, shortint короче integer (целое число), и longint — долго.

Современные диалекты Pascal (Паскаль), такие как FPC (ФПК) или Delphi (Делфи), что integer (целое число) является наиболее подходящим для машины, например, использовать для массива индексов, и shortint, longint и других целых чисел определенной длины, это полезно для кросс-платформенного программирования. аналогично и с дробными числами.

Еще раз расширили типы при переходе на x64 — «просто целое» integer (целое число) осталось 32-битным, но он взял особый тип, который равен longint для x86 и int64 для x64.

Целочисленные типы:

Число с плавающей точкой:

В Pascal (Паскаль) на все типы допустимых операций побитового. логические операции над битами:

Над битами двух целых операндов можно выполнять ранее рассмотренных логических операций: not, and, or, xor. разница между побитовые и логические операции заключается в том, что битовые операции над отдельными битами операндов, а не на их стоимость, как правило, в десятичном представлении.

Стоит к понятию типа порядковых данных ordinal, к ним относятся целые типы со знаком и без знака, логическое boolean (логическое), символ char (Чаре), перечислимые типы и типы-диапазоны.

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

Диапазоны содержат подмножество значений остальных порядковых типов:

Для порядковых типов операций inc (Инк), dec, succ (зисс), pred (пред), ord (ОГА), операции сравнения (= > &ЛТ => &ЛТ = &ГТ =

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

                                     

5.2. Синтаксис и языковые конструкции Простые типы

В стандартном и расширенном Паскале есть такие простые типы: числа с плавающей запятой real, целые integer, символьный char, логический boolean и перечисления конструктор нового типа, введённый в Pascal.

Turbo Pascal дополнил язык вариациями этих типов: например, shortint будет короче integer, а longint — длиннее.

Современные диалекты Pascal, такие, как FPC или Delphi, считают, что integer — это наиболее подходящий для данной машины целый, применяемый, например, для индексов массива, а shortint, longint и другие — целые определённой длины; это удобно при кроссплатформенном программировании. Аналогично и с дробными числами.

Ещё раз расширили типы при переходе на x64 — «просто целое» integer осталось 32-битным, но потребовался особый тип, который равен longint на x86 и int64 на x64.

Целочисленные типы:

Числа с плавающей запятой:

В Pascal над целыми типами допустимы побитовые операции. Логические операции над битами:

Над битами двух целых операндов можно выполнять ранее рассмотренные логические операции: not, and, or, xor. Отличие между побитовыми и логическими операциями состоит в том, что побитовые поразрядные операции выполняются над отдельными битами операндов, а не над их значением в десятичном обычно представлении.

Выделяется понятие порядковых типов данных ordinal, к ним относятся целые типы знаковые и беззнаковые, логический boolean, символьный char, перечислимые типы и типы-диапазоны.

Порядковые типы задаются целым числом кодом, которое можно получить с помощью функции ord. Все операции, выполняемые над порядковыми типами, выполняются с их кодами.

Диапазоны содержат подмножество значений других порядковых типов:

Для порядковых типов определены операции inc, dec, succ, pred, ord, операции сравнения (= > < => < = > =

Какие языки программирования не стоит учить в 2021 году

И новичкам, и опытным разработчикам нужно знать, какие технологии популярны, а какие уже устарели. Недавно мы составили список самых востребованных языков программирования в 2020 году. И даже устроили баттл и определили лучший язык, по версии наших читателей. Теперь решили рассказать, какие языки «умирают» и что не стоит учить в 2021 году.

Visual Basic

Он окончательно проиграл языку C#. В этом году Microsoft объявила, что «не планирует развивать Visual Basic». Впрочем, поддержку в платформе .NET 5.0 пока сохранят.

Профессиональное сообщество почти перестало интересоваться им, но индекс TIOBE продолжает ставить его в топ самых обсуждаемых языков.

Elm

Это функциональный язык программирования для фронтенд-разработки. Elm появился в 2012 году, и его популярность росла вплоть до 2018. Но упала в течение следующих двух лет.

Проблема в редких обновлениях. Elm выглядит устаревшим и «мертвым», особенно для новичков, которые не видят особого роста и развития языка. К тому же на рынке спрос на Elm-разработчиков ниже, чем предложение. И программисты сталкиваются с серьёзной конкуренцией.

CoffeeScript

Кажется, все забыли о CoffeeScript спустя 11 лет после его выхода. Он появился в 2009 году, чтобы сделать написание кода на JavaScript удобнее. И, несмотря на критику, был весьма популярным среди пользователей GitHub.

О нём начали забывать в 2015 году, после внедрения JavaScript ES6. Не помогло даже введение CoffeeScript 2 в 2017 году.

По состоянию на 2020 год, CoffeeScript мёртв для рынка (хотя репозиторий GitHub всё ещё отчасти жив). Знание этого языка не востребовано и является скорее экзотическим (и вовсе не обязательным) дополнением к основным навыкам.

Erlang

Следующий язык программирования, который не стоит учить — Erlang. Его всё ещё используют многие организации. Но современные компании предпочитают альтернативы, вроде Elixir, так как они современнее и доступнее для новичков. Поэтому год за годом востребованность этого языка программирования падает.

Вакансии для Erlang-разработчиков всё ещё существуют на рынке. Но если вы хотите оставаться конкурентоспособным, стоит выбрать более популярный и новый язык.

Pascal

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

Впрочем, сам по себе Pascal сегодня мало полезен. В своё время он привёл к созданию Delphi. Delphi же вскоре занял место Pascal и вытеснил его в список мёртвых языков программирования для профессиональных разработчиков.

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

Haskell

Считается, что Haskell важен для науки и промышленности. К тому же из-за скорости и надёжности к нему часто обращались крупные компании, такие как Facebook, GitHub, IBM и так далее. Однако, в последние годы популярность этого языка падает.

Поэтому, несмотря на крупное стандартное обновление Haskell в 2020 году, его не стоит учить, особенно в начале карьеры.

Perl

В 2000-х годах Perl был одним из ведущих языков веб-программирования: практичным и удобным, но со своими сложностями. Однако после появления более современных языков программирования, особенно Python, ему стало трудно выделяться на рынке.

Сегодня Perl включает в себя две версии: Perl 5 и Perl 6 (или Raku). Его продолжают использовать для веб-разработки и создания графических интерфейсов. Но популярность Perl год за годом снижается. Поэтому лучше взяться за более востребованный язык.

Языки программирования





 



Эволюция языков программирования


 





































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


К написанию этой статьи меня побудила дискуссия, разгоревшаяся на одном из форумов dotSITE после появления там сообщения, резко критикующего C# — одну из основных составляющих новой платформы .NET от Microsoft. Сообщение содержало в себе уже ставшую достаточно банальной критику Microsoft вообще и в частности (я здесь не утверждаю, что критиковать Microsoft не за что, просто эта критика уже порядочно набила оскомину), а также некоторые высказывания конкретно о C#. В ходе развернувшейся дискуссии было высказано несколько любопытных замечаний, некоторые же вопросы остались незатронутыми. Все это и побудило меня написать статью, в которой делается попытка «примирить» в некотором роде носителей мнений об исключительности того или иного языка программирования. Я постараюсь дать некоторый исторический очерк развития различных языков и пояснить на примерах некоторые общие тенденции. Возможно, мне удастся убедить кого-то в бесполезности проведения дискуссий, аналогичных вышеупомянутой. Я не претендую ни на объективность (хотя постараюсь быть таковым), ни на полноту изложения. Это всего лишь попытка «встать на цыпочки и осмотреться»…

1. Первые универсальные языки

Итак, начнем. Обратимся к истокам развития вычислительной техники. Вспомним самые первые компьютеры и программы для них. Это была эра программирования непосредственно в машинных кодах, а основным носителем информации были перфокарты и перфоленты. Программисты обязаны были знать архитектуру машины досконально. Программы были достаточно простыми, что обуславливалось, во-первых, весьма ограниченными возможностями этих машин, и, во-вторых, большой сложностью разработки и, главное, отладки программ непосредственно на машинном языке. Вместе с тем такой способ разработки давал программисту просто невероятную власть над системой. Становилось возможным использование таких хитроумных алгоритмов и способов организации программ, какие и не снились современным разработчикам. Например, могла применяться (и применялась!) такая возможность, как самомодифицирующийся код. Знание двоичного представления команд позволяло иногда не хранить некоторые данные отдельно, а встраивать их в код как команды. И это далеко не полный список приемов, владение хотя бы одним из которых сейчас сразу же продвигает вас до уровня «гуру» экстра-класса.

2. Ассемблер

Первым значительным шагом представляется переход к языку ассемблера (позволим себе маленькое лирическое отступление: английское название assembly language, или assembler, на русский переводят именно тем термином, который был использован выше. При этом у новичка создается впечатление, что язык назван в честь некоего человека по имени ассемблер. Достаточно забавная ситуация, не правда ли?). Не очень заметный, казалось бы, шаг — переход к символическому кодированию машинных команд — имел на самом деле огромное значение. Программисту не надо было больше вникать в хитроумные способы кодирования команд на аппаратном уровне. Более того, зачастую одинаковые по сути команды кодировались совершенно различным образом в зависимости от своих параметров (широко известный пример из мира современных компьютеров — это кодирование инструкции mov в процессорах Intel: существует несколько совершенно по-разному кодируемых вариантов команды; выбор того или иного варианта зависит от операндов, хотя суть выполняемой операции неизменна: поместить содержимое (или значение) второго операнда в первый). Появилась также возможность использования макросов и меток, что также упрощало создание, модификацию и отладку программ. Появилось даже некое подобие переносимости — существовала возможность разработки целого семейства машин со сходной системой команд и некоего общего ассемблера для них, при этом не было нужды обеспечивать двоичную совместимость.


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

3. Фортран

В 1954 году в недрах корпорации IBM группой разработчиков во главе с Джоном Бэкусом
(John Backus) был создан язык программирования Fortran.



Значение этого события трудно переоценить. Это первый язык программирования высокого уровня.
Впервые программист мог по-настоящему абстрагироваться от особенностей машинной
архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция
подпрограмм. Напомним, что это современные компьютеры поддерживают подпрограммы
на аппаратном уровне, предоставляя соответствующие команды и структуры данных (стек) прямо на уровне ассемблера, в 1954 же году это было совершенно не так. Поэтому компиляция Fortran’а была процессом отнюдь не тривиальным. Кроме того, синтаксическая структура языка была достаточно сложна для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок, таких, например:


В Фортране следующая конструкция описывает «цикл for до метки 10 при изменении индекса от 1 до 100»:

DO 10 I=1,100


Если же здесь заменить запятую на точку, то получится оператор присваивания:


DO10I = 1.100


Говорят, что такая ошибка заставила ракету взорваться во время старта!



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


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

4. Cobol

В 1960 году был создан язык программирования Cobol.



Он задумывался как язык для создания коммерческих приложений, и он стал таковым. На Коболе написаны тысячи прикладных коммерческих систем. Отличительной особенностью языка является возможность эффективной работы с большими массивами данных, что характерно именно коммерческих приложений. Популярность Кобола столь высока, что даже сейчас, при всех его недостатках (по структуре и замыслу Кобол во многом напоминает Фортран) появляются новые его диалекты и реализации. Так недавно появилась реализация Кобола, совместимая с Microsoft .NET, что потребовало, вероятно, внесения в язык некоторых черт объектно-ориентированного языка.

5. PL/1

В 1964 году все та же корпорация IBM создала язык PL/1, который был призван заменить Cobol и Fortran в большинстве приложений. Язык обладал исключительным богатством синтаксических конструкций. В нем впервые появилась обработка исключительных ситуаций и поддержка параллелизма. Надо заметить, что синтаксическая структура языка была крайне сложной. Пробелы уже использовались как синтаксические разделители, но ключевые слова не были зарезервированы. В частности, следующая строка — это вполне нормальный оператор на PL/1:


IF ELSE=THEN THEN THEN; ELSE ELSE


В силу таких особенностей разработка компилятора для PL/1 была исключительно сложным делом. Язык так и не стал популярен вне мира IBM.

6. BASIC

В 1963 году в Дартмурском колледже (Dartmouth College) был создан язык программирования BASIC (Beginners’ All-Purpose Symbolic Instruction Code — многоцелевой язык символических инструкций для начинающих). Язык задумывался в первую очередь как средство обучения и как первый изучаемый язык программирования. Он предполагался легко интерпретируемым и компилируемым. Надо сказать, что BASIC действительно стал языком, на котором учатся программировать (по крайней мере, так было еще несколько лет назад; сейчас эта роль отходит к Pascal). Было создано несколько мощных реализаций BASIC, поддерживающих самые современные концепции программирования (ярчайший пример — Microsoft Visual Basic).

7. Algol

В 1960 году командой во главе с Петером Науром (Peter Naur) был создан язык программирования Algol. Этот язык дал начало целому семейству Алгол-подобных языков (важнейший представитель — Pascal). В 1968 году появилась новая версия языка. Она не нашла столь широкого практического применения, как первая версия, но была весьма популярна в кругах теоретиков. Язык был достаточно интересен, так как обладал многими уникальными на так момент характеристиками.

8. Дальнейшее развитие языков программирования

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


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

9. Pascal-подобные языки

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


Отрицательной чертой языка было отсутствие в нем средств для разбиения программы на модули. Вирт осознавал это и разработал язык Modula-2 (1978), в котором идея модуля стала одной из ключевых концепций языка. В 1988 году появилась Modula-3, в которую были добавлены объектно-ориентированные черты. Логическим продолжением Pascal и Modula являются язык Oberon и Oberon-2. Они характеризуются движением в сторону объектно- и компонентно-
ориентированности.

10. C-подобные языки

В 1972 году Керниганом и Ритчи был создан язык программирования C. Он создавался как язык для разработки операционной системы UNIX. C часто называют «переносимым ассемблером», имея в виду то, что он позволяет работать с данными практически так же эффективно, как на ассемблере, предоставляя при этом структурированные управляющие конструкции и абстракции высокого уровня (структуры и массивы). Именно с этим связана его огромная популярность и поныне. И именно это является его ахиллесовой пятой. Компилятор C очень слабо контролирует типы, поэтому очень легко написать внешне совершенно правильную, но логически ошибочную программу.


В 1986 году Бьярн Страуструп создал первую версию языка C++, добавив в язык C объектно-ориентированные черты, взятые из Simula (см. ниже), и исправив некоторые ошибки и неудачные решения языка. C++ продолжает совершенствоваться и в настоящее время, так в 1998 году вышла новая (третья) версия стандарта, содержащая в себе некоторые довольно существенные изменения. Язык стал основой для разработки современных больших и сложных проектов. У него имеются, однако же, и слабые стороны, вытекающие из требований эффективности.


В 1995 году в корпорации Sun Microsystems Кеном Арнольдом и Джеймсом Гослингом был создан язык Java. Он наследовал синтаксис C и C++ и был избавлен от некоторых неприятных черт последнего. Отличительной особенностью языка является компиляция в код некоей абстрактной машины, для которой затем пишется эмулятор (Java Virtual Machine) для реальных систем. Кроме того, в Java нет указателей и множественного наследования, что сильно повышает надежность программирования.


В 1999–2000 годах в корпорации Microsoft был создан язык C#. Он в достаточной степени схож с Java (и задумывался как альтернатива последнему), но имеет и отличительные особенности. Ориентирован, в основном, на разработку многокомпонентных Интернет-приложений.

11. Языки Ada и Ada 95

В 1983 году под эгидой Министерства Обороны США был создан язык Ada. Язык замечателен тем, что очень много ошибок может быть выявлено на этапе компиляции. Кроме того, поддерживаются многие аспекты программирования, которые часто отдаются на откуп операционной системе (параллелизм, обработка исключений). В 1995 году был принят стандарт языка Ada 95, который развивает предыдущую версию, добавляя в нее объекно-
ориентированность и исправляя некоторые неточности. Оба этих языка не получили широкого распространения вне военных и прочих крупномасштабных проектов (авиация, железнодорожные перевозки). Основной причиной является сложность освоения языка и достаточно громоздкий синтаксис (значительно более громоздкий, чем Pascal).

12. Языки обработки данных

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

13. APL

В 1957 году была предпринята попытка создания языка для описания математической обработки данных. Язык был назван APL (Application Programming Language). Его отличительной особенностью было использование математических символов (что затрудняло применение на текстовых терминалах; появление графических интерфейсов сняло эту проблему) и очень мощный синтаксис, который позволял производить множество нетривиальных операций прямо над сложными объектами, не прибегая к разбиению их на компоненты. Широкому применению помешало, как уже отмечалось, использование нестандартных символов как элементов синтаксиса.

14. Snobol и Icon

В 1962 году появился язык Snobol (а в 1974 — его преемник Icon), предназначенный для обработки строк. Синтаксис Icon напоминает С и Pascal одновременно. Отличие заключается в наличии мощных встроенных функций работы со строками и связанная с этими функциями особая семантика. Современным аналогом Icon и Snobol является Perl — язык обработки строк и текстов, в который добавлены некоторые объектно-ориентированные возможности. Считается очень практичным языком, однако ему недостает элегантности.

15. SETL

В 1969 году был создан язык SETL — язык для описания операций над множествами. Основной структурой данных в языке является множество, а операции аналогичны математическим операциям над множествами. Полезен при написании программ, имеющих дело со сложными абстрактными объектами.

16. Lisp и ему подобные языки

В 1958 году появился язык Lisp — язык для обработки списков. Получил достаточно широкое распространение в системах искусственного интеллекта. Имеет несколько потомков: Planner (1967), Scheme (1975), Common Lisp (1984). Многие его черты были унаследованы современными языками функционального программирования.

17. Скриптовые языки

В последнее время в связи развитием Интернет-технологий, широким распространением высокопроизводительных компьютеров и рядом других факторов получили распространение так называемые скриптовые языки. Эта языки первоначально ориентировались на использование в качестве внутренних управляющих языков во всякого рода сложных системах. Многие из них, однако же, вышли за пределы сферы своего изначального применения и используются ныне в совсем иных областях. Характерными особенностями данных языков являются, во-первых, их интерпретируемость (компиляция либо невозможна, либо нежелательна), во-вторых, простота синтаксиса, а в-третьих, легкая расширяемость. Таким образом, они идеально подходят для использования в часто изменяемых программах, очень небольших программах или в случаях, когда для выполнения операторов языка затрачивается время, несопоставимое со временем их разбора. Было создано достаточно большое количество таких языков, перечислим лишь основные и наиболее часто используемые.

18. JavaScript

Язык был создан в компании Netscape Communications в качестве языка для описания сложного поведения веб-страниц. Первоначально назывался LiveScript, причиной смены названия получили маркетинговые соображения. Интерпретируется браузером во время отображения веб-страницы. По синтаксису схож с Java и (отдаленно) с C/C++. Имеет возможность использовать встроенную в браузер объектную функциональность, однако подлинно объектно-ориентированным языком не является.

19. VBScript

Язык был создан в корпорации Microsoft во многом в качестве альтернативы JavaScript. Имеет схожую область применения. Синтаксически схож с языком Visual Basic (и является усеченной версией последнего). Так же, как и JacaScript, исполняется браузером при отображении веб-страниц и имеет ту же степень объектно-
ориентированности.

20. Perl

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

>21. Python

Интерпретируемый объектно-ориентированный язык программирования. По структуре и области применения близок к Perl, однако менее распространен и более строг и логичен. Имеются реализации для большинства существующих платформ.

22. Объектно-ориентированные языки

Объектно-ориентированный подход, пришедший на смену структурному, впервые появился отнюдь не в C++, как полагают некоторые. Существует целая череда чистых объектно-ориентированных языков, без сведений о которых наш обзор был бы неполным.

23. Simula

Первым объектно-ориентрованным языком был язык Simula (1967). Этот язык был предназначен для моделирования различных объектов и процессов, и объектно-ориентированные черты появились в нем именно для описания свойств модельных объектов.

24. Smalltalk

Популярность объектно-ориентированному программированию принес язык Smalltalk, созданный в 1972 году. Язык предназначался для проектирования сложных графических интерфейсов и был первым по-настоящему объектно-ориентированным языком. В нем классы и объекты — это единственные конструкции программирования. Большим недостатком Smalltalk являются большие требования к памяти и низкая производительность полученных программ. Это связано с не очень удачной реализацией объектно-ориентированных особенностей. Популярность языков C++ и Ada 95 связана именно с тем, что объектно-
ориентированность реализована без существенного снижения производительности.

25. Eiffel

Существует язык с очень хорошей реализацией объектно-
ориентированности, не являющийся надстройкой ни над каким другим языком. Это язык Eiffel (1986). Являясь чистым языком объектно-ориентированного программирования, он, кроме того, повышает надежность программы путем использования «контрольных утверждений».

26. Языки параллельного программирования

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

27. Язык Оccam

Язык Оccam был создан в 1982 году и предназначен для программирования транспьютеров — многопроцессорных систем распределенной обработки данных. Он описывает взаимодействие параллельных процессов в виде каналов — способов передачи информации от одного процесса к другому. Отметим особенность синтаксиса языка
Щccam — в нем последовательный и параллельный порядки выполнение операторов равноправны, и их необходимо явно указывать ключевыми словами PAR и SEQ.

28. Модель параллельных вычислений Linda

В 1985 году была предложена модель параллельных вычислений Linda. Основной ее задачей является организация взаимодействия между параллельно выполняющимися процессами. Это достигается за счет использования глобальной кортежной области (tuple space). Процесс может поместить туда кортеж с данными (то есть совокупность нескольких, возможно разнородных, данных), а другой процесс может ожидать появления в кортежной области некоторого кортежа и, после его появления, прочитать кортеж с возможным последующим его удалением. Заметим, что процесс может, например, поместить кортеж в область и завершиться, а другой процесс может через некоторое время воспользоваться этим кортежем. Таким образом обеспечивается возможность асинхронного взаимодействия. Очевидно, что при помощи такой модели может быть сэмулировано и синхронное взаимодействие. Linda — это модель параллельных вычислений, она может быть добавлена в любой язык программирования. Существуют достаточно эффективные реализации Linda, обходящие проблему существования глобальной кортежной области с потенциально неограниченным объемом памяти.

29. Неимперативные языки

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

30. Функциональные языки

Основная идея, лежащая в основе функционального программирования, — это представление программы в виде математических функций (т.е. функций, значение которых определяется лишь их аргументами, а не контекстом выполнения). Оператор присваивания в таких языках не используется (или, как минимум, его использование не поощряется). Императивные возможности, как правило, имеются, но их применение обставлено серьезными ограничениями. Существуют языки с ленивой и с энергичной семантикой. Различие заключается, грубо говоря, в том, что в языках с энергичной семантикой вычисления производятся в том же месте, где они описаны, а в случае ленивой семантики вычисление производится только тогда, когда оно действительно необходимо. Первые языки имеют более эффективную реализацию, в то время как вторые — лучшую семантику.


Из языков с энергичной семантикой упомянем ML и два его современных диалекта — Standard ML (SML) и CaML. Последний имеет объектно-ориентированного потомка — Objective CaML (O’CaML).


Среди языков с ленивой семантикой наиболее распространены два: Haskell и его более простой диалект Clean.



31. Языки логического программирования

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


Родоначальником большинства языков логического программирования является язык Prolog (1971). У него есть ряд потомков — Parlog (1983, ориентирован на параллельные вычисления), Delta Prolog и др. Логическое программирование, как и функциональное, — это отдельная область программирования, и за более подробными сведениями мы отсылаем читателя к специальной литературе.

32.Вместо заключения

Позволю себе выделить некоторую общую тенденцию в развитии языков программирования. Проницательный читатель, наверное, уже давно догадался, о чем я собираюсь сказать. Языки развиваются в сторону все большей и большей абстракции. И это сопровождается падением эффективности. Вопрос: а стоит ли этого абстракция? Ответ: стоит. Стоит, так как повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять. А еще лучше — не совершать. А еще лучше максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования. А с потерей эффективности придется смириться.


Целью данного обзора была попытка дать читателю представление о всем многообразии существующих языков программирования. Среди программистов часто бытует мнение о «всеобщей применимости» того или иного языка (C, C++, Pascal и т.п.). Это мнение возникает по нескольким причинам: недостаток информации, привычка, инертность мышления. Я попытался слегка компенсировать первый фактор. По поводу остальных могу лишь сказать, что настоящий профессионал должен постоянно стремиться повышать свои профессиональную квалификацию. А для этого нужно не бояться экспериментировать. Ну и что, что все вокруг пишут на C/С++/VB/Pascal/Perl/Java/… (нужное подчеркнуть)? А почему бы не попробовать что-нибудь новенькое? А вдруг это окажется эффективнее? Разумеется, прежде чем приниматься использовать новый язык, нужно внимательно изучить все его особенности, включая наличии эффективной реализации, возможности взаимодействия с существующими модулями и т.п., и только после этого принимать решение. Разумеется, всегда есть риск пойти не тем путем, но… Не ошибается лишь тот, кто ничего не делает.


И еще. Мне доводилось слышать, а порой и участвовать в дискуссиях вида «язык A лучше, чем язык B». Я надеюсь, что, прочитав этот обзор, многие убедятся в бессмысленности таких споров. Максимум, о чем может идти речь — это о преимуществах одного языка над другим при решении той или иной задачи в тех или иных условиях. Вот здесь действительно иногда есть о чем поспорить. И решение подчас отнюдь не очевидно. Однако же спорить «вообще» — очевидная глупость.


Эта статья задумывалась как ответ тем, кто кричит «язык X MUST DIE». Надеюсь, что ответ получился достаточно адекватным и убедительным. Надеюсь также, что статья имеет, помимо полемической, и познавательную ценность.




 


Никлаус Вирт Автор языков PASCAL, MODULA, OBERON. Архитекторы компьютерного мира

Никлаус Вирт

Автор языков PASCAL, MODULA, OBERON

Язык должен быть очевидным и естественным отражением фундаментальных и наиболее важных концепций алгоритмов.

Никлаус Вирт

Никлаус Вирт

Никлаус Вирт прежде всего известен как создатель языка программирования PASCAL. Кроме этого, на его счету такие великолепные разработки, как MODULA-2, OBERON и многое-многое другое.

Родился Никлаус 15 февраля 1934 года в Винтерхуре (Швейцария). Родители Никлауса — Уолтер и Хедвиг (Келер) Вирт. Он женился на Нани Такер, у них трое детей: дочери Кэролин и Тина, сын Христиан. Вирт приятный в общении и добродушный человек, который выглядит моложе своих лет. Все свободное от работы время он проводит с семьей, часто совершая пешие походы по холмистым возвышенностям северной Швейцарии.

В сферу информатики Вирт погрузился в 1960 году, когда ей не уделялось должного внимания ни в коммерческой рекламе, ни в академических учебных планах. Никлаус рассказывает: «…Во время моего обучения в Швейцарском государственном технологическом институте единственное упоминание о компьютерах, которое я услышал, прозвучало в факультативном курсе, читавшемся Амброзом Спайзером, ставшим позднее президентом IFIP. Разработанный им компьютер ERMETH был малодоступен обычным студентам, и поэтому мое посвящение в информатику оказалось отложенным до того момента, как я прослушал курс численного анализа в Лавальском университете в Канаде. Тогда мне стало очевидно, что программирование будущих компьютеров должно было быть более эффективным. Поэтому я учился в первую очередь не проектировать аппаратную часть, а правильно и элегантно ее использовать».


Вирт присоединился к группе, участвовавшей в разработке — или, скорее, в доработке — компилятора и языка для компьютера IBM-704. Этот язык был назван NELIAC и являлся диалектом языка ALGOL-58.

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

Выдающийся же этап в карьере Вирта начался в Стэнфордском университете, где он работал в качестве адъюнкт-профессора информатики вновь созданного факультета вычислительной техники с 1963 по 1967 год. Язык EULER привлек внимание рабочей группы Международной федерации по обработке информации (IFIP), участвовавшей в составлении планов, относительно будущего ALGOL.

Сейчас можно сказать, что работа Вирта над языком PASCAL началась именно тогда, в 1965 году, когда IFIP пригласила его принять участие в разработке нового языка, который должен был стать преемником ALGOL-60. Разработчики разделились на два направления, и Вирт оказался в том из них, которое пошло по пути расширения ALGOL. В 1966 году в Стэнфордском университете был создан язык под названием ALGOL-W.

С осени 1967 по 1968 год, когда Вирт вернулся в Швейцарию и служил в качестве адъюнкт-профессора в университете Цюриха, освободившись от обязательств перед IFIP, он разработал язык, ставший преемником ALGOL-W. Вирт назвал этот язык PASCAL, в честь французского математика и физика XVII столетия Блеза Паскаля, который в 1642 году сконструировал вычислительную машину, чтобы помочь своему отцу в работе по сбору налогов. «Кроме того, слово «PASCAL» звучит довольно мелодично», — говорит Вирт. Язык PASCAL первоначально разрабатывался как язык для обучения, но этим его функции не ограничились. В 1972 году PASCAL начал использоваться на занятиях по программированию в Швейцарском государственном технологическом институте. Свою работу над языком Никлаус закончил в 1974 году, создав высококачественный компилятор, а подлинное признание PASCAL получил после разработки Кеном Боулесом P-кода для микрокомпьютеров, который позволил использовать PASCAL на новых машинах различной конфигурации.

После этого он переключил свое внимание на изучение мультипрограммирования, в результате чего появился язык MODULA, предназначенный главным образом для программирования специализированных систем, в том числе и миникомпьютеров. Основой для нового языка послужил «Параллельный PASCAL», в котором был применен принцип модульной организации комплексов программ, позволяющий программисту «прятать» определенные части программ. Первоначальный вариант MODULA-1 «никогда не рассматривался как полноправный язык программирования», подчеркивает Вирт. Языком модульного программирования стал MODULA-2, ориентированный на персональные компьютеры.

В эти годы работа Вирта была связана с конструированием персонального компьютера «Лилит» и использованием языка MODULA-2.

OBERON — еще один язык программирования, созданный доктором Виртом в 1987 году и названный в честь спутника Урана — OBERON, открытого «Вояджером» в 1977 году.

При создании всех своих языков программирования Вирт придерживался принципа: «Сущности не следует умножать без необходимости», который получил название «бритва Оккама» В языке OBERON этот принцип реализован особенно явно. OBERON стал продолжением линии языков ALGOL-60, PASCAL, MODULA-2. OBERON создан на основе языка MODULA-2, однако, в отличие от PASCAL и MODULA-2, это комбинация языка программирования и операционной системы «для отдельного пользователя персональной рабочей станции». Удивительно простой и даже аскетичный, OBERON представляет собой, пожалуй, минимальный язык высокого уровня.

Работа продолжалась там же в Цюрихе, где Вирт находился уже в качестве профессора информатики с 1968 по 1975 год. Одновременно, начиная с 1968 года, доктор Никлаус Вирт стал профессором информатики в Федеральном Институте технологий Цюриха в Швейцарии, где и работает в этом звании по сей день и продолжает активное исследование в области языков программирования.

Талант Вирта как разработчика языков программирования дополняется писательским даром. В апрельском номере 1971 года журнала «Communications of the ASM» Вирт опубликовал основополагающую статью по «нисходящему» методу проектирования программ («Разработка программы методом поэтапного усовершенствования»), в которой сформулированы принципы нисходящего построения программы (с последовательным уточнением ее фрагментов). Полученный в результате элегантный и мощный метод проектирования не утратил своей значимости и сегодня. Две другие его статьи «О дисциплине программирования в реальном времени» и «Что мы можем сделать с необязательным разнообразием обозначений», опубликованные в том же журнале, посвящены проблемам поиска адекватного языкового формализма.

Вирт написал несколько книг по программистской тематике: «Алгоритмы и структуры данных», «Программирование на OBERON», «PASCAL — руководство пользователя и справочник» и «Проект цифровых операций».

Сейчас доктор Вирт совместно с тремя другими коллегами занимается вопросами автоматизированного проектирования аппаратных средств компьютерных систем.

Все работы доктора Вирта внесли большой вклад в компьютерную науку. PASCAL сделал языки программирования более легкими для использования и изучения, а компьютеры более доступными для массового пользователя. Его проекты, от EULER до OBERON, стремились упростить и уничтожить барьеры между аппаратными средствами и программным обеспечением, сделать языки программирования более легкими в использовании.

Конечно, известно много других компьютерных языков программирования, помимо PASCAL, OBERON или MODULA-2, но вклад Вирта в создание и развитие языков программирования очень значителен.

За большой вклад в информатику доктор Никлаус Вирт получил многочисленные награды и почести. Американский Совет Магистров присвоил ему звание член-корреспондента; Компьютерное Общество Института Инженеров по электронике и радиотехнике — звание компьютерного пионера; он получил приз IBM европейской науки и техники; стал членом Швейцарской Академии Инженерии и иностранным партнером Американской Академии Инженерии, а также получил орден «Pur le merte» и премию Тьюринга. Вирт получил почетные докторские степени от многих университетов: университет Лаваль, Квебек (Канада), университет Калифорнии, Беркли, университет Йорк (Англия), университет Лине Иоганна Кеплера (Австрия), университет Новосибирска (Россия), Открытый университет Англии, университет Претории (Южная Африка).














Язык программирования Паскаль

Язык программирования Паскаль


Щелкните ниже, чтобы перейти непосредственно к конкретному
раздел:
История | Значительный язык
Особенности | Области применения | Образец
Программы
Ссылки по теме | Печатные ссылки
| Благодарности


История

Язык программирования Паскаль был первоначально разработан Никлаусом.
Вирт, член Международной федерации обработки информации
(IFIP) Рабочая группа 2.1. Профессор Никлаус Вирт разработал Паскаль, чтобы обеспечить
функции, которых не хватало в других языках того времени. Его принцип
Цели для Паскаля заключались в том, чтобы язык был эффективным для реализации
и запускать, позволяя разрабатывать хорошо структурированные и хорошо организованные
программ, и служить средством обучения важным концепциям
компьютерного программирования. Паскаль, названный в честь математика
Блез Паскаль является прямым потомком АЛГОЛА 60, которому помог Вирт.
развивать.Паскаль также черпает программные компоненты из Алгола 68 и
АЛГОЛ-W. Появилось оригинальное опубликованное определение языка Паскаль.
в 1971 году с последними пересмотрами, опубликованными в 1973 году. Он был разработан, чтобы научить
методы программирования и темы для студентов колледжей и был языком
выбор делать это с конца 1960-х до конца 1980-х годов.


Важные языковые функции

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

  • Встроенные типы данных — Паскаль содержит собственные встроенные данные
    типы Целое, Действительное, Символьное и Логическое.
  • Типы данных, определяемые пользователем — Имеет возможность определять скалярные типы
    а также поддиапазоны этих типов данных.
  • Предоставляет определенный набор структур данных — Эти структуры данных
    включают массивы, записи, файлы и наборы.
  • Имеет сильный элемент типизации данных — компиляторы Pascal могут диагностировать
    несовместимое присвоение одного типа переменной другому типу.
  • Поддерживает структурированное программирование — Это достигается с помощью
    использование подпрограмм, называемых процедурами и функциями.
  • Простота и выразительность — Потому что язык простой
    и выразительный по своей природе, он позволяет эффективно обучать компьютерному программированию
    техники.

Области применения

Основная область применения Паскаля — это среда обучения.
Этот язык на самом деле не был разработан для использования ни для чего другого, кроме
обучение студентов основам программирования, ведь изначально это было
разработан для этой цели.В начале 1970-х — начале 1990-х годов Паскаль
был языком большинства крупных колледжей и университетов для
обучение методам программирования на уровне колледжа. Сейчас с ростом популярности
объектно-ориентированного программирования Паскаль уступил место другим языкам
такие как C ++ и Visual Basic.


Примеры программ


Ссылки по теме


Печатные источники

  1. Барон, Наоми С. (1986) Компьютерные языки — руководство для
    В недоумении.
    Anchor Press / Doubleday, Нью-Йорк.
  2. Дершем, Хербет Л. (1990) Структуры языков программирования и
    Модели.
    , Уодсворт, Калифорния.
  3. Ледгард, Херни Ф. (1984) Американский Паскаль
    Стандарт
    . Спрингер-Верлаг, Нью-Йорк.
  4. Регес, Стюарт. (1987) Создание программ на языке Pascal: введение в
    Информатика
    . Литтл Браун, Бостон.
  5. Себеста, Роберт В. (1996) Концепции программирования
    Языки.
    Эддисон-Уэсли
    Издательская компания, Менло Парк Калифорния.
  6. Зайдман, Артур Х. (1984) Справочник по компьютерам и
    Вычислительная техника.
    Van Nostrand Reinhold company Inc, Нью-Йорк.
  7. Валлийский, Джим. (1979) Введение в Pascal . Прентис / Холл Интернэшнл,
    Нью-Джерси.

Благодарности

Автор этой страницы благодарит своих одноклассников.
и инструкторов за их помощь в составлении этой страницы.



Последнее изменение: 17:47 23.11.1996



Эта страница была открыта

Eduard Rhein Stiftung | Разработка PASCAL, первого языка структурированного программирования

PASCAL — Выход из программного кризиса

К концу шестидесятых годов компьютеры стали использоваться не только в научных целях, но, во все большей степени, также в коммерческих и промышленных целях.Для решения все большего числа задач приходилось разрабатывать более крупные и сложные новые программы. Буквально «искусство компьютерного программирования» стало чем-то очень востребованным, и потребовалось создать совершенно новую профессию компьютерных программистов. К тому времени рядовой разработчик программного обеспечения мало что знал о процессе написания профессиональных компьютерных программ. Программирование программного обеспечения в то время считалось чрезвычайно сложной задачей. Полученные в результате некачественные продукты были чрезвычайно дорогими, с трудностями в обращении и обслуживании.Эта досадная ситуация была воспринята как «программный кризис».

Никлаус Вирт был профессором информатики в ETH Zürich, Швейцария, с 1968 года. PASCAL, новый компьютерный язык, который он разработал в 1968-72 годах, стал фундаментальным вкладом в процесс систематической и структурированной разработки программного обеспечения. Вирт показал выход из программного кризиса. PASCAL оказался одновременно новым компьютерным языком и новой парадигмой программирования. Он также стал образовательным инструментом, который мотивировал систематическое и структурированное мышление.PASCAL — это проблемно-ориентированный компьютерный язык более высокого уровня. Он отличается простотой, легкостью приобретения и способностью поддерживать структурированное программирование. Он поддерживает различные проблемно-ориентированные типы данных и в целом сокращает среднее время разработки безошибочной программы. В PASCAL программирование воспринималось как инженерный, а не художественный рабочий процесс. «Программная инженерия» возникла как новый профессиональный термин.

Введение нового компьютерного языка в учебную программу университета действительно знакомит студентов с этим.Однако широкое признание PASCAL в промышленности не произошло автоматически. Соперниками в этой области были такие хорошо зарекомендовавшие себя языки, как АЛГОЛ и, прежде всего, ФОРТРАН. Следовательно, в следующем проекте (1972-74) Вирт разработал легко переносимый компилятор PASCAL. Он использовал свои собственные элементы PASCALlanguage и создал независимый от платформы «метакод», известный P-код. Экспорт компилятора PASCAL на другую компьютерную платформу стал таким же простым, как копирование относительно простого интерпретатора P-кода — и все: программы PASCAL были исполняемыми.Вскоре IBM, Univac, DEC и Siemens предложили различные компиляторы PASCAL для их собственных компьютерных систем. Окончательный прорыв произошел в начале восьмидесятых, когда персональные компьютеры стали популярными и доступными. Эти ПК предлагают до сегодняшнего дня среды программирования PASCAL, которые просты в использовании и, тем не менее, очень мощны.

Никлаус Вирт своим знаменательным изобретением и распространением PASCAL оставил свой след в истории компьютерных наук.PASCAL получил полное признание как классический язык программирования в научном образовании. Это широко объясняется тем фактом, что PASCAL, в отличие от любого другого языка, требует от студента очень систематического и хорошо структурированного подхода к программированию. Вирт действительно повлиял на поколения разработчиков программного обеспечения и, таким образом, создал совершенно новую технику программирования. Его постоянные достижения включают десятилетия преподавательской деятельности в ETH Zürich и, на основе этих курсов, серию книг, которые стали классикой в ​​своей области.Наконец, основные концепции PASCAL оказали сильное влияние на недавние разработки новых компьютерных языков, особенно набора объектно-ориентированных языков.

PASCAL — далеко не единственное крупное научное достижение Никлауса Вирта, профессора университета с более чем 30-летним стажем. Его многочисленные заслуги в области информатики включают, среди многих других, MODULA 2, логическое продолжение PASCAL. LILITH, компьютерная архитектура, предложенная им, обычно считается предварительной стадией Apple MacIntosh и Microsoft Windows.Этот фундаментальный вклад в современные информационные технологии отмечен технологической премией Фонда Эдуарда Райна за 2002 год.

Проф. Д-р Клаус Бендер,
Технический университет Мюнхена

Семейство языков программирования Pascal


Язык компьютерного программирования Паскаль был разработан Никлаусом Виртом в 1968-69 годах, когда он был профессором информатики в ETH в Цюрихе, Швейцария, и был опубликован в 1970 году. Паскаль полностью эволюционировал в Оберон, первая версия которого была создана в 1986 году. , как преемник Modula-2, уходящего корнями в Паскаль.

Автор Продош Банерджи, 2 декабря 2017 г.
Блог Продоша Банерджи

Язык компьютерного программирования Pascal был разработан Никлаусом Виртом в 1968-69 годах, когда он был профессором информатики в ETH в Цюрихе, Швейцария, и был опубликован в 1970 году. Паскаль полностью эволюционировал в Oberon, первая версия которого была создана в 1986 году. как преемник Modula-2, уходящего корнями в Паскаль.

Введение

Все эти языки программирования уходят корнями в семейство языков программирования ALGOL — первое поколение языков программирования высокого уровня, разработанных в ETH Zürich (Федеральный технический университет) в 1950-х и 60-х годах.Одной из основных характеристик языка программирования высокого уровня является предоставление абстракции, которая не требует от программиста понимания базовой аппаратной архитектуры для программирования, и Паскаль воплощал эту философию, как никакой другой язык программирования в 1990-х годах, когда объектно-ориентированное программирование языки стали более популярными.

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

Инновации и влияние

Никлаус Эмиль Вирт, родившийся в 1934 году в Винтертуре, Швейцария, — швейцарский ученый-компьютерщик, наиболее известный благодаря изобретению языка программирования Pascal и его преемников Modula-2 и Oberon. Получив докторскую степень Он получил степень в области электротехники и вычислительной техники в Калифорнийском университете в Беркли в 1963 году, затем стал доцентом кафедры компьютерных наук, а затем стал профессором информатики в ETH (Федеральном техническом университете) в Цюрихе, Швейцария.Паскаль и последовавшие за ним языки программирования стали результатом работы Никлауса Вирта в ETH. Он получил премию ACM Turing за разработку этих языков программирования в 1984 году и был принят в члены ACM в 1994 году.

Паскаль наиболее известен благодаря коммерчески успешному TurboPascal от Borland, который эволюционировал до Delphi, положившего начало тенденции создания мощных интегрированных сред разработки (IDE) для разработки программного обеспечения. Другие широко используемые версии Паскаля включают UCSD Pascal (из Калифорнийского университета в Сан-Диего) и Waterloo Pascal (из Университета Ватерлоо в Канаде).Паскаль был также очень популярен среди пользователей семейства компьютеров Apple II и стал важным инструментом для программирования на первых Mac.

Философия

Паскаль и его последователи следовали философии, которая включала:

  • Абстрактная парадигма программирования, означающая, что программисту не нужно понимать архитектуру базового оборудования, но он может работать с парадигмой программирования высокого уровня. Сохраняя эту простую парадигму, можно было писать компиляторы, которые генерировали эффективный машинный код из Паскаля.
  • Простой и точно определенный синтаксис (BNF: Backus Nauer Form), упрощающий реализацию компиляторов.
  • Строго типизированный язык: усиленный язык программирования предотвращал распространенные ошибки программирования, делая программирование намного более эффективным. Это означало, что многие распространенные ошибки могли быть обнаружены во время компиляции до запуска программы, вместо того, чтобы конечные пользователи столкнулись с ошибками времени выполнения.
  • Проверка во время выполнения и соблюдение границ массива. Это упростило поиск проблемы, когда она возникла, потому что среда выполнения Pascal сразу заметила ее и выдала ошибку.Ошибки такого рода часто остаются незамеченными в других широко используемых языках программирования, таких как C, где такие ошибки могут быть обнаружены не сразу и могут привести к ошибке через много дней в совершенно другом контексте, что часто приводит к обнаружению реальной причины ошибки. ошибка — трудоемкий процесс.

Сегодня язык программирования Оберон-7 является стандартным носителем семейства языков программирования Pascal. Паскаль характеризовался своей философией абстракции высокого уровня в сочетании с точным определением синтаксиса, что приводит к эффективному коду.Он был расширен для обеспечения поддержки более модульного программирования (Modula-2), а также расширений типов, которые являются механизмом Oberon для объектно-ориентированного программирования.

Котировки

Аналогично закону Мура, который гласит, что вычислительная мощность удваивается каждые 18 месяцев, закон Вирта, названный в честь Никлауса Вирта, гласит, что «Программное обеспечение становится медленнее, чем аппаратное обеспечение». Его философия программирования и языков программирования должна была предотвратить это.

Некоторые цитаты Никлауса Вирта:

«Но на качество работы можно рассчитывать только благодаря личному удовлетворению, преданности делу и удовольствию. В нашей профессии точность и совершенство — не исключительная роскошь, а простая необходимость ».

«Но на качество работы можно рассчитывать только благодаря личному удовлетворению, преданности делу и удовольствию. В нашей профессии точность и совершенство — не исключительная роскошь, а простая необходимость ».

«Действительно, проблемы программной инженерии не связаны с отсутствием инструментов или надлежащего управления, а в основном из-за отсутствия достаточной технической компетенции.”

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

Ссылки и дополнительная литература:

  1. Язык программирования Паскаль: https://en.wikipedia.org/wiki/Pascal_(programming_language)
  2. Никлаус Вирт: https://en.wikipedia.org/wiki/Niklaus_Wirth#Notable_publications
  3. Оберон: https: //en.wikipedia.org / wiki / Oberon_ (язык_программирования)
  4. Цитаты: https://www.brainyquote.com/authors/niklaus_wirth
  5. Домашняя страница Никлауса Вирта в ETH Zürich: https://www.inf.ethz.ch/personal/wirth/

Язык программирования

Pascal — блог MVPS.net

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

Одним из его больших преимуществ является его сходство с естественным английским языком, что делает его идеальным языком для тех, кто впервые сталкивается с программированием. Паскаль основан на языке Algol и назван в честь математика Блеза Паскаля , которому приписывают создание первых вычислительных машин. Вирт также разработал языки Modula-2 и Oberon , похожие на Паскаль.

Самыми популярными реализациями этого языка были Turbo Pascal и Borland Pascal , обе от Borland с версиями для Macintosh и DOS, которые добавляли объекты в язык и были продолжены версиями для визуального программирования для Microsoft Windows, используемыми Microsoft. Windows, а также используется при разработке Delphi для Linux (Kylix).

В настоящее время существуют другие более или менее популярные, но бесплатные реализации, в том числе Free Pascal и GNU Pascal .

Хотя в настоящее время он относительно редко встречается в индустрии программного обеспечения, он по-прежнему полезен для студентов, которые хотят начать программирование. В отличие от BASIC , который в прошлом был основой обучения программированию, Паскаль является структурированным языком. Следовательно, он формирует определенный тип мышления, аналогичный современным языкам, таким как C ++ , но не имеет сложности и абстракции последнего, его легче понять из-за простого синтаксиса и близкого к псевдокоду.

Free Pascal (или FPK Pascal ) — это 32- и 64-битный компилятор Pascal. Он доступен для нескольких процессоров и операционных систем: Linux , FreeBSD , NetBSD , DOS , Windows , BeOS , SunOS ( Solaris ), QNX и Classic .

Синтаксис языка (семантически) совместим с Turbo Pascal, а также с большинством версий Delphi.Помимо Turbo Pascal, Free Pascal поддерживает функции перегрузки при работе с объектами.

Object Pascal — это язык программирования, производный от Pascal, который позволяет использовать структуры в модели объектно-ориентированного программирования: объекты, наследование, полиморфизм и т. Д. Object Pascal содержит классы, специфичные для действий в операционной системе, компоненты графического интерфейса. и т. д. Object Pascal используется средой разработки Delphi.

Borland Pascal — это название компилятора и интегрированной среды разработки для языка Pascal, созданного Borland.Запущенный в 1984 году как Turbo Pascal, он быстро стал одной из самых популярных сред разработки для ПК. Borland Pascal 7.0 , выпущенный в 1992 году, также включал среду разработки для Microsoft Windows.

Borland Pascal был предшественником языка Borland Delphi и среды разработки.

Embarcadero Delphi , ранее известная как CodeGear Delphi и Borland Delphi , представляет собой среду разработки программного обеспечения для Microsoft Windows , первоначально созданную североамериканской компанией Borland , которая в настоящее время принадлежит и разрабатывается Embarcadero Technologies.

Delphi 2010 — последняя версия и распространяется в трех редакциях: Professional , Enterprise и Architect .

Delphi использует вариант Pascal , называемый Object Pascal , и компилируется в собственном коде x86.

Среда включает библиотеку VCL ( Visual Component Library ) и поддерживает большое количество сторонних компонентов.Упор делается на возможность подключения к базе данных, и Delphi предлагает богатый набор компонентов, предназначенных для этой цели.

Kylix — это компилятор и интегрированная среда разработки, ранее продававшаяся Borland, но выпуск которой был прекращен. Это версия среды Delphi и C ++ Builder для Linux, работающая под управлением Microsoft Windows.

Язык программирования Паскаль

Язык программирования Паскаль


Язык программирования Паскаль

Билл
Катамбей, разработчик языка Pascal



Обновлено: 9-5-01

Программирование на Паскале
Язык
Билл Катамбей

Содержание


Благодетель: С момента своего создания Паскаль использовался во многих системах, от большого сервера HP3000 до разработки таких программ, как Skype.


I. Введение

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

Мой опыт работы с Паскалем восходит к PDP-11, системе, используемой в Санта-Кларе.
Университет, в котором я получил степень бакалавра компьютерных наук в 1984 году.
В годы учебы в колледже я выучил и работал на нескольких языках в кампусе, начиная с
от FORTRAN до Pascal, от COBOL до Assembly. За пределами кампуса я занимался обширным программированием
с BASIC (дома на моей Radio Shack TRS-80 Model 1) и APL (в Lockheed, где
Я работал по совместительству). Прежде чем перейти к теме Паскаля, я считаю, что это актуально.
чтобы сначала обсудить мое участие в языке.

Об авторе

Во время учебы в колледже я работал
неполный рабочий день для Lockheed Missiles & Space, где я обнаружил APL ( A P программирование
L anguage), сильно векторизованный символьный язык, работавший на мэйнфрейме IBM.
компьютер. Изначально я баловался APL, чтобы писать программы, которые проверяли мою школьную работу.
в векторной алгебре и других курсах математики, но по мере того, как мои знания языка росли,
как и мое использование языка.Я взял на себя проект, который ранее планировалось написать
в COBOL ( CO mmon B usiness O riented L anguage) и написал
вся система в APL. По мере того, как этот проект рос, вскоре у меня появился первый
мучительный опыт сопровождения кода. В отличие от школьных заданий, которые можно
программы, написанные для бизнеса, были выброшены после сдачи, но в них были включены обязанности по техническому обслуживанию.
Я смотрел на старый код и задавался вопросом, что он делает, иногда убивая
часов моего времени.Не имело значения, насколько тщательно я комментировал свой код, так как
всегда должен быть какой-то код, который не был прокомментирован или где комментарии были не слишком четкими,
и я был бы невежественен. Вместе с этой новой болью пришло чувство обреченности.
с запросами на изменение. Фактически, я часто переписывал программу, а не обновлял существующую.
один в целях экономии времени и рассудка. Вначале APL было весело, но вскоре стало
очевидно, что это был не лучший выбор в качестве долгосрочного программного решения для
текущий проект.

Примерно в то же время мое внимание в колледже сместилось, так как я сменил специальность с математики.
к компьютерным наукам в университете Санта-Клары. Один из моих самых запоминающихся уроков был
из класса Теория алгоритмов. Этот класс подчеркнул, что искусство программирования
было не изучение языка программирования, а мыслительный процесс принятия
реальные проблемы, поиск решения, преобразование этого решения в алгоритм,
и, наконец, преобразование алгоритма в рабочий код. Профессор моих данных
Класс Structures поддержал эту идею, заявив, что изучение основ работы с компьютером
язык можно было бы освоить примерно за две недели, но настоящая работа заключается в изучении
использовать этот язык для разработки умных решений сложных проблем.

По окончании учебы я поступил в Локхид по программе для дипломированных инженеров и перешел на другую работу.
через разные организации, выполняющие различные задачи. Я написал наведение ракеты
Код FORTRAN ( FOR mula TRAN slation) на компьютере VAX, голосовой ввод / вывод RATFOR
( RAT ional FOR TRAN) на компьютере Data General, и я изучил C
на рабочей станции Sun для поддержки анализа наведения ракет.

В 1986 году я начал работать полный рабочий день в цехах по производству ракет Lockheed.Поручено
с моим первым проектом, системой отчетности по динамическому планированию мощностей, я отказался от
APL в пользу NOMAD, языка баз данных высокого уровня. NOMAD — отличный язык
для создания отчетов и намного проще в обслуживании, чем APL. Однако, как я обнаружил,
В NOMAD отсутствует большая часть архитектуры структурированного программирования, встроенной в языки.
как C и Pascal, что затрудняет реализацию сложных функций.

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

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

В марте 1988 года система была запущена и имела огромный успех. Как цех
персонал с небольшим опытом работы на компьютере начал работать с системой, новые идеи
постоянно вдохновлялись. Произошел взрыв программных запросов, и
расширена система для управления рабочим процессом, отслеживанием, использованием опасных материалов, магазином
заказ расходных материалов, калибровка инструмента и многое другое.Система выросла до интерфейса
с более чем дюжиной других систем Lockheed и в конечном итоге заменил большую часть бумажных
оформление в магазине, включая замену бумажных табелей на электронные
система учета рабочего времени. Система поддерживает производственные цеха в Саннивейле, Калифорния, и
в Кингс-Бэй, штат Джорджия.

Есть много динамики производственных цехов, которые требуют, чтобы система была надежной.
прочная, стабильная и способная легко развиваться в соответствии с постоянно меняющимися требованиями. Этот
система, которой уже более десяти лет, со штатом всего из двух программистов, успешно
сделал и то, и другое.Очень старые приложения своевременно обслуживаются и улучшаются,
в том числе программы, написанные еще в 1988 году. Реализованы новые приложения.
которые предоставляют новые функции, часто требующие обновления существующих функций библиотеки
при этом не нарушая старый код. Несмотря на все изменения, это был DEC Pascal (теперь Compaq
Паскаль), сыгравшего решающую роль в успехе этой системы. Это обеспечило
требуемая мощность и гибкость, одновременно предоставляя структурированный язык
это помогло предотвратить превращение системы в кошмар обслуживания.Это было
правильный выбор тогда, и остается правильным выбором сегодня.

В дополнение к программированию на Паскале, которое я делаю для Lockheed Martin, я также поддерживаю Паскаль.
Central, http://pascal-central.com, веб-сайт, посвященный всем программистам на Pascal.
мир.

Обзор языка программирования: APL, Assembly, BASIC, C, C ++, COBOL, DCL, EXEC,
ФОРТРАН, Javascript, NOMAD, Паскаль, Perl, RATFOR.


Истоки Паскаля

Язык Паскаль был назван в честь
Блез Паскаль, французский математик, пионер в истории компьютерного развития.В 1641 году, в возрасте восемнадцати лет, Паскаль построил первую арифметическую машину,
возможно, первый компьютер. Через восемь лет он усовершенствовал инструмент.
В 1650 году Паскаль оставил мир геометрии и физики и переключил свое внимание на
религиоведение, или, как писал Паскаль, «созерцать величие и
страдания человека ». Паскаль умер в Париже 19 августа 1662 года.

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

Другими языками высокого уровня, разработанными в первые годы существования компьютеров, были FORTRAN.
(1957), COBOL (1959), ALGOL (1960), APL (1962), BASIC (1964), C (1972) и Ada (1983),
назвать несколько. Одна проблема со многими ранними языками (напр.g., FORTRAN и BASIC)
была сильная зависимость от использования инструкций goto. «Перейти к»
инструкции говорят компьютеру переходить от одного шага к другому, позволяя компьютеру
чтобы пропустить шаги или вернуться, чтобы повторить предыдущие шаги. Этот тип спорадического ветвления
увеличивает сложность отладки кода. Кроме того, такие языки, как COBOL, были
разработан с чрезмерно детализированными определениями, слабой поддержкой структур данных и отсутствием
гибкости, что делает программы утомительными для кодирования и трудностями для улучшения.

Никлаус Вирт завершил разработку оригинального языка программирования Pascal в
1970. Он основал его на блочно-структурированном стиле языка программирования Algol.
У Паскаля было две оригинальные цели. Согласно стандарту Паскаля (ISO 7185),
эти цели заключались в том, чтобы: а) сделать доступным язык, подходящий для обучения программированию
как систематическая дисциплина, основанная на фундаментальных концепциях, четко и естественно отраженных
языком, и б) определить язык, реализация которого может быть как
надежный и эффективный на доступных в то время компьютерах.

Паскаль вышел далеко за рамки своих первоначальных целей дизайна, применив его в коммерческих целях.
часто превышающий академический интерес. Паскаль предоставляет богатые структуры данных, в том числе
как перечислимые, так и записанные типы данных, определенные с приятным и мощным
ясность. Он обеспечил ортогональный и рекурсивный подход к структурам данных с
массивы массивов, массивы записей, записи, содержащие массивы, файлы записей,
файлы массивов, файлы записей, содержащие массивы записей, и так далее.Паскаля
популярность резко возросла в 1970-х, так как он использовался при написании как системы, так и приложений.
програмное обеспечение. По этой причине Комитет по международным стандартам решил, что формальный
стандарт был необходим для обеспечения стабильности языка Паскаль (ISO 7185
Стандарт Паскаль был первоначально опубликован в 1983 г.). К концу 1970-х годов больше
более 80 компьютерных систем использовали реализации Паскаля.

Одним из наиболее популярных Pascal 1970-х и начала 1980-х годов был UCSD Pascal на
операционная система UCSD P-System.UCSD P-System была разработана в Институте
для информационных исследований в Калифорнийском университете в Сан-Диего под руководством
Кеннета Боулза. Фактически, сама операционная система P-System была написана на UCSD.
Паскаль. Как пишет Вирт в своей лекции о премии Тьюринга 1985 года, язык программирования F rom
Design To Computer Construction
, «Но Паскаль получил поистине широкое признание.
только после того, как Кен Боулз в Сан-Диего осознал, что P-система вполне может быть реализована
о новых микрокомпьютерах.Его усилия по созданию подходящей среды с интегрированными
компилятор, файлер, редактор и отладчик совершили прорыв: стал доступен Паскаль.
тысячам новых пользователей компьютеров, не обремененных приобретенными привычками или
подавленный желанием оставаться совместимым с программным обеспечением прошлого ».

В 1978 году Ричард Гливз и Марк Аллен, работая в кампусе в Сан-Диего, использовали UCSD
Pascal для разработки интерпретатора 6502, который стал основой для Apple Pascal. По
В 1980-х годах Паскаль использовался в большинстве университетов для обучения программированию, хотя
вторжение на коммерческие рынки.Он стал настолько популярным, что даже FORTRAN начал
изменить, воспользовавшись нововведениями Паскаля.

В связи с большой популярностью языка Паскаль в системном и прикладном программном обеспечении
разработки, и в ответ на многие упомянутые недостатки исходной реализации Паскаля,
Расширенный Паскаль был разработан для удовлетворения потребностей коммерческой разработки. В 1990 г.
Стандарт ISO 10206 Extended Pascal был опубликован для поддержки этой новой версии
языка.

В дополнение к Extended Pascal в 1986 году Apple Computer выпустила первый Object
Реализация Паскаля, версия его Apple Pascal, поддерживающая объектно-ориентированную
программирование.В 1993 году Комитет по стандартам Паскаля опубликовал Object-Oriented
Расширения к техническому отчету Pascal
, основанному на Object Pascal от Apple.
выполнение.



Авторские права © 2001 Academic Press.
Все права защищены.

История Паскаля | TaoYue.com

Истоки

Pascal вырос из ALGOL, языка программирования, предназначенного для
научные вычисления. Встреча в Цюрихе международного комитета
разработан ALGOL как платформенно-независимый язык.Это дало им
сравнительно полную свободу действий в функциях, которые они могли разработать в ALGOL,
но также усложнило написание компиляторов для него. Это были
дни, когда на многих компьютерах не хватало аппаратных функций, которые мы сейчас используем
как должное. Отсутствие компиляторов на многих платформах в сочетании с
отсутствие указателей и многих основных типов данных, таких как символы, привело
в АЛГОЛ не получил широкого распространения. Ученые и инженеры стекались
в FORTRAN, язык программирования, который был доступен на многих
платформы.Алгол в основном исчез, за ​​исключением языка для
описание алгоритмов.


Вирт изобретает Паскаль

В 1960-х годах несколько ученых-информатиков работали над расширением ALGOL. Один
из них был доктор Никлаус Вирт из Швейцарского федерального института медицины
Technology (ETH-Zurich), член первоначальной группы, создавшей
АЛГОЛ. В 1971 году он опубликовал свою спецификацию высокоструктурированного
язык, во многом напоминающий АЛГОЛ. Он назвал его Pascal .
после французского философа и математика 17-го века, который построил
рабочий механический цифровой компьютер.

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


UCSD Паскаль

Одной из вещей, убивших ALGOL, была трудность создания
компилятор для этого.Доктор Вирт избежал этого, поставив свой Паскаль
компилятор компилирует в промежуточный, независимый от платформы объектный код
сцена. Другая программа превратила этот промежуточный код в исполняемый
код.

Проф. Кен Боулз из Калифорнийского университета в Сан-Диего
(UCSD) ухватился за возможность адаптировать Pascal
компилятор для Apple II, самого популярного микрокомпьютера того времени.
UCSD P-System стала стандартом и широко использовалась в университетах.
Этому способствовала низкая стоимость Apple II по сравнению с мейнфреймами,
которые были необходимы в то время для запуска других языков, таких как
ФОРТРАН.Его влияние на вычисления можно увидеть в рекламе IBM.
за свой революционный персональный компьютер, который гордился тем, что ПК
поддерживает три операционные системы: CP / M-86 от Digital Research,
P-система Softech UCSD и PC-DOS от MicroSoft.


Паскаль становится стандартом

К началу 1980-х годов Паскаль уже получил широкое признание в
университеты. Два события сговорились сделать его еще более популярным.

Во-первых, Служба образовательного тестирования, компания, которая пишет
и проводит основные вступительные экзамены в колледж в США.
Штаты, решили добавить экзамен по информатике в свой продвинутый
Вступительные экзамены для старшеклассников.Для этого экзамена он выбрал
Язык Паскаль. Из-за этого и учащиеся средних школ
когда студенты колледжа начали изучать Паскаль. Паскаль оставался
официальный язык экзаменов AP до 1999 года, когда он был заменен на
C ++, который быстро был заменен Java.

Во-вторых, небольшая компания Borland International выпустила
Компилятор Turbo Pascal для персонального компьютера IBM. Компилятор был
разработан Андерсом Хейлсбергом, который позже возглавит группу в
Microsoft, которая разработала C # и (повторно) вернула управляемый код в
мир вычислений.

Turbo Pascal был поистине революционным. Это потребовало некоторых сокращений
и внес некоторые изменения в стандартный Паскаль, но они были незначительными
и помог ему достичь своего главного преимущества: скорости. Турбо Паскаль
составляется с головокружительной скоростью: несколько тысяч строк в минуту. На
время доступные компиляторы для платформы ПК были медленными и
раздутый. Когда вышел Turbo Pascal, это был глоток свежего воздуха.
Вскоре Turbo Pascal стал стандартом de facto для программирования.
на ПК.Когда PC Magazine опубликовал исходный код для
служебные программы, как правило, либо на ассемблере, либо на Turbo Pascal.

В то же время Apple выпустила серию Macintosh
компьютеры. Поскольку Паскаль был выдающимся специалистом по структурированному программированию
язык дня, Apple выбрала Паскаль в качестве стандартного программирования
язык для Mac. Когда программисты получили API и пример
код для программирования Mac, все это было на Паскале.


Добавочные номера

Начиная с версии 1.От 0 до 7.0 Turbo Pascal, Borland продолжил
расширить язык. Одна из критических замечаний оригинальной версии
В Паскале отсутствовала отдельная компиляция модулей. Доктор Вирт
даже создал новый язык программирования Modula-2, чтобы решить эту проблему.
проблема. Borland добавила в Паскаль модули с функцией модулей.

В версии 7.0 было добавлено много дополнительных функций. Один из
это был DPMI (интерфейс защищенного режима DOS), способ запуска DOS
программы в защищенном режиме, набирая дополнительную скорость и освобождаясь от
барьер 640 КБ для доступа к памяти под DOS.Turbo Vision, а
текстовая оконная система, позволяющая программистам создавать
великолепно выглядящие интерфейсы практически мгновенно. Паскаль даже
стал объектно-ориентированным, поскольку версия 5.5 приняла Apple Object Pascal
расширения. Когда вышла Windows 3.0, Borland создал Turbo Pascal.
для Windows, обеспечивая скорость и простоту Паскаля в графическом
пользовательский интерфейс. Казалось, будущее Паскаля в безопасности.


Мир меняется

Однако этого не произошло. В 1970-х Деннис Ричи и
Брайан Керниган из AT&T Bell Laboratories создал платформу C
Язык программирования.Затем Ричи сотрудничал с Кеном Томпсоном, чтобы
спроектировать операционную систему UNIX. В то время у AT&T была
санкционированная правительством монополия на телефонную связь в США
Состояния. В обмен на монополию его телефонный бизнес был
регулируется, и ему запрещено заниматься компьютерным бизнесом.
AT&T, не видя рынка для исследовательской операционной системы, предоставила UNIX
бесплатно в университеты вместе с исходным кодом.

Таким образом, целое поколение студентов, изучающих информатику, изучило C в
их университетские курсы по языкам и операционным системам.Медленно
но, конечно, C начал проникать в мир компьютерного программирования.

Pascal был окончательно убит из-за объектной ориентации и перехода на
Windows на стандартной платформе ПК. В 1980-х Бьярне
Страустроп, также из Bell Labs, популяризировал объектную ориентацию с помощью
разработка C ++, который сохранил знакомый синтаксис C при его расширении
для ориентации объекта. C ++ пришел, чтобы определить ориентацию объекта на
поколение программистов, и остается сильной силой даже сегодня.

Также в 1980-х годах Microsoft Windows приняла C в качестве стандарта.
язык программирования.В отличие от MacOS и Pascal, Windows
Все образцы API были на языке K&R (pre-ANSI) C, в комплекте с переменными
списки после прототипа функции. Как объектная ориентация и окна
прижился, естественный язык для приложений, мигрирующих в Windows
был C ++.

Многие колледжи и университеты отошли от Паскаля, выбрав
C ++ или более новые языки для своих курсов программирования. Наконец, AP
экзамен перенесен на C ++, положив конец доминирующему положению Паскаля в американских высших учебных заведениях.
школы.


Итак, зачем изучать Паскаль?

Несмотря на то, что он постепенно превратился в стандарт де-факто , Паскаль
все еще довольно полезно.C и C ++ — очень символические языки. Где
Паскаль выбирает слова (например, начало конец ), вместо этого C / C ++
использует символы ( {} ). Кроме того, C был разработан для систем
программирование. В Паскале смешивание типов приводит к ошибке и очень
нечасто делается. В C / C ++ приведение типов и арифметика указателей
общие, что упрощает аварийное завершение программ и запись при переполнении буфера.
Когда экзамен AP перешел на C ++, была принята только часть C ++.
Многие функции, например массивы, считались слишком опасными для
студентов, а ETS предоставила собственную «безопасную» версию этих
Особенности.

Другая причина: скорость и размер. Компилятор Borland Pascal — это
все еще молниеносно. Borland обновила Паскаль для Windows с
Delphi, среда быстрой разработки приложений. Вместо
потратить несколько часов на написание пользовательского интерфейса для программы Windows
в C / C ++ вы можете сделать это за десять минут с графическим интерфейсом Delphi.
инструменты дизайна. Delphi для Паскаля — это то же самое, что Visual BASIC сделал для BASIC.
Borland все еще разрабатывает Delphi, и сообщество разработчиков ПО с открытым исходным кодом
создал компилятор Free Pascal, в значительной степени совместимый с Borland.

Кроме того, Паскаль по-прежнему предпочитают во многих университетах, особенно в
области, где учащиеся впервые знакомятся с компьютерами в школе, а
чем дома. Кроме того, Паскаль хорошо подходил для обучения
программирование, так и остается. Меньше накладных расходов и меньше способов
для студента, чтобы программа попала в беду. Для обучения простому
процедурного программирования, Паскаль остается хорошим выбором. Паскаль повесил
на более длительное обучение за пределами Соединенных Штатов, и остается
официальный язык Международной олимпиады по информатике.Базовый
опыт программирования полезен во многих технических профессиях, и
накладные расходы на изучение объектно-ориентированного языка не
обязательно лучшее применение ресурсов.

Таким образом, даже после того, как C, C ++ и Java захватили мир программирования,
Паскаль сохраняет свою нишу на рынке. Множество небольших бесплатных программ,
условно-бесплатное ПО и программы с открытым исходным кодом написаны на Pascal / Delphi. Так
наслаждайтесь изучением этого, пока оно длится. Это отличное введение в
компьютерное программирование. Это не страшно, как C, опасно, как C ++, или
абстрактный как Java.Через двадцать лет вы будете одним из немногих
компьютерные программисты, чтобы знать и ценить Паскаль.

Pascal (язык программирования) — zxc.wiki

Никлаус Вирт (2009), разработчик Паскаля

Pascal — императивный язык программирования, разработанный в начале 1970-х годов.

Pascal был представлен Никлаусом Виртом в качестве языка обучения в ETH Zurich для обучения структурному программированию.

Общий

Pascal — это дальнейшее развитие Algol 60.По своему синтаксису он во многом основан на грамматике английского языка. Это должно улучшить читаемость для новичков в программировании; Поэтому Паскаль особенно подходит в качестве языка обучения. Он нашел свое широкое применение в профессиональном программировании как Borland / Turbo Pascal (позже Object Pascal) — значительно расширенные и улучшенные версии по сравнению с исходным Pascal.

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

  • Назначения значений в форме [переменная типа вещественное ] : = [значение типа целое число ].
  • В Extended Pascal — присвоение значений целых или действительных чисел переменным типа Complex .
  • Назначение значений ограниченных диапазонов значений порядкового типа.Пример: type int10 = 1 .. 10; Значения этого типа затем могут быть присвоены целочисленным переменным.
  • Присвоение значений количеству ограниченного диапазона значений порядкового типа. Пример: type set10 = набор 1 .. 10; set20 = набор 1 .. 20; Значения типа set10 могут быть присвоены переменным типа set20 .
  • Назначение значений ограниченным диапазонам значений порядкового типа или набора. В этом случае значения или элементы количества вне целевого диапазона вызывают ошибку времени выполнения.
  • Назначение значений между различными типами строк, включая массивы символов Char, в соответствии со Standard Pascal и различные типы String, в Extended Pascal, Borland Pascal и т. Д. здесь также возникает ошибка времени выполнения.

Сегодня Pascal используется в университетском секторе (разработка / обучение) и в областях, критически важных для безопасности (например, транспортная инженерия, энергоснабжение, медицинские технологии, космические путешествия, военные, частично в банковском деле и страховании).В основном это связано с хорошей тестируемостью и ремонтопригодностью кода, а также четким назначением переменных. Так запрограммирована система управления операциями IV, представленная в 2005 году для испытательного центра Transrapid в Эмсланде на Паскале. Обозначения типа Паскаля всегда использовались в информатике и математике для представления алгоритмов. По дидактическим причинам, таким как строгий тип, высокий уровень защиты от ошибок и свободно доступные переносимые компиляторы Паскаля (Free Pascal, GNU Pascal), Паскаль также часто используется в современных классах информатики.В области хобби Паскаль время от времени получал очень широкое распространение, но с появлением новых версий Microsoft Windows это снова уменьшилось.

синтаксис

Привет, мир

Программа hello world на Паскале выглядит так:

 программа Hallo (вывод);
 начинать
  Writeln ('Hallo Welt')
 конец.
 

или в более новых версиях Pascal программа выглядит так:

 программа Hallo;
 начинать
  Writeln ('Hallo Welt')
 конец.
 

Дополнительная деталь: в некоторых старых примерах вы можете найти READLN после команды WRITELN .Это было необходимо только потому, что архитектура ввода-вывода CDC Cyber ​​6000, на которой Вирт разработал первый компилятор Паскаля, требовала, чтобы он очищал внутренние буферы — иначе в интерактивном режиме не было бы никаких выходных данных. IDE (интегрированные среды разработки) можно заставить с помощью этого READLN не переключаться обратно в режим редактора сразу по окончании выполнения программы, что в противном случае привело бы к исчезновению вывода с некоторыми IDE (например, Turbo Pascal). В любом случае, при пакетной работе в этом никогда не было необходимости.

Типы данных

Стандартные типы данных

Тип данных должен быть присвоен каждой переменной в объявлении переменной. Тип данных определяет, какие возможные значения переменная может сохранять во время работы программы. В Паскале есть четыре простых стандартных типа, а именно целых , вещественных , логических и символов .

Длина различных типов данных, кроме логического, зависит от компилятора. Многие реализации также имеют другие предопределенные простые типы данных.

Самостоятельные типы данных

В Паскале можно определить собственные простые типы данных в дополнение к четырем стандартным типам. Это либо перечислимые типы, либо типы разделов. Чтобы определить новый тип перечисления, все значения, которые переменная этого типа должна иметь возможность хранить, записываются последовательно. В следующем примере определен новый тип с именем tBesteck , при этом необязательный t в начале должен прояснить для дальнейшего хода программы, что это имя типа: tBesteck = ( Габель, Мессер, Лёффель)

Тип раздела определяется, когда диапазон значений более полного типа не исчерпан.Если, например, переменная должна иметь возможность хранить только числа от 0 до 255, можно целое число ограничить тип данных этим подмножеством. В следующем примере tByte определяет новый тип с именем: tByte = 0 .. 255;

Структурированные типы данных

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

 tBeispielFeld = массив [1..100] целых чисел;
 

Значения одного и того же типа данных также могут быть сохранены в наборе ( набор ), но записывается только то, какие значения содержатся в наборе, при этом не имеет значения, как часто упоминалось отдельное значение или в каком порядке были упомянуты значения. Пример определения набора:

 tBeispielMenge = набор из 13 штук.0,55
 

В составной ( запись ) может быть сохранено фиксированное количество значений, и значения могут иметь другой тип данных. Пример определения:

 tPerson = запись
   Alter: 0..150;
   Haarfarbe: (коричневый, блонд, шварц);
   Groesse: настоящий;
   kurzsichtig: логическое
конец;
 

В Паскале с использованием типа данных файла может быть представлена ​​произвольно длинная последовательность значений одного и того же типа (, файл, ). Пример определения:

 tBeispielDatei = целочисленный файл
 
указатель

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

Структура программы

Концепция вложенных процедур и функций характерна для Паскаля.В части объявления процедуры или функции могут быть определены другие процедуры и функции, которые не видны снаружи. Пример:

 программа HalloWelt;
    процедура foo;
        панель процедур;
        начинать
            Writeln («Hallo Welt»);
        конец;
    начинать
        бар
    конец;
начинать
    foo; (* kein Compilerfehler *)
    бар (* Compilerfehler, da bar nicht sichtbar *)
конец.
 

Управляющие структуры

Условная выписка и ветка

Операторы if и case доступны в Паскале как условные операторы и переходы.Пример ветки if:

 если 1 = 2, то
   Writeln ('wird nicht ausgeführt')
иначе, если 1 = 1, то
   Writeln ('wird ausgeführt')
еще
   Writeln ('wird nicht ausgeführt');
 
помол

Pascal предлагает три типа петель. Если условие завершения должно проверяться перед каждым запуском цикла, используется оператор while, а оператор повторения используется для проверки после каждого запуска. Оператор for используется для указанного количества прогонов.

 в то время как wert <100 делать
   wert: = wert + 1;
 
 для i: = от 1 до 100 сделать
   wert: = wert + 1;
 
 повторить
   wert: = wert + 1
   пока wert> 100;
 

Оператор WITH не является циклом; это только упрощает доступ к компонентам записи.

Инструкции

Jump также можно использовать с goto , но их использование является спорным (см. Статью об инструкциях по переходу).

Компилятор

Первый компилятор Паскаля был создан на CDC Cyber ​​6000 в ETH Zurich. Это привело к созданию Pascal 6000, который можно рассматривать как первую рабочую версию компилятора языка.

Второй компилятор Паскаля - «Portable Pascal Compiler» P4, созданный Урсом Амманном, Кесавом Нори и Кристианом Якоби, - также пришел из ETH Zurich.P4 создал платформенно-независимый промежуточный язык, разработанный как язык ассемблера, P-Code , который интерпретируется виртуальной машиной (программой). Компиляторы на базе P4 появились позже. Наиболее распространенная версия стала известна как UCSD Pascal, которая была реализована во многих системах, включая. на Apple II и Texas Instruments TI-99 / 4A и значительно способствовал распространению языка как (сначала) в Соединенных Штатах, а затем в Европе. В мае 2006 года были опубликованы исходные тексты UCSD Pascal.

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

особенности

Очень высокая надежность процесса

Поскольку Паскаль и квазистандартный Borland / Turbo-Pascal обеспечивают строгое разделение различных типов и соблюдают совместимость присваивания выражений, неявные преобразования типов, в отличие от C, практически не происходят.В частности, при передаче данных (например, из внешних файлов, но также внутри программы) в функции или процедуры компилятор может проверять правильность типов во время компиляции.

Без строк с завершающим нулем

В

Standard Pascal были символьные строковые литералы, но не было типа string (см. Выше). В большинстве более поздних реализаций строки были char , определенные как массивы с первым полем (байтом), используемым для хранения длины. Это привело к ограничению длины 255 символов.Однако строки, используемые в стандартной библиотеке C, являются строками с завершающим нулем. Сохраняя длину в Паскале, различные операции, такие как конкатенация строк, могут выполняться более эффективно (поиск до символа NUL не требуется). Строки большего размера должны были быть определены вами (например, как массив из char ), если они уже не были реализованы производителем компилятора (например, в Borland Pascal 7). В стандарте Extended Pascal символьные строки определялись как тип схемы.Здесь тоже указана емкость, но она указана в скобках, и формального ограничения длины нет: String (10240) .

Строгое разделение между программой, функциями и процедурами

Паскаль проводит строгое различие между функцией (с возвращаемым значением) и процедурой (без возвращаемого значения). Функцию нельзя вызывать как процедуру - i. H. возвращаемое значение должно быть получено всегда. Однако, начиная с Turbo Pascal 4.0 (1987), можно вызывать функции без получения результата функции.Кроме того, исполняемая программа в Паскале идентифицируется ключевым словом ПРОГРАММА , тогда как в C точкой входа для программы является функция main , которая, кроме своего имени, не отличается от других функций.

Декларации

В отличие от C, программы, функции и процедуры разделены на три части: в дополнение к заголовку, который содержит имя и подпись, есть отдельная часть объявления, в которой объявляются типы, переменные и вложенные процедуры / функции и часть определения, в которой они реализованы.В C есть только одна функция заголовок и тело функции, которые объединяют часть объявления и определения. В C функции не могут быть определены вложенными.

Чувствительность к регистру

В отличие от C, Паскаль нечувствителен к регистру в отношении ключевых слов, идентификаторов переменных, функций или процедур.

точка с запятой

Точка с запятой интерпретируется не как завершение команды, как в C, а как разделитель между операторами.Перед одним END или UNTIL можно не указывать. Согласно правилу ELSE , его нельзя размещать перед вами, в противном случае ветка IF будет считаться закрытой. Один случай, когда он приходит (и должен) предшествовать ELSE, - это конец листинга CASE.

Разделитель

Тот же разделитель, а именно апостроф, используется для символьных строковых литералов и символьных литералов.

Назначения

Присваивания переменным определяются последовательностью : = , только знак равенства используется для сравнения на равенство и определения констант.Это означает, что «математически неверные» выражения, например B. i = i + 1 избегается. Сокращенные обозначения для присваиваний, такие как i ++ вместо i = i + 1 или i * = 2 вместо i = 2 * i, не существуют в Паскале.

Операторы

Паскаль

использует операторы и , или , не , div (только для Integer , в вещественном это /), mod и <> вместо C операторы && , || , ! , /, % и ! = .Никлаус Вирт явно исключил возможность «короткого замыкания» && и || в C (как только результат определен, а именно, когда левая часть равна и FALSE или или TRUE, правая часть больше не оценивается), поскольку внутренние процессы оптимизации компилятора могут изменить порядок оценки. Более поздние версии Паскаля реализовали локально или глобально переключаемую функцию «короткого замыкания», чтобы программист мог решить в каждом отдельном случае, какой тип оценки он хочет. и ~ C), но вместо этого набор типа из (с операторами * , + и - для пересечения, объединения и разницы).

Строгое разделение типов

В

Pascal используется строгое разделение типов, так что, среди прочего, тип Char не взаимозаменяем с Integer . Преобразование должно выполняться с помощью функций ord () и chr () . Это позволяет избежать скрытых (или нежелательных) преобразований; z.B. инструкция i = 7/2 (где i - Integer ) приводит к сообщению об ошибке, потому что оператор / является оператором, который в результате имеет Real . Более поздние версии Паскаля (например, Турбо Паскаль) также представили «явное» преобразование типов, так называемое «приведение типов», так что, например, B. longint (i) может быть расширен или ограничен диапазоном значений целочисленной переменной i. В стандартном Паскале приходилось обходить (неправильное использование) вариантных записей ( объединение в C).

Указатель арифметический

В Паскале нет арифметики с указателями, итерации по массивам могут выполняться только с использованием индекса.

Стандарты

Первая публикация нового языка программирования

Вирт появилась в 1971 году, а пересмотренная и расширенная версия этого отчета - в 1973 году. Еще через год последовал отчет, написанный с Кэтлин Дженсен, который Вирт назвал лучшим справочником для программистов и разработчиков; он назвал описанный в нем Паскаль Стандартным Паскалем.

С Паскалем связаны три стандарта:

  1. Стандартный Паскаль: ANSI / IEEE770X3.97-1993 или ISO 7185: 1990;
  2. Extended Pascal: ANSI / IEEE770X3.160-1989 или ISO / IEC 10206: 1991;
  3. , а также черновик «Объектно-ориентированных расширений Паскаля».

Однако, как и в случае с большинством других языков программирования, очень немногие компиляторы полностью совместимы с этими стандартами. Этот факт привел Скотта А. Мура к едкому замечанию: «Паскаль, к сожалению, намного лучше своих преемников» («Паскаль, к сожалению, значительно лучше своих преемников» - в то время уже популярная фраза).

Даже в больших компиляторах, таких как Delphi или Free Pascal, все еще отсутствуют некоторые элементы из Standard Pascal, а Extended Pascal почти никем не поддерживается. Только Prospero Pascal полностью совместим с Extended Pascal, в то время как GNU Pascal также стремится к полной совместимости.

Паскаль и Mac OS

Исторически интересен тот факт, что Apple полагалась на Паскаль при разработке операционной системы и приложений, работающих на ней, для Macintosh, преемника Apple II.Для этой цели Apple разработала свой собственный вариант Object Pascal в команде под руководством Ларри Теслера в консультации с Никлаусом Виртом, который был получен из более раннего объектно-ориентированного варианта Pascal под названием Clascal, который уже был доступен на Lisa. Object Pascal требовался для поддержки MacApp, фреймворка приложений Macintosh, который теперь будет обозначаться как библиотека классов. Object Pascal был завершен в 1986 году. Apple прекратила фокусировку на Object Pascal с переходом от процессоров Motorola 68K к процессорам PowerPC от IBM в 1994 году с версией операционной системы Mac OS 7.5. В целях обратной совместимости передача параметров для вызовов операционной системы оставалась на основе соглашений Паскаля до последней версии Mac OS 9.2.2 от 2002 года.

Реализации (компиляторы, интерпретаторы и IDE)

Pascal с самого начала имел большой успех в университетской сфере, который u. а. Это также отражено в языке программирования Ada, который во многом основан на синтаксисе Pascal. Он также широко использовался, в том числе в коммерческом секторе, с продуктами Borland Turbo Pascal, Borland Pascal и Delphi.Эти версии характеризуются сильными расширениями стандарта исходного языка. Ориентация на объекты появилась в версии 5.5.

Бесплатные реализации

UCSD Паскаль
Реализация Паскаля из Калифорнийского университета в Сан-Диего (UCSD).
Бесплатный Паскаль
Среди GNU Lesser General Public License стоит проект генерации с открытым исходным кодом, который поставил себе цель создать бесплатный 32/64-битный компилятор, который на 100 процентов должен быть совместим с Turbo Pascal и Delphi, а теперь небольшой перенос программ Pascal на включены почти все распространенные операционные системы и аппаратные платформы.
GNU Pascal (GPC)
Компилятор Паскаля, разработанный как интерфейс к коллекции компиляторов GNU. Он не является частью самого GCC, но не зависит от платформы благодаря использованию GCC. GPC больше не разрабатывается.
Виртуальный Паскаль
Эта теперь бесплатная реализация компилятора Паскаля, совместимого с Borland для OS / 2, также была перенесена на другие платформы, но не получила дальнейшего развития с 2005 года.

Интегрированные среды разработки

Лазарь
Среда разработки для Free Pascal, которая также предоставляет различные компоненты.IDE спроектирована очень похоже на Delphi и использует GTK + в качестве графического инструментария под Unix; в Windows (win32 / win64 / wince) он основан на собственном API, а в операционных системах Apple можно использовать собственный Carbon API или систему X Window. Кроме того, Lazarus поддерживает кросс-компиляцию, что позволяет разрабатывать программное обеспечение для других платформ, таких как Windows CE, OS / 2, Palm OS или Nintendo DS.
Дев-Паскаль
IDE, работающая под Windows, которая может быть основана на Free-Pascal или GNU-Pascal в качестве компилятора.Он больше не будет развиваться.
Киан Паскаль
Среда разработки Pascal, которая может быть запущена на домашнем компьютере Apple II, опубликованная в 1986 году компанией Kyan Software, включая редактор, ассемблер, макроассемблер и курс программирования.
Киан Паскаль 128
Версия, разработанная Kyan Software в 1987 году для домашних компьютеров Commodore 128 и Atari 800.
Паскаль C128
Среда разработки Pascal с компилятором, редактором и компоновщиком, опубликованная Markt + Technik Verlag, может работать на Commodore 128 в режиме C128.
Профессиональный Паскаль Плюс
Среда разработки Pascal с компилятором, редактором и компоновщиком, опубликованная Data Becker в 1987 году, может работать на Commodore 128 в режиме C128.
Супер Паскаль 128
Среда разработки Pascal, включающая редактор, ассемблер и пакет служебных программ, которая была опубликована Abacus Software в 1986 году и работает на Commodore 128 в режиме C128.

история

Pascal был назван в честь французского математика Блеза Паскаля.Разработка языка программирования Algol (до 1958 г.), а также его последователей была продуктом комитетов разработчиков. Никлаус Вирт сыграл ключевую роль в создании потомка Algol W, который был разработан в Цюрихе и завершен в 1966 году. Позже он сообщил о недостатках совместной разработки. Необходимо было кропотливо выработать консенсус внутри комитета, и практично мыслящий Вирт, считавший себя не только ученым, но и инженером, счел некоторые из целей развития своих коллег преувеличенными и неосуществимыми.

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

После того, как Вирт завершил работу над языком в 1969 году, год спустя последовала разработка первого компилятора Паскаля. Он был написан для компьютеров серии CDC 6000 и был введен в эксплуатацию в 1970 году. В 1971 году Вирт опубликовал описание языка объемом всего 28 страниц, а в 1972 году учителя впервые смогли использовать Паскаль для вводного программирования. курсы. В 1973 году последовала переработанная 54-страничная версия спецификации.

«Меня часто спрашивали, как« изобрести »язык программирования.На этот вопрос нет реального ответа, но это, безусловно, вопрос опыта программирования и тщательного рассмотрения. Иногда я говорю: «Как вы проектируете самолет. Вы должны определить определенное количество необходимых компонентов, а затем собрать их в функционирующее целое. Этот ответ может быть не совсем удовлетворительным, но по крайней мере одно и то же происходит с результатом в обоих случаях: либо он летает, либо падает. "

- Никлаус Вирт

критика

Поскольку язык был разработан как язык обучения, стандартный Паскаль имел некоторые особенности, которые затрудняли коммерческое использование: концепция доступа к файлам («файловый ввод-вывод») была неэффективной, библиотека времени выполнения не была очень обширной, а строки можно было только обойти (упакованный массив), можно использовать непосредственно в коде.Это означало, что практически каждая коммерческая реализация предлагала свои собственные решения, которые изначально (аналогично диверсификации в C) привели к появлению собственных диалектов Паскаля и, следовательно, к проблемам совместимости. С монопольным доминированием продуктов Borland Turbo Pascal эти различия почти полностью исчезли.

Другим серьезным недостатком было то, что не планировалась модуляризация в смысле раздельной компиляции, что было изменено с дальнейшим развитием Modula-2.Платформенные реализации предоставили свои собственные решения для этого (например, модули Turbo Pascal, продолженные в эквивалентных реализациях модулей в Freepascal и Delphi, или более поздние модули в ANSI / ISO Extended Pascal).

Дальнейшие разработки

литература

  • Никлаус Вирт: Язык программирования Паскаль. In: Acta Informatica. Том 1, 1971, стр. 35-63. (онлайн)
  • Никлаус Вирт: Язык программирования Паскаль.Пересмотренный отчет. Швейцарский федеральный технологический институт, Цюрих, 1973 г. (онлайн)
  • Никлаус Вирт: Алгоритмы и структуры данных.

Leave a Comment

Ваш адрес email не будет опубликован.