123
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: nightmare, Huntswarrior, Aleks_Crow  
Форум » Программирование микроконтроллеров AVR, PIC » Языки програмирования » Паскаль (Описание, харрактеристика и т.п.)
Паскаль
Отправлено 28.07.2009 - 15:141
Администраторы
571 сообщений
Мужчина
Паскаль

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

История

Паскаль был создан как язык для обучения процедурному программированию (хотя, по словам Вирта, язык нельзя считать только учебным, поскольку язык, непригодный для написания реальных программ, для обучения использоваться не должен). Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Один из первых языков, для которых была создана реализация «на самом себе» — компилятор Паскаля был написан на самом Паскале. В начале 1970-х годов для переноса Паскаль-систем на различные аппаратные платформы была создана система Pascal-P, в которой был единый компилятор Паскаля в промежуточный язык (P-код) и для каждой платформы создавался быстрый интерпретатор P-кода. Заимствование этой системы привело к созданию системы UCSD Pascal в Университете Сан-Диего (Калифорния, США), намного позже её идеи были заимствованы создателями языка Java (байт-код, компиляция в байт-код, интерпретатор байт-кода).

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

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



Я Админ
Профиль Личное сообщение Дом. страница icq Skype
Отправлено 28.07.2009 - 15:152
Администраторы
571 сообщений
Мужчина
Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 70-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «алгоритмический язык».

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

В 1986 году фирма Apple разработала объектное расширение языка Паскаль, получив в результате Object Pascal. В 1989 году аналогичные объектные средства были добавлены фирмой Borland в систему Turbo Pascal (языковые различия между объектным Turbo Pascal 5.5 и Object Pascal от Apple крайне незначительны). Последующие версии Turbo Pascal, который стал затем называться Borland Pascal, дополняли объектное расширение новыми средствами, этот процесс продолжился и в ходе развития языка системы Delphi[1]. Название языка менялось: от Pascal, через Object Pascal до Delphi, в литературе встречалось название Delphi Pascal, в последних версиях Delphi язык именуется так же, как и сама система (любопытный момент: в Delphi 7 пункт системного меню, запускающий справку по языку, как и в более ранних версиях, называется «Object Pascal Reference», а сам запускаемый им модуль помощи имеет заголовок «Delphi Language Manual», в тексте язык также везде называется «Delphi»). 1 февраля 2008 года Borland/CodeGear анонсировала поставку своей среды разработки приблизительно на миллион компьютеров в российских школах и ВУЗах.



Я Админ
Профиль Личное сообщение Дом. страница icq Skype
Отправлено 28.07.2009 - 15:173
Администраторы
571 сообщений
Мужчина
Особенности

Наиболее известной реализацией Паскаля, обеспечившая широкое распространение и развитие языка является Turbo Pascal фирмы Borland (выросшая затем в Borland Pascal для DOS/Windows и далее в Delphi), в которой использовались значительные расширения языка. Благодаря появлению развитых диалектов, язык стал богаче, но в отсутствие отраслевой стандартизации, потерял переносимость и общность (только в 1995 году появилась совместимая с Borland Pascal версия среды разработки Virtual Pascal для OS/2 и впоследствии Linux, в 1998 году Kylix — Delphi для Linux, в настоящее время оба этих проекта фактически заморожены).

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

Диалекты Паскаля, применяемые в Turbo Pascal и Delphi стали де-факто стандартом в силу широкой распространённости этих средств разработки, и затем получили дальнейшее развитие в рамках свободных проектов.

В настоящее время создана реализация языка для платформы .Net(реализация, следующая за Borland Delphi 7).

Пользуются популярностью такие версии языка как Free Pascal, GNU Pascal и TMT Pascal. Продолжает использоваться и Borland Pascal.

Кроме того, разрабатывается система программирования PascalABC.NET, ориентированная на обучение современному программированию и представляет собой реализацию языка Object Pascal для .NET Framework.

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

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество Алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алгол-68, созданного Никлаусом Виртом AlgolW и предложены Хоаром. В современных диалектах (Free Pascal) доступны такие операции как перегрузка операторов и функций.



Я Админ
Профиль Личное сообщение Дом. страница icq Skype
Форум » Программирование микроконтроллеров AVR, PIC » Языки програмирования » Паскаль (Описание, харрактеристика и т.п.)
  • Страница 1 из 1
  • 1
Поиск: