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ė fuqishme 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. Po ashtu lejohej 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(object oriented programming).
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++.
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 !
Burimet e pėrdorura:
- Chen, Yinong. Introduction to Programming Languages.2003
- The History of Computer Programming Languages
http://www.princeton.edu/~ferguson/...languages.shtml












