Difference between revisions of "Basic Pascal Tutorial/History/bg"

From Lazarus wiki
Jump to navigationJump to search
m (Kai Burghardt moved page Pascal History/bg to Basic Pascal Tutorial/History/bg: tidy up main name space: create subpage hierarchy for basic Pascal tutorial [cf. [[Special: PermaLink/149778#Cluttering...)
m (bypass language bar/categorization template redirect [cf. discussion])
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{Pascal_History}}
+
{{Basic Pascal Tutorial/History}}
{{TYNavigator|Basic_Pascal_Introduction|Compilers}}
+
{{TYNavigator|Introduction|Compilers}}
  
 
== История на езика Паскал ==
 
== История на езика Паскал ==
Line 50: Line 50:
 
В днешно време Паскал запазва своята ниша на пазара чрез Delphi, Free Pascal и Lazarus. Много дребни безплатни, shareware програми, програми с отворен код и платени програми са написани на Паскал/Delphi. Затова се наслаждавайте докато го учите. Това е чудесно въведение в компютърното програмиране. Не е опасно като C, объркващо като C++ или бавно като Java.
 
В днешно време Паскал запазва своята ниша на пазара чрез Delphi, Free Pascal и Lazarus. Много дребни безплатни, shareware програми, програми с отворен код и платени програми са написани на Паскал/Delphi. Затова се наслаждавайте докато го учите. Това е чудесно въведение в компютърното програмиране. Не е опасно като C, объркващо като C++ или бавно като Java.
  
{{TYNavigator|Basic_Pascal_Introduction|Compilers}}
+
{{TYNavigator|Introduction|Compilers}}

Latest revision as of 15:15, 20 August 2022

български (bg) Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

История на езика Паскал

(author: Tao Yue, state: negligible changes)

Произход

Паскал произлиза от ALGOL - език за програмиране предназначен за научни изчисления. На среща в град Цюрих, Международен комитет проектира ALGOL като платформено независим език. Това позволило да се включат в езика допълнителни възможности, но от друга страна затруднило създаването на компилатор за него. Това било по времето, когато на компютрите липсвали много от хардуерните възможности, които сега приемаме за даденост.

Тъй като на много платформи липсвал компилатор за ALGOL, а на самия ALGOL му липсвали указатели и много от основните типове данни, езикът ALGOL никога не бил широко приет. Учените и инженерите предпочитали FORTRAN - друг език за програмиране достъпен на много повече платформи. ALGOL почти изчезнал и останал само като език за описание на алгоритми.

Вирт създава Паскал

Няколко компютърни учени работили върху разширяването на ALGOL през 60-те години. Един от тях бил Dr. Niklaus Wirth от Швейцарския федерален технологичен институт (ETH-Цюрих), член на първоначалната група, създала ALGOL. През 1971 г. той публикува своята спецификация на силно структуриран език, който наподобява в много отношения ALGOL. Той го нарича Паскал на името на френския философ и математик от 17-ти век построил работещ механичен цифров компютър.

Паскал е много силно ориентиран към данните и дава възможност на програмиста да описва свои типове. С тази свобода идват и строгите проверки, които пречат на смесването на различни типове данни. Паскал е създаден като език за обучение и е широко приет като такъв. Той е "свободно течащ" за разлика от FORTRAN и може да се чете подобно на естествения език, което улеснява разбирането на написания на него код.

UCSD Паскал

Едно от нещата, които убили ALGOL, било трудността да се създаде компилатор за него. Д-р Wirth избегнал това, като накарал компилатора си на Паскал да компилира до междинен, независим от платформата обектен код. След това друга програма превръщала този междинен обектен код в изпълним код за конкретната машина.

Проф. Кен Боулс от Калифорнийския университет в Сан Диего (UCSD) се възползвал от тази възможност, за да адаптира компилатора на Паскал към Apple II, най-популярния микрокомпютър тогава. UCSD P-системата станала стандарт и се използвала широко в университетите. Това било резултат от ниската цена на Apple II в сравнение с т.н. мейнфреймове, които по това време били необходими за работа с други езици като FORTRAN. Въздействието на UCSD P-системата върху компютърната индустрия може да се види в рекламите на IBM за нейния революционен персонален компютър, който поддържал три операционни системи: CP / M-86 на Digital Research, P-системата на Softech UCSD и PC-DOS на Microsoft.

Паскал се превръща в стандарт

В началото на 80-те години Паскал става широко приет в университетите. Две събития се съчетават, за да го направят още по-популярен.

Първо, Educational Testing Service (образователната служба за тестове), компанията, която пише и администрира основния кандидатстудентски изпит за колеж в Съединените щати, решава да добави изпит по компютърни науки към своите изпити за напреднали стажове за ученици в гимназията. За този изпит той избира езика Паскал. Поради тази причина учениците от средните училища, както и студентите започнали да изучават Паскал. Паскал остава официален език на изпитите за AP до 1999 г., когато е заменен от C ++, който от своя страна е заменен веднага след това от Java.

Второ, малка компания на име Borland International пуска компилатора Turbo Pascal за IBM Personal Computer. Компилаторът е проектиран от Андерс Хейлсбърг, който по-късно ще оглави групата в Microsoft, разработила C# и (отново) въвела Managed Code обратно в света на компютрите.

Турбо Паскал бил наистина революционен. Той имал някои несъществени орязвания и модификации спрямо стандартния Паскал, но те му помогнали да постигне най-голямото си предимство - скоростта. Турбо Паскал, компилирал с шеметна скорост: няколко хиляди реда в минута. По това време наличните компилатори за PC платформа били бавни и претруфени. Когато Турбо Паскал се появил това било глътка свеж въздух. Много скоро Турбо Паскал станал де-факто стандарт за програмиране на PC. Когато PC Magazine публикувал изходен код за помощни програми, той обикновено е или на асемблер или на Турбо Паскал.

По същото време Apple представя своята серия от компютри Macintosh. Тъй като Паскал бил предпочитания структурен език за програмиране по това време, Apple избира Паскал като стандартен език за Mac. Когато получавали API и примерен код за програмиране на Mac, всичко било на Паскал.

Разширения

От версия 1.0 до 7.0 на Turbo Pascal, Borland продължава да разширява езика. Една от критиките към оригиналната версия на Паскал била за липсата на отделна компилация за модули. Д-р Wirth дори създал нов език за програмиране, Modula-2, за да се справи с проблема. Borland добавя модули към Pascal с неговата функция за отделно компилируеми единици (unit).

Към версия 7.0 са добавени много разширени функции. Един от тях е DPMI (DOS Protected Mode Interface), начин за стартиране на DOS програми в защитен режим, получаване на още скорост и преодоляване на ограничението от 640K достъпна до памет под DOS. Turbo Vision, текстова прозоречна система, позволява на програмистите да създават чудесно изглеждащи интерфейси на практика за нула време. Паскал дори става обектно-ориентиран, тъй като с версия 5.5 приема езиковите разширенията на Apple Object Pascal. Когато излиза Windows 3.0 , Borland създава Turbo Pascal за Windows, пренасяйки скоростта и лекотата на Паскал в графичния потребителски интерфейс. Изглеждало така, сякаш бъдещето на Паскал е сигурно.

Светът се променя

Това обаче не се случва. През 70-те години Денис Ричи и Брайън Керниган от AT&T Bell Laboratories създават езика за програмиране C. След това Ричи си сътрудничи с Кен Томпсън, за да проектира операционната система UNIX. По това време AT&T има санкциониран от правителството монопол върху телефонните услуги в САЩ. В замяна на монопола телефонният му бизнес е урегулиран и имало забрана да влиза в компютърния бизнес. AT&T, не виждайки бъдеще за разработването на операционна система, предоставя UNIX безплатно на университетите заедно с изходния код. По този начин цяло поколение студенти по компютърни науки научават езика C в университетските си курсове по езици и операционни системи. Бавно но сигурно, C започна да се "просмуква" в света на компютърното програмиране.

Паскал получава тежък удар през 90-те години, когато няколко големи компании се фокусират върху други езици за програмиране. Microsoft например се фокусира върху Visual Basic и C, а Apple мигрира своите API от Паскал на C, а по-късно и на Objective C. Въпреки липсата на подкрепа от производителите на операционни системи, Паскал все още е запазил голям брой последователи с помоща на Delphi и Free Pascal.

И така, какви са предимствата на изучаването на Паскал?

Въпреки че е загубил предишната си господстваща позиция, Паскал все още е доста полезен. Едно от предимствата му е, че има много ясен синтаксис, който използва общи думи, като begin/end, за да изразява концепции, което прави кода му по-лесен за четене и поддържане.

Друга причина: скорост и размер. Компилаторите на Паскал са мълниеносни и Delphi и Free Pascal не са изключение. Докато програмистите на C може да чакат с часове, тези на Pascal трябва да чакат само 1 минута за програма с подобен размер. Освен това средите за разработка (IDE) на Паскал все още са лидери по отношение на производителността в света чрез Delphi IDE и Lazarus IDE.

Освен това Паскал остава предпочитан език за програмиране в много университети. Паскал е бил подходящ за преподаване на програмиране и си остава такъв. Има по-малко усложнения и по-малко начини един студент да се затрудни с програмата. За преподаване на просто процедурно програмиране Паскал остава добър избор. Паскал се е задържал по-дълго в образованието извън Съединените щати и е останал официален език на Международната олимпиада по информатика. Основните умения по програмиране са полезни в много технически професии и Паскал е по-лесен за изучаване от C/C++.

В днешно време Паскал запазва своята ниша на пазара чрез Delphi, Free Pascal и Lazarus. Много дребни безплатни, shareware програми, програми с отворен код и платени програми са написани на Паскал/Delphi. Затова се наслаждавайте докато го учите. Това е чудесно въведение в компютърното програмиране. Не е опасно като C, объркващо като C++ или бавно като Java.

 ◄   ▲   ►