Pascal (programski jezik)

Pascal je historijski utjecajni imperativni i proceduralni programski jezik, dizajniran 1968–1969 i objavljen 1970. od strane Niklausa Wirtha kao mali i efikasni jezik koji je težio podržati dobre programske prakse korištenjem strukturiranog programiranja i strukture podataka.

Derivat poznat kao Object Pascal dizajniran za objektno-orijentirano programiranje bio je razvijen 1985.

 Historija 
Pascal, nazvan u čast francuskog matematičara i filozofa Blaise Pascala, razvio je Niklaus Wirth.

Prije njegovog rada na Pascalu, Wirth je razvio Euler i ALGOL W i kasnije radio na razvoju jezika sličnih Pascalu, Modula-2 i Oberon.

Sprva, Pascal je bio uveliko, ali ne ekskluzivno, težio naučiti studente strukturiranom programiranju.Essential Pascal by Marco Cantù Generacija studenata koristila je Pascal kao uvodni jezik u dodiplomskim kursevima. Varijante Pascal također su često bile korištene za sve od istraživačkih projekata do računarskih igara i proširenih sistema. Noviji kompajleri za Pascal postoje i koriste se uveliko.tiobe.com, Programming Community Index for January 2011.

Pascal je bio primarno jezik višeg nivoa korišten za razvoj operativnog sistema Apple Lisa, kao i u ranim godinama za Macintosh. Dijelovi originalnog operativnog sistema Macintosh su ručno prevedeni u Motorola 68000 asemblerski jezik od izvora Pascala.Hertzfeld, Andy. Typesetting sistem TeX od Donalda E.Knutha bio je napisan u WEBu, originalnom sistemu pismenog programiranja, zasnovanom na DEC PDP-10 Pascalu, dok su aplikacije kao Total Commander, Skype i Macromedia Captivate bile napisane u Delphiju (Object Pascal).

Object Pascal (Embarcadero Delphi) i dalje se koristi za razvoj aplikacija za Windows ali također ima mogućnosti unakrsnog kompajliranja istog koda za Mac, iOS i Android. Slijedeća verzija unakrsnog kompajliranja zvana Free Pascal, sa Lazarus IDE, popularna je kod korisnika Linuxa jer također nudi "napiši jednom, kompajliraj svugdje" razvoj. CodeTyphon je varijanta Lazarusa sa više prethodno instaliranih paketa i unakrsnih kompajlera.

 Kratak opis 
Wirthova težnja bila je kreirati efikasan jezik (u odnosu na brzinu kompajliranja i generisanog koda) zasnovan na tzv. strukturiranom programiranju, koncept koji je nedavno postao popularan. Pascal ima svoje korijene u jeziku ALGOL 60, ali je također uveo koncepte i mehanizme koji (na vrhu ALGOLovih skalara i nizova) dopuptaju programerima definiranje njihovih vlastitih kompeksnih (strukturiranih) tipova podataka, i također je učinio lakšim kreiranje dinamičkih i rekurzivnih podatkovnih struktura kao što su lists, trees i graphs. Važne osobine ubačene bile su records, enumerations, subranges, dinamično dodijeljene varijable sa asociranim pointerima, i setovima. Da bi se učinilo mogućim i svrsishodnim, Pascal je imao strogo tipovanje na svim objektima, što znači da jedan tip podataka ne može biti pretvoren ili interpretiran kao drugi bez izričite pretvorbe. Jednaki mehanizmi su standard u više programskih jezika danas. Ostali jezici koji su utjecali na Pascalov razvoj bili su COBOL, Simula 67, i Wirthov vlastiti ALGOL W.

Pascal, kao više programskih jezika danas (ali za razliku od više jezika u C porodici), dopušta gniježdene procedurne definicije za svaki nivo dubine, i također dopušta više vrsta definicija unutar podrutina (procedure i funkcije). Ovo omogućava veoma lahku i koherentnu sintaksu gdje je kompletan program sintaksi skoro identičan jednoj proceduri ili funkciji (osim naslova, gdje ima jednu od ovih tri ključne riječi).

 Reference 

 Vanjski linkovi 

 The Pascal Programming Language 
 Standard Pascal  – Resources and history of original, standard Pascal.
 Free Pascal SciTech portal with applications of Lazarus and Free Pascal for Science, medicine and technology.
 Pascal-P  - The Pascal-P compiler and versions.
 Pascal-P5  - Pascal-P5 web page.
 Pascal-P5 source code - SourceForge project for P5.
 Pascal-P5 source code - SourceForge project for P5.
 Online Vintage Pascal8000 Compiler - for small experiments.

Kategorija:Programski jezici