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

Изтрито е съдържание Добавено е съдържание
Редакция без резюме
поправяне на грешките, изчистване на машинен превод
Ред 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]] или [[С++]] за език играчка, тъй като поставя „ограничения“ върху това, което може да се постигне (макар че такива на практика отсъстват в почти всички съвременни реализации на езика), както и обезопасяването, което намалява бързодействието. С обезопасяването при работа с [[низ]]ове и [[масив (програмиране)|масиви]] в Паскалпаскал се избягват типични за програмите на С грешки от използване на незаделена или чужда памет. Поради по-близката си реализация до работата на процесорните инструкции, паскалските низове се обработват многократно по-бързо. Когато е нужно бързодействие, тези проверки в Паскалпаскал могат да бъдат изключвани, чрез командни ключове на по-известните [[компилатор]]и.
 
== Примерни програми ==
Ред 51:
 
== Реализация ==
=== Ранни Паскалпаскал компилатори ===
Първият Паскалпаскал компилатор е проектиран в Цюрих за серия мейнфрейм компютър семейството на CDC 6000.
 
Никлаус Вирт съобщава, че първият опит да го приложи във Fortran през 1969 г. е бил неуспешен поради неадекватност Fortran да изразява сложни структури от данни. Вторият опит е бил формулиран в самия Паскал език паскал и е пуснат в експлоатация до средата на 1970 г.
 
Много Паскалпаскал компилатори, тъй като са били по подобен начин със самостоятелен хостинг – самият компилатор е написан на Паскалпаскал, и компилаторът обикновено е способен да се компилира, когато се добавят нови функции към езика, или когато компилаторът бъде пренесен до нова среда. Компилаторът GNU ПаскалPascal е едно забележително изключение, който се пише на C.
 
Първият успешен порт на CDC Паскалпаскал компилатор на друг мейнфрейм е завършен от Welsh и Куин в Университета на кралицата в Белфаст (QUB) през 1972 г.
 
Целта е била серията ICL 1900. Това от своя страна е била компилатор на родителя на Паскалпаскал компилатор за информационни компютърни системи (ICS) Multum миникомпютър.
 
Портът Multum е разработена – с оглед на използването на Паскалпаскал като език за програмиране системите – от Findlay, Cupples, Cavouras и Дейвис, работещи в Министерството на изчислителна науки на университета в Глазгоу.
 
Смята се, че Multum ПаскалPascal, който е завършен през лятото на 1973 г., може да е първата 16-битова имплементация.
 
Напълно новият компилатор е завършен от Welsh и др. в QB през 1977. Той предлага диагностична функция начален език (включващи профилиране, проследяване и типово запознати форматирани депа), които се прилагат от Findlay и Watt в университета на Глазгоу.
Ред 70:
Това изпълнение се пренася през 1980 г. на поредицата ICL 2900 от екип на базата в Southampton University и университета на Глазгоу.
 
Изпълнението Standard ПаскалPascal Model също се основава на този компилатор, като са били адаптирани, от Welsh и Hay в университета в Манчестър през 1984 г., за да се провери щателно за съответствие с BSI 6192 / ISO 7185 стандарт и да се генерира код за преносима абстрактна машина.
 
Първият Паскалпаскал компилатор, написан в Северна Америка, е построенсъздаден в Университета на Илинойс в рамките Donald B. Gillies за PDP-11 и генерира чист машинен код.
 
=== ПаскалPascal-P система ===
За да пропагандира езика бързо, компилатор „пренасяне комплект“ е създаден в Цюрих, който включва компилатор, който генерира код за „виртуална“ стек машина, т.е. код, който придава самата разумно ефективна интерпретация, заедно с преводач за този код – системата Pascal-P.
 
Компилаторите на P-системи са наречени ПаскалPascal-P1, ПаскалPascal-P2, ПаскалPascal-P3 и P4-ПаскалPascal. ПаскалPascal-P1 е първата версия, и ПаскалPascal-P4 бил последният, който идва от Цюрих.
 
ПаскалPascal-P4 компилатор / интерпретатор може да се стартирате и компилира на системи, съвместими с оригиналния Паскалпаскал. Въпреки това той приема само подмножество на езика Паскалпаскал ПаскалPascal-P5, създаден извън групата Цюрих, приема пълният Паскалпълния език паскал и включва ISO 7185 съвместимост.
 
Компилаторът, базиран на ПаскалPascal-P4 компилатор, който е създаден родните бинарни файлове, е бил освободен за IBM System / 370 мейнфрейм компютър от Australian комисия за атомна енергия; той е наречен „AAEC ПаскалPascal Compiler“ по съкращението на името на Комисията.
 
В началото на 1980 Watcom ПаскалPascal е разработен само за IBM System 370.
 
Пример за образователни цели. През 1990 Паскалпаскал все още работи на VAX терминали в GMU. Паскал книгите са продавани и учени да изпълняват изискването за програмиране.
 
=== Object Pascal, Turbo Pascal ===
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. Основните допълнения в сравнение с по-старите разширения на ООП са указателно-базирани обектни модели, виртуални конструктори и деструктори и свойства. Няколко други компилатори също въвеждат този диалект.
Ред 248:
Въпреки че стандартите не решават тези въпроси, те предоставят определено количество на последователност в рамките на езикова конструкция. Един и същи код може да не функционира, или дори компилира, когато се пренесе директно към друг компютър или компилатор, но заради съществуването стандартите, [[програмист]] запознат с този език ще има основни познания за това какво прави кодът. Като се има предвид разбирането на библиотеките и уникалните свойства на компютъра, към който кода се пренесе, задачата за пренасяне на кода е по-лесна, отколкото ако нямаше никакви езикови стандарти.
 
Първият стандарт, написан за Паскалпаскал, е разработен през 1983 г. и е известен като Неразширеннеразширен Паскалпаскал ([[ISO]] 7185). През 1990 г. – същата година, когато неразширеният стандарт Паскалпаскал е актуализиран, е създаденасъздаден Разширенразширен Паскалпаскал стандарт (ISO 10206). Неразширеният стандартпаскал Паскалстандарт включва основната функционалност на оригиналния Паскалпаскал, докато Разширениятразширеният Паскалпаскал стандарт е въведен, за да донесе на Паскал повече съответствие с нуждите на модерното програмиране, осигурявайки по-мощен инструмент за програмиране, без да се жертва елегантността на Паскалпаскал.
 
За да отговори на нуждите на по-нататъшно нарастващата технология в компютърното програмиране, някои Паскалпаскал компилатори са създадени за подпомагане на обектно-ориентираното програмиране. Въпреки че официално стандарт за Обектенобектен Паскалпаскал не е установен, през 1993 г. Комитетът по Паскалпаскал стандарти публикува „обектно- ориентирани разширения на Паскал“-паскал“ – технически доклад, който съдържа предложени стандарти. Членовете на комитета, които написват този доклад са дошли от различни организации – Университет Пейс и Военновъздушните сили на [[САЩ]], [[Апъл]], [[Майкрософт]], и Дижитъл Екуипмент Корпорейшън.
 
През 1995 г. Джон Рейгън, член на комисията по ISO стандарти и компилаторен архитект на Паскалпаскал в Дижитъл Екуипмент Корпорейшън (сега Компак), създава [http://pascal-central.com/extpascal.html Паскалпаскал Стандартистандарти] – често задавани въпроси, адресиращ въпроси като:
* Какви са различните Паскалпаскал стандарти?
* Кой създава стандартите?
* Какви са необходимите [[Интерфейс (програмиране)|интерфейси]] за разширяване Паскалпаскал?
* Каква е историята на Паскалпаскал стандартистандартите?
 
== Ресурси ==
Ред 271:
Kylix е потомък на Delphi, с поддръжка на операционната система Linux и подобрена обектна библиотека. Тя вече не се поддържа. Compiler и IDE са на разположение сега за некомерсиална употреба.
 
GNU Pascal Compiler (GPC) е Pascal компилатор на Compiler Collection на GNU (GCC). Самият компилатор е написан на С, изпълнимата библиотека най-вече в Pascal. Разпределени в рамките на GNU General Public License, той работи на много платформи и операционни системи. Той поддържа ANSI / ISO стандарт езици и има частична Turbo Pascal диалект подкрепа. Един от най-болезнените пропуски е липсата на 100% Turbo Pascal-съвместим. Подкрепа за Borland Delphi и други езикови вариации е доста ограничено. Има известна подкрепа за Mac-ПаскалPascal обаче.
 
DWScript известен още като DelphiWebScript, е преводач, създаден от Matthias Ackermann и Hannes Hernler през 2000 г. Текуща версия работи на Object Pascal голяма степен съвместима с Delphi, но също така поддържа езикови елементи, въведени в Prism. DWScript код може да се вгражда в Delphi приложения, подобни на PascalScript, компилиран в самостоятелно приложение, използвайки SimpleMobileStudio или компилирано в JavaScript код и се поставя на една уеб страница.
Ред 308:
[[Lazarus]] е безплатна Delphi междуплатформено IDE за бърза разработка на приложения (RAD). Въз основа на Free Pascal, Lazarus е достъпна за множество платформи, включително Linux, [[FreeBSD]], [[MacOS|Mac OS X]] и [[Microsoft Windows]].
 
Code Typhon е Pascal IDE построен като дълга версия на Lazarus с много пакети, изпратени и скриптове. Code Typhon е проектирана през свободното Паскалпаскал и поддържа Object Pascal, Turbo Pascal и Delphi също. Програмистите могат да изградят всяка програма за всяко устройство.
 
== Външни препратки ==
Ред 314:
* [http://www.dmoz.org/Computers/Programming/Languages/Pascal/Tutorials/ Open Directory Project: Pascal tutorials directory] {{Webarchive|url=https://web.archive.org/web/20070612160515/http://dmoz.org/Computers/Programming/Languages/Pascal/Tutorials/ |date=2007-06-12 }} – Други уроци по Pascal
* [http://pascalgamedevelopment.com/ Pascal Game Development] – Сайт за правене на игри на Pascal ([[Free Pascal]], [[Delphi]] и [[Kylix]])
* [http://pascal-central.com/ pascal-central.com – created for the Pascal community] – създаден за Паскал общността на езика паскал
 
[[Категория:Езици за програмиране]]