Pascal

З пляцоўкі Вікіпедыя.
Перайсці да: рух, знайсці
Pascal
Семантыка:

працэдурная

Тып выканання:

кампілятар

З'явілася ў:

1970

Аўтар(ы):

Ніклаўс Вірт

Паскаль (англ.: Pascal) — мова праграмавання агульнага прызначэння. Адна з найболей вядомых моў праграмавання, шырока ўжываецца ў прамысловым праграмаванні, навучанні праграмаванню ў вышэйшай школе, з'яўляецца базай для вялікага ліку іншых моў. Была створана Нікалаўсам Віртам у 1970, пасля яго ўдзелу ў працы камітэта распрацоўкі стандарту мовы Алгол-68.

Змест

Асаблівасці [правіць]

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

Асаблівасцямі мовы з'яўляюцца строгая тыпізацыя і наяўнасць сродкаў структурнага (працэдурнага) праграмавання. Паскаль была адной з першых такіх моў. Па меркаванні Н. Вірта, мова павінна спрыяць дысцыплінаванню праграмавання, таму, разам са строгай тыпізацыяй, у Паскалю зведзеныя да мінімуму магчымыя сінтаксічныя неадназначнасці, а сам сінтаксіс аўтар паспрабаваў зрабіць інтуітыўна зразумелым нават пры першым знаёмстве з мовай.

Тым не менш, першапачаткова мова мела шэраг абмежаванняў: немагчымасць перадачы функцыям масіваў зменнай даўжыні, адсутнасць пэўных сродкаў працы з дынамічнай памяццю, абмежаваная бібліятэка ўводу-вываду, адсутнасць сродкаў для падлучэння функцый напісаных на іншых мовах, адсутнасць сродкаў паасобнай кампіляцыі і г. д. Найбольш прыкметны недахоп сінтаксісу — некрытычна запазычаная з Алгола структура кіраўнікоў канструкцый (аператараў if і цыклаў), патрабавальная, як правіла, сталага выкарыстання складовых аператараў «begin — end». Поўны разбор недахопаў мовы Паскаль быў выкананы Браянам Керніганам у артыкуле «Чаму Паскаль не з'яўляецца маёй любімай мовай праграмавання» (цікава, што гэты артыкул выйшаў ў пачатку 1980-х, калі ўжо існавала мова Модула-2, нашчадак Паскаля, пазбаўлены ад большасці яго заган). Некаторыя недахопы Паскаля былі выпраўленыя ў ISO-стандарце 1982 г, у прыватнасці, у мове з'явіліся адчыненыя масівы, якія далі магчымасць выкарыстаць адны і тыя жа працэдуры для апрацоўкі аднамерных масіваў розных памераў.

Неабходна заўважыць, што шматлікія недахопы мовы не выяўляюцца або нават становяцца вартасцямі пры навучанні праграмаванню. Акрамя таго, у параўнанні з асноўнай мовай праграмавання ў акадэмічным асяроддзі 70-х (якім быў Фартран, які валодаў значна больш істотнымі недахопамі), Паскаль уяўляў сабой значны крок наперад. У пачатку 1980-х гадоў у СССР для навучання школьнікаў асновам інфарматыкі і вылічальнай тэхнікі акадэмік А. П. Ершоў распрацаваў алгола-паскалепадобную «алгарытмічную мову».

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

Найболей вядомай рэалізацыяй Паскаля з'яўляецца сістэма Turbo Pascal (затым у Borland Pascal і далей у Delphi) фірмы Borland, у якой мова была значна пашырана, былі ўхіленыя некаторыя недахопы мовы, дададзеныя новыя магчымасці. Мова стала багацейшай, але з-за адсутнасці галіновай стандартызацыі, страціў пераноснасць і агульнасць (да з'яўлення ў 1998 годзе Kylix — Delphi для Linux, прадукты Borland працавалі толькі на платформе DOS/Windows, у цяперашні час Kylix фактычна замарожаная).

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

У сапраўдны момант карыстаюцца папулярнасцю такія версіі мовы як TMT Pascal, Free Pascal і GNU Pascal. Працягвае выкарыстоўвацца і Borland Pascal.

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

Акрамя таго, распрацоўваецца сістэма праграмавання 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) каментары таксама можна пазначаць парамі сімвалаў (* і *), а таксама пры дапамозе пары сімвалаў "//" - якія пазначаюць, што тэкст да канца радка з'яўляецца каментарам.

Гл. таксама [правіць]

Спасылкі [правіць]

Заўвагі [правіць]

  1. Бадд Т. Аб'ектна-арыентаванае праграмаванне ў дзеянні. Спб.: Піцер, 1997. ISBN 5-88782-270-8