Historia dhe Zhvillimi i Gjuhëve Programuese - Forum
  Friday, 2014-11-28, 8:21 AM
Welcome Guest | RSS
 
 
Main Page | Historia dhe Zhvillimi i Gjuhëve Programuese - Forum | Register | Log in
[New messages · Members · Forum rules · Search · RSS ]
Page 1 of 11
Forum » Shekenca » Informatika » Historia dhe Zhvillimi i Gjuhëve Programuese
Historia dhe Zhvillimi i Gjuhëve Programuese
dj_diamantDate: Sunday, 2007-09-02, 3:29 PM | Message # 1
Admin
Group: Administrators
Messages: 267
Reputation: 0
Status: Offline
Koment:, Qindra e mijëra gjuhë programuese janë nxjerrur deri më tash. Secila prej tyre është zhvilluar për ndonjë arsye apo funksion të veçantë. Në këtë shkrim mund të lexoni se si janë zhvilluar gjuhët programuese dhe se si e kanë influencuar njëra tjetrën.
Hyrje

Qindra e mijëra gjuhë programuese janë nxjerrur deri më tash. Secila prej tyre është zhvilluar për ndonjë arsye apo funksion të veçantë. Për ndryshim nga gjuhët natyrale (Shqipja, Anglishtja etj.) që janë evoluar si të pavarrura prej njëra tjetrës, gjuhët programuese janë mjaft të ngjajshme njëra me tjetrën. Në mënyrë të thjeshtë, gjuha programuese mund të definohet si një grumbull i fjalëve dhe rregullash gramatikore që nevojiten për të ndërtuar instruksione të posaçme që kompjuteri mund t'i kuptojë. Zakonisht gjuhët shkruhen në një tekst editor, përkthehen ne një formë binare që procesori mund t'i ekzekutoj.

Zhvillimi i Gjuhëve Programuese

Zhvillimi i gjuhëve programuese është influencuar nga zhvillimi harduerit, teknologjia e kompiluesve, si dhe nga nevojat e njeriut. Në përgjithsi, caku kryesor ka qenë zhvillimi i gjuhëve që janë të nivelit më të lartë (high-level), dmth. më afër njeriut, në mënyrë që të jenë më të lehta për përdorim dhe në të njejtën kohë të fuçishme për të kontrolluar harduerin. Në fillim haruderi ka qenë shumë i thjeshtë dhe i limituar, dhe në këtë mënyrë, programuesit kanë qenë më të lidhur për harduerin. Instruksionet e "shkruara" nga njeriu kanë qenë binare dhe gjuhët e tilla quhen "gjuhë të makinës". Gjuhët e makinës përmbajnë numra binarë që janë shumë të vështirë për tu punuar dhe mbajtur në mend. Hapi tjetër ka qenë përdorimi i simboleve të caktuara që do të reprezentonin numrat binarë qe janë përdorur më së shumti. Gjuhë programuese që ka përdorur simbole të tilla e më të sofistikuara ështe gjuha asembli (assembley language). Gjuha asembli përdorë variabla të thjeshta, kërcime në adresë të caktuar (branching), tipe të ndryshme të adresimit (addressing modes), si dhe disa makro (macro) të thjeshta. Asembleri është mjet që përdoret për të përkthyer këtë gjuhë në atë të makinës. Puna e asemblerit është që të bën përkthime të simboleve në numrat binarë korrespondues duke i shëndruar variablat në regjistra të procesorit apo në adresa e memories varësisht prej instruksioneve, kërcimet (branching) prej një vendi në një vend tjetër është përkthyer duke e llogaritur adresën e destinacionit.

Një gjë që vlen të përmendet në zhvillimin e gjuhëve programuese është Koncepti i Ruajtjes së Programit (Stored Program Concept) i cili i dha një kahje tjetër gjuhëve programuese. Ky koncept iu kreditua matematicientit hungarez John Von Neumann (1945) edhe pse puna ishte e shumë njerëzve, kështuqë termi "Von Neuman Machine" zakonisht preferohet të mos përdoret. Sipas këtij koncepti, programi duhet të ruhet në memorie dhe prej tij të ekzekutohen instruksionet, gjë që më herët, për cdo program që duhej të ekzekutohej, bëhej lidhja e veçantë fizike. Makinat që i përdorim sot janë të këtij modeli (me hapësirën ruajtëse(storage), cpu-në, dhe memorien).

Në vitin 1949, disa vite pas Neumann-it, u zhvillua gjuha "Short Code". Nuk kishte kompilues për këtë gjuhë dhe të gjitha programet nevojitieshin të përktheheshin me "dorë" ne kod të makinës (machine code).

Në vitin 1951 u zhvillua kompiluesi i parë nga Grace Hopper, i quajtur A0. Kompiluesi bën shëndrimin e simboleve të programit në 1-sha dhe 0. Kompiluesi i parë primitiv i quajtur Autocoder u shkrua nga Alick E. Glennie në vitin 1952. Ky kompilues shëndroi programet "Autocode" në gjuhë të makinës. Ishte i thjeshtë - identifikatorët mund të përmbanin më së shumti një simbol, si dhe përkrahte formula shumë të thjeshta.

Rreth viteve 1954-1957 u zhvillua gjuha e parë më e përdorshme, Fortran (FORmula TRANslating) nga ekipi i John Backer (IBM). Fortran përmbante vetëm komandat IF, DO dhe GOTO, por në kohën kur u zhvillua, këto komanda ishin shumë të rëndësishme. Më pastaj u nxorrën versionet Fortran II, Fortran III (1958), edhe pse ky i fundit, asnjeherë nuk u nxorr për publik. Versionet e fundit të Fortranit janë ASA Fortran 66 ( Fortran IV) në 1966, ANSI Fortran 77 (Fortran V) në 1978, ISO Fortran 90 (1991), ISO Fortran 95 (1997). Për dallim nga asembli, versionet e hershme të Fortranit, lejonin tipe të ndryshme të variablave (real, integer, array), përkrahnin thirrjet procedurale si dhe struktura të thjeshta kontrolluese.

Në vitin 1958 John McCarthy nga MIT krijoi gjuhën LISP (LISt Proccessing) e dedikuar për inteligjencë artificiale (AI). LISP është gjuhë funksionale e bazuar në Kalkulusin Lambda (Lambda Calculus) dhe ka të bëj me manipulimin e listave. Sintaksën e trashëgon prej Fortran-it ndërsa manipulimin me simbole prej Information Proccessing Language (IPL). Listat janë struktura që përmbajnë numra apo simbole. Të gjitha ato futen brenda kllapave të vogla "(" dhe ")". Në këtë mënyrë, programi mund të krijojë e mbledh lista të reja dhe në këtë mënyrë të "rritet vet". Këtu vjen në shprehje inteligjenca artificiale. Informacionet e reja rrisin diturinë e programit, dhe në këtë mënyrë i adopton vendimet e veta. LISP-i është gjuhë e ndryshme nga të tjerat, dhe për programuesin e gjuhëve tjera (C psh.) është diçka e re, dhe jo shumë e afërt. Një koncept që është kyç për këtë gjuhë është nevoja për rekurzion. LISP 1 doli në 1959, LISP 1.5 në 1962 dhe LISP 2 në 1966. Shume dialekte te LISP-it janë zhvilluar (Scheme, InterLisp, FranzLisp, MacLisp and ZetaLisp) LISP përdoret edhe sot për shkak të abstrakcionit sidomos në fushën e AI.
Dialekti i Lisp-it Scheme, u zhvillua nga G.L. Steele dhe G.J. Sussman në 1975 në MIT. Shumë përmirsime iu bën në versionet më të vonshme sikur "scope rule", procedurat (funksionet), "first class object", iu larguan unazat (loops) dhe i bazuar në vetëm procedurat rekurzive. Scheme u standardizua nga IEEE në 1989.
Në vitin 1981 u bën përpjekjet për ta zhvilluar Common Lisp i cili do t'i përfshinte të gjitha dialektet e Lisp-it, në mënyrë që të zhvillohet produkt i madh komercial. Megjithatë, përpjekjet për ta fusin Scheme në Lips dështuan, kështuqë Scheme qëndron si version i pavarur. "Common Lisp" u standardizua nga IEEE në 1992.

Duke u bazuar ne Fortran I, Algol 58 u zhvillua në 1958. Dy vite më vonë, u nxorr Algol 68, gjuha e parë me strukturat në formë blloqeve. Dijkistra u kreditua për dizajnimin e kësaj gjuhe që u përmirsua në vitin 1963 dhe 1968.

Edhe pse Fortran-i ishte e mire për të manipuluar me numra, ajo nuk ishte aq e mirë për hyrje dhe dalje (input and output). Kështu rreth vitit 1959 u zhvillua COBOL. Ajo u ndërtua si gjuhë për biznes. Lejoheshin vetëm numrat dhe stringjet. Poashtu leojhej strukturimi i tyre ne matrica (arrays) dhe rekorde. Fjalori i COBOL-it përmban shumë fjalë nga gjuha angleze në mënyrë që të jetë më e lehtë për ta mësuar, e sidomos per biznesmen.

Duke u bazuar ne Algol, u zhvillua gjuha Pascal nga Niklaus Wirth (1968-1970). Po i njejti e zhvilloi Modula-n si pasardhës i Pascal-it në vitin 1977, si dhe Modula-2 në vitin 1980 dhe Oberon në vitin 1988. Oberob ishte gjuhë me sintaksë si të Pascal-it por më e vrazhdë. Poashtu përmbante disa elemente të orientimit në objekte (object oriented).

Njëra ndër gjuhët më të popullarizuara të të gjitha kohërave, C-ja u zhvillua dhe u implementua nga Dennis Ritchie në laboratoret e Bell-it në New Jersey në mes të 1969 dhe 1973. C-ja u zhvillua për sistemin UNIX që zhvillohej në të njejtën kohë. Por shpejtë C-ja u bë gjuha dominante e sotit, dhe përdoret për të programuar sistemet operative të sotme si UNIX, Linux, Windows e MacOS. C-ja rrjedh prej gjuhës BCPL (Basic Combined Programming Language) nga Martin Richards (1967) dhe B-së nga Ken Thompson (1969). C-ja është gjuhe jo-strikte (weak type checking) që do të thotë se na lejon të bëjmë manipulime të shumta me informata, por njëkohësisht e rritë rrezikun për gabime për të cilat ndoshta kompiluesi nuk do të na njofton.

Konceptet e programimit të orientuar në objekte, së pari u paraqitën dhe u implementuan në gjuhën Simula që u zhvillua nga Ole-Johan Dahl dhe Kristen Nygaard në Norewgian Computing Center (NCC) në mes të 1962 dhe 1967. U nxorren Simula 1, dhe versioni i përmirsuar Simula 67. Edhe pse Simula asnjëherë nuk u përhap shumë, ajo luajti një rol të rëndësishëm në krijimin e gjuhëvë OOP.

Një ndër pasardhësit e Simula-s është Smaltalk, e dizajnuar në Xerox PARC nën udhëheqjen e Alan Key. Versionet e tij janë Smaltalk-72, Smaltalk-74, Smaltalk-76 dhe Smaltalk-80. Smaltalk poashtu trashëgon koncepte të pardigmit funksional nga Lisp.

I bazuar në Simula dhe në C, u zhvillua gjuha "C me klasa" nga Bjarne Stroustrup në vitin 1980 në laboratoret e Bell-it, dhe pastaj u ri-emërtua në C++ në vitin 1983. C++ u konsiderua si "gjuhë më e mirë se C", për shkak se është më strikte (strong-type checking) që e zvogëlon mundësinë për gabime. Poashtu C++ përkrahë abstraksion më të madh.

Gjuha programuese Java u shkrua nga James Gosling, Patrick Naughton, Chris Warth, Ed Frank dhe Mike Sheridan në Sun Microsystems. Në fillim u emërtua Oak dhe më pastaj u emertua Java në 1995. Parardhësit e Java-s janë C++ e Smaltalk. Java i largoi elementet jo OOP të C++, dhe u mundua të shëndrojë gjithcka në objekte, edhe pse ende përmban tipe primitive (primitive data types) si int, real etj. Java është ndër gjuhët më të përdorura sot, pasi që është gjuhë shumë-platformike, që do të thotë se kodi i njejtë ekzekutohet në Linux, Windows, Mac etj. Këtë e mundëson "byte-code" i Java-s i cili interpretohet nga Makinat Virtuale të platformave të ndryshme. Java është gjuhë më e lehtë se C++, sepse nuk kemi nevojë të mendojmë për rezervim/lirim të memories si në C++. Për më shumë informata lidhur me dallimin në mes të C++ dhe Java-s, klikoni këtu.

Në vitin 2000, Microsoft-i nxorri gjuhën C# që rrjedh nga C++ dhe Java. C# është gjuhë e plotë e orinetuar në objekte pa tipe primitive. C# është i bazuar në .Net teknologjinë. Ku së pari krijohet gjuha ndërmjetësuese (Intermediate Language) dhe pastaj para ekzekutimit të programit, së pari kthehet në gjuhë të makinës me anë të Just In Time (JIT) compiler që ndodhet në CLR.

Miranda është një gjuhë tjetër programuese e paradigmes së programimit funksional e zhvilluar nga David Turner në Universitetin e Kent-it në 1985-86. Miranda nuk përkrahë variabla globale, kështuqë i eliminon disa mundësi të gabimeve të pa qëllimshme. Turner më herët zhvilloi edhe dy gjuhë programuese të paradigmës funksionale: SASL dhe KRC. Gjuhë tjera të paradigmës funksionale janë FP dhe ML.

Gjuhë të paradigmës Logjike janë: Algebraic Logic Functional (ALF) , GNU Prolog.

Gjuha Visual Basic është gjuha që përdoret mjaft për të bërë aplikacione “të lehta” per platformën Microsoft Windows. Kjo gjuhë është bazuar në gjuhën Basic e zhvilluar më 1964 nga John Kemeny dhe Thomas Kurtz. Gjuha Basic është gjuhë e limituar dhe është dizajnuar për njerëz jo të shkencave kompjuterike. Visual Basic është Basic i avancuar i cili shkruhet në IDE-t e MS-it të cilat mundësojnë zhvillimin e aplikacioneve vizuele, duke implementuar “events” të miut, tastjerës dhe efekte të tjera të sistemit operativ.

Një gjuhë interpretuese e cila përdoret mjaft shumë është Perl-i i cili ka vërshuar web aplikacionet nëpër internet. Perl-i është gjuhë tipike për Unix platformë, e cila gjen përdorim, sidomos tek administratorët e sistemit (system administrators). Perl-i u zhvillua nga Larry Wall më 1987 për shkak të përmirsimit të manipulimit me tekste. Perl përkarahë regular expressions që janë shumë të vyshme. Një shkrim lidhu me regular expressions mund ta lexoni këtu. Në fazën më të re të web teknologjisë, një gjuhë e cila po merr hov të madh është PHP e cila ka bombarduar web faqet botërore.

Zhvillimi i gjuhëve programuese gjithnjë e më shumë po bëhet kyç në teknologjinë kompjuterike. Nevoja për të nxjerrur gjuhë sa më efikase po rritet gjithnjë e më tepër. Secila gjuhë dalllohet nga gjuhët tjera për nga disa nga elementet e saj, kështu që nuk mund të themi se ka gjuhë perfekte. Në të ardhmen, do të dalin gjuhë aq të sofistikuara sa që do të kenë mundësi të programojnë vet. Saktesinë e këtij pohimi do ta vërtetojmë me kalimin e kohës. E deri atëherë të vazhdojmë e të definojmë gjuhë të bukura që dikur do të shëndrohen në të tilla !

 
Forum » Shekenca » Informatika » Historia dhe Zhvillimi i Gjuhëve Programuese
Page 1 of 11
Search:


Copyright MyCorp © 2014

Website builder - uCoz