Паскал (език за програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
м Bot: Automated text replacement (-Въпреки, че +Въпреки че )
мРедакция без резюме
Ред 1:
{{към пояснение|Паскал|Паскал}}
{{обработка|премахване машинен превод}}
{{Програмен език
|име = Паскал
Line 6 ⟶ 7:
|изглед = LagrangePAS.jpg
|текст_изглед =
|парадигма =Императивен императивен/структуриран
|година = 1970 г. (преди {{age|1970|}} г.)
|дизайнер =
|разработчик = Никлаус Вирт
|най-нова_версия =
|бета_версия =
|тестова_версия =
|типизация =Статична статична/ силна/ безопасна
|област =
|имплементация =
Line 30 ⟶ 31:
'''Паскал''' (''Pascal'') е [[Структурно програмиране|структурен]] [[език за програмиране]], създаден през [[1970]] г. от проф. [[Никлаус Вирт]] (Niklaus Wirth) от Швейцарския национален технологичен институт. Основната му цел е била да служи като [[език за програмиране|език]] за обучение, т.е. да бъде лесен за научаване и да учи на добър стил на програмиране. Езикът, кръстен в памет на френския математик [[Блез Паскал]], се използва от широк кръг [[програмист]]и, като добива особена популярност при студентите и учителите заради простотата си.
 
В края на [[1980-те|80-те години на ХХ век]] е разработена [[Обектно-ориентирано програмиране|обектно-ориентирана]] версия, наречена ''Object Pascal'' от фирмата Борланд ([[Borland]]), използвана по-късно в средата за разработване [[Delphi]], която също е продукт на същата фирма. СегаНавлиза навлизаи свободната реализация [[Free Pascal]] и визуална среда [[Lazarus]], които са много платформени както от към хардуер [[Intel x86]], [[AMD64]], [[ARM]], така и от към ОС – [[Windows]], [[Mac OS]], [[Linux]], [[Android]].
 
Паскал напълно неоснователно е смятан от някои програмисти (познаващи само на теория така нареченият ANSI Pascal – първоначална реализация на езика) на [[C (език за програмиране)|C]] или [[С++]] за език- играчка, тъй като поставя „ограничения“ върху това, което може да се постигне (макар че такива на практика отсъстват в почти всички съвременни реализации на езика), както и обезопасяването, което намалява бързодействието. С обезопасяването при работа с [[низ]]ове и [[масив (програмиране)|масиви]] в Паскал се избягват типични за програмите на С грешки от използване на незаделена или чужда памет. Поради по-близката си реализация до работата на процесорните инструкции, паскалските низове се обработват многократно по-бързо. Когато е нужно бързодействие, тези проверки в Паскал могат да бъдат изключвани, чрез командни ключове на по-известните [[компилатор]]и.
 
== Примерни програми ==
Line 53 ⟶ 54:
Първият Паскал компилатор е проектиран в Цюрих за серия мейнфрейм компютър семейството на CDC 6000.
 
Никлаус Вирт съобщава, че първият опит да го приложи ввъв Fortran (previously FORTRAN, derived from Formula Translating System) през 1969 г. е бил неуспешен поради неадекватност Fortran да изразява сложни структури от данни. Вторият опит е бил формулиран в самия Паскал език и е пуснат в експлоатация до средата на 1970 г.
 
Много Паскал компилатори, тъй като са били по подобен начин със самостоятелен хостинг, това е,самият компилаторъткомпилатор на самияе написан на Паскал, и компилаторът обикновено е способнаспособен да се компилира, когато се добавят нови функции към езика, или когато компилаторът бъде пренесен до нова среда. Компилаторът GNU Паскал е едно забележително изключение, който се пише на C.
 
Първият успешен порт на CDC Паскал компилатор на друг мейнфрейм е завършен от Welsh и Куин в Университета на кралицата нав Белфаст (QUB) през 1972 г.
 
Целта е била серията ICL 1900. Това от своя страна е била компилатор на родителя на Паскал компилатор за информационни компютърни системи (ICS) Multum миникомпютър.
 
Портът Multum е разработена – с оглед на използването на Паскал като език за програмиране системите – от Findlay, Cupples, Cavouras и Дейвис, работещи в Министерството на Изчислителнаизчислителна науки на университета в Глазгоу.
 
Смята се, че Multum Паскал, което е бил завършен през лятото на 1973 г., може да е бил първата 16-битабитова имплементация.
 
Напълно новияновият компилатор бил завършен от Welsh и др. в QB през 1977. Той предлага диагностична функция начален език (включващи профилиране, проследяване и типово запознати форматирани депа), които се прилагат от Findlay и Watt в университета на Глазгоу.
 
Това изпълнение се пренася през 1980 г. на поредицата ICL 2900 от екип на базата в Southampton University и университета на Глазгоу.
Line 71 ⟶ 72:
Изпълнението Standard Паскал Model също се основава на този компилатор, като са били адаптирани, от Welsh и Hay в университета в Манчестър през 1984 г., за да се провери щателно за съответствие с BSI 6192 / ISO 7185 стандарт и да се генерира код за преносима абстрактна машина.
 
Първият Паскал компилатор, написан в Северна Америка, е построенапостроен в Университета на Илинойс в рамките Donald B. Gillies за PDP-11 и генерира чист машинен код.
 
=== Паскал-P система ===
За да пропагандира езика бързо, компилатор „пренасяне комплект“ е създаден в Цюрих, който включва компилатор, който генерира код за „виртуална“ стек машина, т.е. код, който придава самата разумно ефективна интерпретация, заедно с преводач за товатози код – системата Pascal-P.
 
Компилаторите на P-системи са наречени Паскал-P1, Паскал-P2, Паскал-P3 и P4-Паскал. Паскал-P1 е първата версия, и Паскал-P4 бил последният, който идва от Цюрих.
 
Паскал-P4 компилатор / интерпретатор ще можетеможе да се стартирате и компилира на системи, съвместими с оригиналния Паскал. Въпреки това, той приема само подмножество на езика Паскал Паскал-P5, създаден извън групата Цюрих, приема пълният Паскал език и включва ISO 7185 съвместимост.
 
КомпилатораКомпилаторът, базиран на Паскал-P4 компилатор, който е създаден родните бинарни файлове, е бил освободен за IBM System / 370 мейнфрейм компютър от Australian комисия за атомна енергия; той е наречен „AAEC Паскал Compiler“ следпо съкращението на името на Комисията. [8]
 
В началото на 1980, Watcom Паскал е разработен, само за IBM System 370.
 
Пример за образователни цели. През 1990 Паскал все още работи на VAX терминали в GMU. Паскал книгите са продавани и учени да изпълняват изискването за програмиране.
Line 89 ⟶ 90:
Apple Computer създават свой собствен Lisa Pascal за Lisa семинара през 1982 г. и пренасят този компилатор на Apple Macintosh и MPW през 1985 г. През 1985 г. Лари Теслър, в консултации с Никлаус Вирт, дефинира Object Pascal и тези разширения биват включени както в Lisa Pascal, така и в Mac Pascal компилатори.
 
През 1980 Андърс Хейлсберг написва Blue Label Pascal компилатора за Nascom-2. Нова имплементация на този компилатор за IBM компютъра се предлага на пазара под имената Compas Pascal и PolyPascal преди да е бил придобит от Borland. Преименуван е на Turbo Pascal. Той става изключително популярен, благодарение отчасти на агресивна ценова стратегия и отчасти на факта, че притежава един от първите на цял екран Интегрирани среди за развитие и бърза обработка (само за няколко секунди се компилира, свързва и пуска). Освен това, той е написан и силно оптимизиран изцяло на асемблерен език, което го прави по-малък и по-бърз, отколкото голяма част от конкуренцията. През 1986 г. Андерс пренася Turbo Pascal на Macintosh и включва Object Pascal разширения на Apple в Turbo Pascal. След това тези разширения са добавени обратно в компютърната версия на Turbo Pascal за версия 5.5. В същото време Microsoft също имплементира Object Pascal компилатора. Turbo Pascal 5.5 има голямо влияние върху Pascal общността, която се съсредоточава главно върху IBM компютъра в края на 1980-те. Множество PC ентусиасти в търсене на по-структуриран заместител на BASIC използват този продукт. Той също започва да се приема от професионални разработчици. По същото време редица концепции са били внесени от C, за да използват Паскал програмисти C-базирани APIs директно от Microsoft Windows. Тези разширения включват нулеви низове, указателна аритметика, функционални указатели, адрес на оператори и необезопасени typecasts.
 
Въпреки това, по-късно Borland решава, че иска по-сложни обектно-ориентирани функции, и започва отначало в Delphi с помощта на Object Pascal проекта за стандарт, предлаган от Apple като основа. (Този проект на Apple все още не е официален стандарт). Delphi продуктът е пълна среда за разработка и пълен набор от предварително кодирана адаптивни обекти (повечето от тях са екранни джаджи за Windows), известен като „Visual Component Library“ (VCL). Основният език е Object Pascal. Основните допълнения в сравнение с по-старите разширения на ООП са са указателно-базирани обектни модели, виртуални конструктори и деструктори и свойства. Няколко други компилатори също въвеждат този диалект.
 
Turbo Pascal и други производни с дялове или модулни концепти са модулни езици. Въпреки това, той не предоставя вложена модулна концепция или квалифициран внос и износ на специфични символи.
 
=== Други разновидности ===
Super Pascal е разновидност, която добавя не-цифровинецифрови етикети, декларация за връщане и изрази като имена на типове.
 
Университетите на Уисконсин, Цюрих, Карлсруе и Вупертал разработват Pascal-НС и Pascal-XSC (''E'''X'''tension for '''S'''cientific '''C'''omputing'') компилатори, насочени към програмиране на числени пресмятания. TMT Pascal първият Borland-съвместим компилатор за 32-битов MS-DOS защитен режим, OS/2 и Win32 операционни системи. Също езика TMT Pascal е първият, който позволява претоварване на функция и оператор. Pascal-SC е първоначално насочен към процесора Z80, но по-късно е пренаписан за DOS (x86) и 68000. Pascal-XSC многократно е пренасян на UNIX (Linux, SunOS, HP-UX, AIX) и Microsoft / IBM (MS- DOS с EMX, OS / 2, Windows) операционни системи. Той работи чрез генериране на междинен C изходен код, който след това се компилира до локален файл. Някои от езикови разширения на Pascal-SC са приети от GNU Pascal.
Line 102 ⟶ 103:
Pascal Sol е проектиран около 1983 г. от френски екип за имплементиране на Unix системи наречени Sol. Това е стандартен Pascal ниво-1 (с параметъризирани граници на масив), но определението позволява алтернативни ключови думи и предварително определени идентификатори на френски и езикът включва няколко разширения за облекчаване на система за програмиране (например еквивалентно на lseek). Екипът на Sol по-късно предприема проекта ChorusOS да изработи разпределени операционна система.
 
IP Pascal е имплементациянаимплементация на езика за програмиране Pascal, използвайки Micropolis DOS, но е преместен бързо на CP/M, работещ на Z80. Той е преместен в машинните типове 80386 през 1994 г. и днес съществува като Windows/XP и Linux приложения. През 2008 г. системата е доведена до едно ново ниво и в резултат на това езикът, наречен „Паскалин“ (калкулаторът на Паскал). Той включва обекти, namespace контроли, динамични масиви, заедно с много други разширения, и като цяло се характеризира със същата функционалност и защита на типовете, като C#. Тя е единствената такава имплементация, която е съвместима и с оригиналната Pascal имплементация, която е стандартизирана като ISO 7185.
 
== Езикови концепти ==
Pascal, в оригиналния си вид, е чисто процедурен език и включва традиционната гама от АЛГОЛ-подобни структури за контрол с ключови думи като '''if''', '''then''', '''else''', '''while''', '''for''', и така нататък. Въпреки това, Pascal също има много съоръжения за структуриране на данни и други абстракции, които не са били включени в първоначалния Algol 60, като определения на типове, записи, показатели, енумерации, както и сетове. Такива конструкции са отчасти наследени или вдъхновени от Simula 67, ALGOL 68, ALGOL W и предложения от CAR Hoare.
 
=== Hello, world ===
Line 275 ⟶ 276:
DWScript известен още като DelphiWebScript, е преводач, създаден от Matthias Ackermann и Hannes Hernler през 2000 г. Текуща версия работи на Object Pascal голяма степен съвместима с Delphi, но също така поддържа езикови елементи, въведени в Prism. DWScript код може да се вгражда в Delphi приложения, подобни на PascalScript, компилиран в самостоятелно приложение, използвайки SimpleMobileStudio или компилирано в JavaScript код и се поставя на една уеб страница.
 
Dr. Pascal е интерпретатор, който работи за Standard Pascal. Известни са в режим на „видима изпълнение“, който показва стартирана програма и неговите променливи и изчерпателна проверка на грешка при изпълнение. Работи под DOS, Windows в прозорец DOS, и стари Macintosh.
 
Extended Pascal Compiler Dr. Pascal тестван на DOS, Windows 3.1, 95, 98, NT.
 
Virtual Pascal е създаден от Виталий Миранов през 1995 г. като родния OS / 2 компилатор съвместима с Borland Pascal синтаксис. След това, той е бил развита с търговска цел от FPrint, добавянето на поддръжка Win32, а през 2000 г. става безплатна. Днес той може да работи за Win32, OS / 2 и Linux, и е най-вече е съвместим с Borland Pascal и Delphi. Развитие бе спряно на 4 април 2005.
Line 287 ⟶ 288:
Turbo Pascal е доминиращият Pascal компилатор за персонални компютри през 80-те и началото на 90-те години на 20 век, както поради своите мощни разширения и изключително кратко време на компилация.
 
IP Pascal Осъществяваосъществява езикът „Паскалин“ (кръстен калкулатор Паскал), коятокойто е силно удължен Pascal съвместим с оригиналния Pascal, съгласно ISO 7185. Той разполага модули с контрол пространство от имена, включително паралелни възлагане на задачи, обекти, динамични масиви от всякакъв размери, които се разпределят по време на изпълнение, претоварвания, замени, както и много други разширения. IP Pascal има вграденвградена преносимостпреносима библиотека, която е по поръчка, съобразени с езика Pascal. Например, стандартно приложение текст извежда от 1970 оригинален Pascal може да се прекомпилиранипрекомпилират да работят в един прозорец и дори имат добавени графични конструкции.
 
Pascal-XT е създаден от Siemens за тяхното мейнфрейм операционни системи BS2000 и SINIX.
Line 311 ⟶ 312:
 
== Външни препратки ==
* [http://www.taoyue.com/tutorials/pascal/contents.html taoyue.com: Learn Pascal tutorial] – Въведение в Pascal.
* [http://www.dmoz.org/Computers/Programming/Languages/Pascal/Tutorials/ Open Directory Project: Pascal tutorials directory] – Други уроци по Pascal.
* [http://pascalgamedevelopment.com/ Pascal Game Development] – Сайт за правене на игри на Pascal ([[Free Pascal]], [[Delphi]] и [[Kylix]])
* [http://pascal-central.com/ pascal-central.com – created for the Pascal community] – създаден за Паскал общността.
 
[[Категория:Езици за програмиране]]