13 июл. 2010 г.

Обзор языка Pascal

Pascal

Паскаль (англ. Pascal) — язык программирования общего назначения.
Был создан Николаусом Виртом в 1970, после его участия в работе комитета разработки стандарта языка Алгол, как язык для обучения процедурному программированию. Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Первоначально язык компилировался в P-код (аналог байт-кода, подобно языку Java). 


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


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


Необходимо заметить, что многие перечисленные недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, основным языком программирования в академической среде 70-х был Фортран, обладавший гораздо более существенными недостатками, и Паскаль представлял собой значительный шаг вперед. В начале 1980-х годов СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный "алгоритмический язык".
Н. Вирт понимал недостатки созданного им языка, но, следуя традициям академической среды, перестал его развивать и разработал новые языки семейства: Модула-2 и Оберон. 


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


Наиболее известной является фирма Borland, язык Turbo Pascal (затем Borland Pascal) которой был значительно расширен, были устранены некоторые недостатки языка, добавлены новые возможности. Язык стал богаче, но в отсутствии отраслевой стандартизации, потерял переносимость и общность (до появления в 1998 году Kylix - Delphi для Linux продукты Borland работали только на платформе DOS/Windows). 


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


В настоящий момент пользуются популярностью такие версии языка как TMT Pascal, Free Pascal и GNU Pascal. Продолжает использоваться и Borland Pascal. Развитием языка Borland Pascal является Object Pascal — версия языка Паскаль расширенная средствами объектно-ориентированного программирования. Последние версии Borland Pascal лежат в основе среды программирования Delphi. 1 февраля 2008 года Borland/CodeGear аннонсировала поставку своей среды разработки приблизительно на миллион компьютеров в российских школах и ВУЗах.
В России разработан язык программирования Глагол, который имеет близкую к Паскалю идеологию, но в отличие от него изначально спроектирован на использование только русских служебных слов. 


Кроме того разрабатывается система программирования PascalABC.NET, ориентированная на обучение современному программированию. PascalABC — реализация обычного паскаля, разработан для обучения языку программированию. PascalABC.net — аналог PascalABC, с возможностью создавать exe файлы. 

Hello World

Простейшая программа, которая выводит на экран надпись Hello World.
program HelloWorld(output);
begin { Начало программы }
  WriteLn('Hello World'); { Выводим надпись }
end. { Конец программы }
Текст между символами "{" и "}" в языке Паскаль обозначает комментарий. Между ними Вы можете писать любые заметки которые не будут компилироваться в дальнейшем. В подмножестве языка Паскаль компиляторов компании Borland (Turbo Pascal, Borland Pascal, Delphi) комментарии также можно обозначать парами символов (* и *), а также при помощи пары символов "//" - обозначающих, что текст до конца строки является комментарием. Вариант с применением цикла с послеусловием.
program HelloWorld2(output);
begin { Начало программы }
  repeat
    WriteLn('Hello World') { Повторять действие }
  until KeyPressed; {До момента нажатия клавиши}
end. { Конец программы }