U krijua gjuha e parë e programimit. Si e zgjidhni ende gjuhën tuaj të programimit (të parë)? Ose si të bëni pyetjet e duhura? Çfarë është një gjuhë programimi

Nëse po mendoni të mësoni programim, gjuha e programimit që vendosni të zgjidhni fillimisht ka një rëndësi të madhe, ajo duhet të lidhet me atë që dëshironi të bëni në të ardhmen dhe të jetë e rëndësishme. Ndërsa programimi në përgjithësi nuk është për dembelët, disa gjuhë janë më të lehta për t'u mësuar se të tjerat dhe kanë komunitete që janë të përkushtuara për të mësuar dhe ofrojnë aftësi të dobishme për të mësuar gjuhë të tjera programimi.

Skema e përzgjedhjes

Ka pyetje që bëhen aq shpesh saqë krijohen diagrame të tëra për t'iu përgjigjur atyre. Këtu, për shembull, është një prej tyre, i dedikuar për zgjedhjen e gjuhës së parë të programimit.

Kur zgjidhni gjuhën tuaj të parë të programimit, duhet të vlerësoni me maturi faktorët e mëposhtëm:

  • Tregu i punës.
  • Perspektiva afatgjata për gjuhën.
  • Vështirësi në mësimin e një gjuhe.
  • Çfarë saktësisht mund të krijoni në procesin e studimit dhe, duke u treguar të tjerëve, të ruani motivimin.

Popullariteti dhe kërkesa

JavaScript

JavaScript, për të mos u ngatërruar me Java, është një gjuhë programimi që u zhvillua në vitet '90 nga Brendan Eich, dikur i Netscape Communications dhe tani i Fondacionit Mozilla. JavaScript është një nga teknologjitë themelore që fuqizon komunitetin e internetit siç e njohim ne. Mos u mashtroni, megjithëse JavaScript ekziston jashtë shfletuesit, ai ekziston kryesisht në kontekstin e aplikacioneve dhe shërbimeve të lidhura.

Gjuha në vetvete është dinamike dhe u jep programuesve fleksibilitetin për të përdorur stile programimi të orientuara nga objekti (pasi vetë gjuha është kryesisht e orientuar nga objekti), si dhe funksionale dhe imperative. Ai nxjerr shumicën e sintaksës së tij nga C, dhe nëse planifikoni të bëni ndonjë zhvillim të uebit në çfarëdo mënyre, mësimi i JavaScript duhet të jetë në listën tuaj.

Për fat të mirë, JavaScript është relativisht e lehtë për t'u mësuar, tashmë në shfletuesin tuaj për të luajtur me të, dhe megjithëse ka kohë që ekziston, po fiton shpejt popullaritet. Shumë prej jush që e kanë nominuar, kanë vënë re se fitimi juaj për para kur mësoni JavaScript është i madh, sepse mund ta përdorni menjëherë për të ndërtuar gjëra për ueb, gjë që mund të jetë shumë mirë ajo që shumë njerëz mësojnë të kodojnë.

Python

Unë gjithashtu mund të rekomandoj Python.

Pavarësisht nga një sërë problemesh të qenësishme historikisht për Python, ai vazhdon të jetë një mjet kryesor në një sërë nyjesh:

Impresionuese, apo jo? Sa i përket projekteve të mëdha dhe të njohura të shkruara në Python, këto janë monstra të tilla si:

Ju gjithashtu mund të gjeni në faqen tonë të internetit.

Programimi është një proces intensiv dhe kompleks që jo të gjithë mund ta kuptojnë. Gjuha e makinës përbëhet nga shumë algoritme dhe kompjuterët e sotëm janë pajisje kaq të avancuara sepse janë të programuar. Dhe historia e zhvillimit të softuerit nuk do të kishte qenë aq e suksesshme nëse nuk do të ishte shpikur një gjuhë e veçantë për makinat që përkthenin fjalë kyçe simbolike në kode makinerie. Le të shohim se si mori formë historia e zhvillimit të gjuhëve të programimit.

Autokodet e para u shfaqën në 1955 përmes përpjekjeve të zhvilluesve të IBM nën udhëheqjen e inxhinierit John Backus. Ishte një gjuhë e nivelit të lartë e quajtur Fortran, jo një grup komandash të thjeshta të izoluara, por një organizim i kodeve më të mëdha që u quajtën operatorë, ose gjuhë algoritmike. Për t'i përkthyer ato në kodin e makinës, u shpikën përkthyes që transformojnë algoritmet dhe e bëjnë atë të kuptueshëm për një kompjuter elektronik. Kjo ndodh në dy mënyra: interpretim dhe përmbledhje. Për shkak të thjeshtësisë së tyre, versionet e Fortran hynë shpejt në përdorim dhe i fundit prej tyre është ende një nga kompjuterët kryesorë sot.

Sidoqoftë, ky nuk është i vetmi autokod për makina. Historia e zhvillimit të gjuhëve të programimit vazhdon me krijimin e algoritmeve Algol, të cilat përdoren kryesisht në komunitetin shkencor dhe përmbajnë një numër të madh konceptesh të reja. Kjo ngjarje ndodh në vitin 1960. Dhe pak më vonë, punonjësit kureshtarë të IBM dolën me gjuhën Cobol, të orientuar drejt përdorimit në një mjedis biznesi dhe të përdorur për përpunimin e informacionit kompleks dhe voluminoz të një natyre ekonomike.

Historia e zhvillimit të gjuhëve të programimit vazhdon me profesorët e Kolegjit Dartsmouth T. Kurtz dhe J. Kemeny, të cilët zhvilluan BASIC-in e mirënjohur. Ai është shumë më i thjeshtë se Fortran, dhe për këtë arsye u përdor në Ai pati një efekt shpërthyes, duke u bërë grupi kryesor i kodeve të programimit automatik dhe duke i bërë kompjuterët pronë të përdoruesve më të zakonshëm.

Lehtësia e përdorimit dhe mundësia e komunikimit ndërveprues janë avantazhet më të rëndësishme të gjuhës BASIC. Disavantazhet përfshijnë mungesën e kufizimeve në përpilimin e programeve, gjë që shumë shpesh i ngatërron ato dhe i bën ato logjikisht të pakuptueshme. Programet e shkruara duke përdorur BASIC janë të ngadalta sepse nuk bazohen në përpilues, por në interpretues.

Sot, shkencëtarët vazhdojnë të punojnë për përmirësimin e tij dhe po përpiqen ta afrojnë atë me programin Pascal, i cili shënoi më tej historinë e zhvillimit të gjuhëve programuese. Profesori i Universitetit Politeknik të Cyrihut Niklaus Wirth konsiderohet me të drejtë krijuesi i tij. Dhe ai i dha emrin shpikjes së tij për nder të Pascal, i cili ishte projektuesi i parë i kompjuterit të parë. Kjo është një nga gjuhët programuese më të lehta dhe më të arritshme, që ju lejon të shkruani programe të qarta dhe të kuptueshme.

Historia e zhvillimit të programimit do të ishte e paplotë pa gjuhën Ada, e quajtur sipas programueses së parë femër Ada Lovelace, e bija e djersës së njohur. Është një gjuhë programimi më e avancuar dhe universale e bazuar në Pascal.

Historia e zhvillimit të softuerit ka në arsenalin e saj shumë më tepër gjuhë programimi që janë shkruar për fusha të veçanta aplikimi. Për shembull, Simul, Simkrit dhe GPSS përdoren në modelim. Gjuha FORT përdoret për të kontrolluar pajisjet. janë shkruar në gjuhën SI. Bazat e të dhënave krijohen duke përdorur gjuhën Kodasil. Logo, Robik dhe A.P. janë të përshtatshme për të mësuar programim. Ershova.

Historia e zhvillimit të programimit ende nuk është shkruar plotësisht dhe nuk ka gjasa të ndodhë në të ardhmen e afërt.

Një nga idetë më revolucionare që çoi në krijimin e kompjuterëve dixhitalë automatikë ishte ideja e shprehur në vitet 20 të shekullit të 19-të nga Charles Babidge për regjistrimin paraprak të rendit të funksionimit të makinës për zbatimin e mëvonshëm automatik të llogaritjeve - një program. . Dhe, megjithëse regjistrimi i programeve në kartat me grushta të përdorura nga Babyge, i shpikur për të kontrolluar makina të tilla nga shpikësi francez Joseph Marie Jacquard, teknikisht nuk ka asgjë të përbashkët me metodat moderne të ruajtjes së programeve në një PC, parimi këtu është në thelb i njëjtë. Nga ky moment fillon historia e programimit.
Ada Levellace, një bashkëkohëse e Babidge, quhet programuesja e parë në botë. Ajo teorikisht zhvilloi disa teknika për të kontrolluar sekuencën e llogaritjeve që përdoren ende sot në programim. Ajo gjithashtu përshkroi një nga ndërtimet më të rëndësishme të pothuajse çdo gjuhe programimi moderne - një lak.

Një moment revolucionar në historinë e gjuhëve të programimit ishte shfaqja e një sistemi për kodimin e udhëzimeve të makinës duke përdorur karaktere speciale, të propozuar nga John Mauchly. Sistemi i kodimit që ai propozoi frymëzoi një nga bashkëpunëtorët e tij, Grace Murray Hopper. Ndërsa punonte në kompjuterin Mark-1, asaj dhe grupit të saj iu desh të përballeshin me shumë probleme dhe gjithçka që dolën ishte për herë të parë. Në veçanti, ata dolën me nënprograme. Dhe një tjetër koncept themelor i teknikës së programimit u prezantua për herë të parë nga Hopper dhe grupi i saj: "debugging".
Në fund të viteve 40, J. Mauchly krijoi një sistem të quajtur "Short Code", i cili ishte një gjuhë programimi primitive e nivelit të lartë. Në të, programuesi shkruajti problemin që do të zgjidhej në formën e formulave matematikore dhe më pas, duke përdorur një tabelë të veçantë, përkthente karakter pas karakteri, duke i kthyer këto formula në kode me dy shkronja. Më pas, një program i veçantë kompjuterik i konvertoi këto kode në kod binar të makinës. Sistemi i zhvilluar nga J. Mauchly konsiderohet si një nga interpretuesit e parë primitivë.

Tashmë në vitin 1951, Hopper krijoi përpiluesin e parë në botë dhe ajo gjithashtu prezantoi këtë term. Përpiluesi Hopper kreu funksionin e kombinimit të komandave dhe, gjatë përkthimit, organizoi nënprograme, ndau memorien e kompjuterit dhe konvertoi komandat e nivelit të lartë (në atë kohë pseudokodet) në komanda makinerie. "Nënproutinat janë në bibliotekë (të kompjuterit) dhe kur zgjedh material nga biblioteka, quhet përmbledhje," kështu e shpjegoi ajo origjinën e termit që shpiku.

Në vitin 1954, një grup i udhëhequr nga G. Hopper zhvilloi një sistem që përfshinte një gjuhë programimi dhe një përpilues, i cili më vonë u quajt Math-Matic. Me Math-Matic të përfunduar me sukses, Hopper dhe ekipi i saj filluan të zhvillojnë një gjuhë dhe përpilues të ri që do t'i lejonte përdoruesit të programonin në një gjuhë të ngjashme me anglishten e zakonshme. Në vitin 1958, u shfaq përpiluesi Flow-Matic. Përpiluesi Flow-Matic ishte gjuha e parë për detyrat komerciale të përpunimit të të dhënave.
Zhvillimet në këtë drejtim çuan në krijimin e gjuhës COBOL (Common Business Oriented Language). Është krijuar në vitin 1960. Në këtë gjuhë, krahasuar me Fortran dhe Algol, mjetet matematikore janë më pak të zhvilluara, por mjetet e përpunimit të tekstit dhe organizimi i daljes së të dhënave në formën e dokumentit të kërkuar janë të zhvilluara mirë. Ajo ishte menduar si gjuha kryesore për përpunimin masiv të të dhënave në fushat e menaxhimit dhe biznesit.

Mesi i viteve 50 karakterizohet nga një përparim i shpejtë në fushën e programimit. Roli i programimit në komandat e makinës filloi të zvogëlohej. Llojet e reja të gjuhëve të programimit filluan të shfaqen, duke vepruar si një ndërmjetës midis makinave dhe programuesve. I pari dhe një nga më të përhapurit ishte Fortran (FORTRAN, nga FORmula TRANslator - përkthyes i formulave), i zhvilluar nga një grup programuesish IBM në 1954 (versioni i parë). Kjo gjuhë ishte e fokusuar në llogaritjet shkencore dhe teknike të një natyre matematikore dhe është një gjuhë programimi klasike për zgjidhjen e problemeve matematikore dhe inxhinierike në një PC.
Për gjuhët e para të programimit të nivelit të lartë, orientimi lëndor i gjuhëve ishte një tipar karakteristik.
Algol zë një vend të veçantë midis gjuhëve të programimit, versioni i parë i të cilave u shfaq në 1958. Një nga zhvilluesit e Algol ishte "babai" i Fortran, John Backus. Emri ALGOrithmic Language thekson faktin se është menduar për të shkruar algoritme. Falë strukturës së tij të qartë logjike, Algol është bërë një mjet standard për të shkruar algoritme në literaturën shkencore dhe teknike.

Në mesin e viteve '60, Thomas Kurtz dhe John Kameny (punonjës të departamentit të matematikës në Kolegjin Dartmouth) krijuan një gjuhë të specializuar programimi që përbëhej nga fjalë të thjeshta angleze. Gjuha e re u quajt "Kodi i udhëzimeve simbolike me qëllime fillestare, ose shkurt BASIC". Viti i lindjes së gjuhës së re mund të konsiderohet 1964. Sot, gjuha universale BASIC (e cila ka shumë versione) ka fituar një popullaritet të madh dhe është e përhapur në mesin e përdoruesve të PC të kategorive të ndryshme në të gjithë botën. Kjo u lehtësua shumë nga fakti se BASIC filloi të përdoret si gjuhë e integruar e kompjuterëve personalë, përdorimi i gjerë i të cilave filloi në fund të viteve '70. Megjithatë, BASIC është një gjuhë e pastrukturuar, dhe për këtë arsye është e dobët për mësimdhënien e programimit cilësor. Për të qenë të drejtë, duhet të theksohet se versionet më të fundit të BASIC për PC (për shembull, QBasic) janë bërë më strukturore dhe, në aftësitë e tyre vizuale, po afrohen me gjuhë të tilla si Pascal.

Zhvilluesit i fokusuan gjuhët në klasa të ndryshme detyrash, i lidhën ato në një shkallë ose në një tjetër me një arkitekturë specifike të PC-së dhe zbatuan shijet dhe idetë personale. Në vitet '60, u bënë përpjekje për të kapërcyer këtë "mosmarrëveshje" duke krijuar një gjuhë programimi universal. Mendimi i parë i këtij drejtimi ishte PL/1 (Programm Language One), i zhvilluar nga IBM në 1967. Kjo gjuhë pretendonte se ishte në gjendje të zgjidhte çdo problem: llogaritjen, përpunimin e tekstit, grumbullimin dhe rikthimin e informacionit. Sidoqoftë, doli të ishte shumë komplekse, përkthyesi nga ai nuk ishte mjaftueshëm optimal dhe përmbante një numër gabimesh të pazbuluara.
Sidoqoftë, linja drejt universalizimit të gjuhëve u mbështet. Gjuhët e vjetra u modernizuan në versione universale: ALGOL-68 (1968), Fortran-77. Supozohej se gjuhë të tilla do të zhvilloheshin dhe përmirësoheshin dhe do të fillonin të zhvendosnin të gjitha të tjerat. Megjithatë, asnjë nga këto përpjekje nuk ishte e suksesshme.

Gjuha LISP u shfaq në vitin 1965. Koncepti kryesor në të është koncepti i funksioneve të përcaktuara në mënyrë rekursive. Meqenëse është vërtetuar se çdo algoritëm mund të përshkruhet duke përdorur një grup të caktuar funksionesh rekursive, LISP është në thelb një gjuhë universale. Me ndihmën e tij, një PC mund të simulojë procese mjaft komplekse, në veçanti, aktivitetin intelektual të njerëzve.
Prolog u zhvillua në Francë në 1972 për të zgjidhur problemet në "inteligjencën artificiale". Prologu ju lejon të përshkruani zyrtarisht deklarata të ndryshme, logjikën e arsyetimit dhe detyron PC-në të japë përgjigje për pyetjet e bëra.
Një ngjarje e rëndësishme në historinë e gjuhëve të programimit ishte krijimi i gjuhës Pascal në 1971. Autori i saj është shkencëtari zviceran Niklaus Wirth. Wirth e quajti atë sipas matematikanit dhe filozofit fetar të madh francez të shekullit të 17-të, Blaise Pascal, i cili shpiku pajisjen e parë shtesë, prandaj gjuha e re u emërua pas tij. Kjo gjuhë fillimisht u zhvillua si një gjuhë edukative për programim të strukturuar dhe, në të vërtetë, tani është një nga gjuhët kryesore për mësimdhënien e programimit në shkolla dhe universitete.

Në vitin 1975, dy ngjarje u bënë piketa në historinë e programimit - Bill Gates dhe Paul Allen njoftuan veten duke zhvilluar versionin e tyre të BASIC, dhe Wirth dhe Jensen lëshuan përshkrimin klasik të gjuhës "Manuali i Përdoruesit dhe Raporti i Pascal".

Suksesi jo më pak mbresëlënës, përfshirë financiarisht, u arrit nga Philip Kahn, një francez që zhvilloi sistemin Turbo-Pascal në 1983. Thelbi i idesë së tij ishte të kombinonte fazat e njëpasnjëshme të përpunimit të programit - përpilimi, redaktimi i lidhjeve, korrigjimi dhe diagnostikimi i gabimeve - në një ndërfaqe të vetme. Turbo Pascal nuk është vetëm një gjuhë dhe një përkthyes prej saj, por edhe një guaskë operative që i lejon përdoruesit të punojë me lehtësi në Pascal. Kjo gjuhë ka shkuar përtej qëllimit të saj arsimor dhe është kthyer në një gjuhë programimi profesionale me aftësi universale. Për shkak të këtyre avantazheve, Pascal është bërë burimi i shumë gjuhëve moderne të programimit. Që atëherë, disa versione të Turbo Pascal janë shfaqur, më i fundit është i shtati.
Borland/Inprise përfundoi linjën e produkteve Turbo Pascal dhe vazhdoi me lëshimin e një sistemi zhvillimi vizual për Windows - Delphi.

Gjuha C (versioni i parë - 1972), e cila është shumë e popullarizuar në mesin e zhvilluesve të sistemeve softuerike (përfshirë sistemet operative), la një gjurmë të madhe në programimin modern. Kjo gjuhë u krijua si një gjuhë instrumentale për zhvillimin e sistemeve operative, përkthyesve, bazave të të dhënave dhe programeve të tjera të sistemit dhe aplikimit. C kombinon të dyja veçoritë e një gjuhe të nivelit të lartë dhe të një gjuhe të orientuar nga makina, duke i lejuar programuesit qasje në të gjitha burimet e makinës, të cilat gjuhë të tilla si BASIC dhe Pascal nuk i ofrojnë.
Periudha nga fundi i viteve '60 deri në fillim të viteve '80 u karakterizua nga një rritje e shpejtë e numrit të gjuhëve të ndryshme programuese që shoqëruan krizën e softuerit. Në janar 1975, Pentagoni vendosi të vendosë rregull në kaosin e përkthyesve dhe krijoi një komitet që u urdhërua të zhvillonte një gjuhë universale. Në maj 1979, u shpall fituesi - një grup shkencëtarësh të udhëhequr nga Jean Ikhbia. Gjuha fituese u pagëzua Ada, për nder të Augusta Ada Levellace. Kjo gjuhë është menduar për krijimin dhe mirëmbajtjen afatgjatë (afatgjatë) të sistemeve të mëdha softuerike, ajo lejon përpunimin paralel dhe kontrollin e procesit në kohë reale.

Për shumë vite, softueri u ndërtua në bazë të gjuhëve operacionale dhe procedurale si Fortran, BASIC, Pascal, Ada, C. Ndërsa gjuhët e programimit evoluan, qasje të tjera, thelbësisht të ndryshme për krijimin e programeve u përhapën gjerësisht.
Ekzistojnë një numër i madh i klasifikimeve të gjuhëve programuese sipas kritereve të ndryshme. Klasifikimet më të zakonshme janë:
 gjuhë programimi të nivelit të lartë (Pascal, BASIC) dhe të nivelit të ulët (Assembler);
 shtypur rreptësisht (Pascal) dhe shtypur lirshëm (BASIC);
 me dhe pa mbështetje për programim të orientuar drejt objektit (C++), etj.

Le të shqyrtojmë një klasifikim tjetër. Gjuhët e programimit ndahen në:
1) Gjuhët e orientuara nga makina:
- gjuhët e makinës;
- gjuhët simbolike të kodimit;
 kodet automatike;
- makro.
2) Gjuhët e pavarura nga makina:
- gjuhë të orientuara drejt problemit;
- gjuhë universale;
- gjuhë ndërvepruese;
- gjuhët joprocedurale.

Gjuhët e orientuara nga makina

Gjuhët e orientuara nga makina janë gjuhë, grupet e operatorëve dhe mjeteve grafike të të cilave varen ndjeshëm nga karakteristikat e PC (gjuha e brendshme, struktura e kujtesës, etj.). Gjuhët e orientuara nga makina kanë karakteristikat e mëposhtme:
 cilësi e lartë e programeve të krijuara (kompaktësia dhe shpejtësia e ekzekutimit);
 aftësia për të përdorur burime të veçanta harduerike;
 parashikueshmëria e kodit të objektit dhe rendit të memories;
 për të krijuar programe efektive, duhet të njihni sistemin e komandës dhe veçoritë e funksionimit të këtij PC;
 procesi intensiv i punës i shkrimit të programeve (veçanërisht në gjuhët e makinerisë dhe SHA), i cili mbrohet dobët nga gabimet;
 shpejtësi të ulët programimi;
 pamundësia e përdorimit të drejtpërdrejtë të programeve të përpiluara në këto gjuhë në lloje të tjera kompjuterash.
Gjuhët e orientuara nga makina ndahen në klasa sipas shkallës së programimit automatik.

Gjuha e makinës

Një kompjuter individual ka gjuhën e tij specifike të makinerisë (në tekstin e mëtejmë referuar si ML), është e përshkruar për të kryer operacione të specifikuara në operandët që ata përcaktojnë, prandaj ML është një komande. Komanda raporton informacione për vendndodhjen e operandëve dhe llojin e operacionit që po kryhet.
Në modelet e reja të PC-ve, ka një tendencë për të përmirësuar gjuhët e brendshme në harduer për të zbatuar komanda më komplekse që janë më afër në veprimet e tyre funksionale me operatorët e gjuhëve të programimit algoritmik.

Gjuhët e kodimit simbolik

Gjuhët e kodimit simbolik (në tekstin e mëtejmë të referuara si SKL), ashtu si ML, janë gjuhë komanduese. Sidoqoftë, kodet dhe adresat e funksionimit në udhëzimet e makinës, të cilat janë një sekuencë e shifrave binare (në kodin e brendshëm) ose oktal (shpesh përdoren gjatë shkrimit të programeve), zëvendësohen në YSC me simbole (identifikues), forma e shkrimit të të cilave ndihmon programuesin. kujtoni më lehtë përmbajtjen semantike të veprimit. Kjo siguron një reduktim të ndjeshëm të numrit të gabimeve gjatë përpilimit të programeve.
Përdorimi i adresave simbolike është hapi i parë për të krijuar një YASK. Komandat e PC përmbajnë adresa simbolike në vend të adresave të vërteta (fizike). Bazuar në rezultatet e programit të përpiluar, përcaktohet numri i kërkuar i qelizave për ruajtjen e vlerave fillestare të ndërmjetme dhe rezultuese. Caktimi i adresave, i kryer veçmas nga përpilimi i programit në adresa simbolike, mund të kryhet nga një programues më pak i kualifikuar ose një program i veçantë, i cili lehtëson shumë punën e programuesit.

Autokodet

Ka gjuhë që përfshijnë të gjitha aftësitë e YSC, përmes futjes së zgjeruar të komandave makro - ato quhen autokode.

Në programe të ndryshme ka disa sekuenca komanduese mjaft të përdorura që korrespondojnë me procedura të caktuara për konvertimin e informacionit. Zbatimi efektiv i procedurave të tilla sigurohet nga hartimi i tyre në formën e komandave të veçanta makro dhe përfshirja e këtyre të fundit në një gjuhë programimi të aksesueshme për programuesin. Komandat makro përkthehen në komanda të makinës në dy mënyra - rregullimi dhe gjenerimi. Sistemi i skenës përmban "skelete" - një seri komandash që zbatojnë funksionin e kërkuar, të treguar nga një komandë makro. Instruksionet makro sigurojnë transferimin e parametrave aktualë, të cilët, gjatë procesit të përkthimit, futen në "skeletin" e programit, duke e kthyer atë në një program të vërtetë makine.
Në një sistem gjenerimi, ekzistojnë programe speciale që analizojnë komandën makro, përcaktojnë se cili funksion duhet të ekzekutohet dhe formojnë sekuencën e nevojshme të komandave që zbatojnë këtë funksion.
Të dy këto sisteme përdorin përkthyes të JSC dhe një grup komandash makro, të cilat janë gjithashtu operatorë autokodi.
Autokodet e zhvilluara quhen assemblers. Programet e shërbimit, etj., zakonisht shkruhen në gjuhët e asamblesë.

Makro

Një gjuhë që është një mjet për zëvendësimin e një sekuence karakteresh që përshkruajnë ekzekutimin e veprimeve të kërkuara kompjuterike në një formë më të kondensuar quhet makro (mjet zëvendësimi).
Në thelb, një makro është krijuar për të shkurtuar regjistrimin e programit origjinal. Komponenti i softuerit që mundëson funksionimin e makrove quhet makroprocesor. Makroprocesori merr tekstin makro-përcaktues dhe burimor. Përgjigja e makroprocesorit ndaj një thirrjeje është të lëshojë një tekst në dalje.
Makrot mund të punojnë në mënyrë të barabartë si me programet ashtu edhe me të dhënat.

Gjuhë të pavarura nga makina

Gjuhët e pavarura nga makina janë një mjet për të përshkruar algoritme për zgjidhjen e problemeve dhe informacionit që do të përpunohet. Ato janë të lehta për t'u përdorur për një gamë të gjerë përdoruesish dhe nuk kërkojnë që ata të dinë specifikat e organizimit të funksionimit të një PC.
Gjuhë të tilla quhen gjuhë programimi të nivelit të lartë. Programet e përpiluara në gjuhë të tilla janë sekuenca deklaratash të strukturuara sipas rregullave të shikimit të gjuhës (detyrat, segmentet, blloqet, etj.). Operatorët e gjuhës përshkruajnë veprimet që duhet të kryejë sistemi pas përkthimit të programit në ML.
Kështu, sekuencat e komandave (procedurat, nënprogramet), të përdorura shpesh në programet e makinerive, përfaqësohen në gjuhët e nivelit të lartë nga deklarata individuale. Programuesi ishte në gjendje të mos përshkruante në detaje procesin llogaritës në nivelin e udhëzimeve të makinës, por të fokusohej në veçoritë kryesore të algoritmit.

Gjuhët e orientuara nga problemi

Me zgjerimin e fushave të aplikimit të teknologjisë kompjuterike, lindi nevoja për të zyrtarizuar paraqitjen e formulimit dhe zgjidhjes së klasave të reja të problemeve. Ishte e nevojshme të krijoheshin gjuhë programimi që, duke përdorur shënime dhe terminologji në këtë fushë, do të bënin të mundur përshkrimin e algoritmeve të kërkuara të zgjidhjes për problemet e caktuara. Këto gjuhë janë të përqendruara në zgjidhjen e problemeve specifike dhe duhet t'i ofrojnë programuesit mjete që i lejojnë ata të formulojnë shkurtimisht dhe qartë një problem dhe të marrin rezultate në formën e kërkuar.
Ka shumë gjuhë problematike, për shembull:
- Fortran, Algol - gjuhë të krijuara për zgjidhjen e problemeve matematikore;
- Simula, Slang - për modelim;
- Lisp, Snoball - për të punuar me strukturat e listave.

Gjuhët universale

Gjuhët universale u krijuan për një gamë të gjerë detyrash: komerciale, shkencore, modeluese, etj. Gjuha e parë universale u zhvillua nga IBM, e cila u bë PL/1 në sekuencën e gjuhëve. Gjuha e dytë më e fuqishme universale quhet ALGOL-68.

Gjuhët bisedore

Shfaqja e aftësive të reja teknike ka vendosur një detyrë për programuesit e sistemit - të krijojnë mjete softuerike që sigurojnë ndërveprim të shpejtë midis një personi dhe një kompjuteri, ato quhen gjuhë ndërvepruese.
Kjo punë u krye në dy drejtime. Gjuhët speciale të kontrollit u krijuan për të siguruar ndikim operacional në përfundimin e detyrave, të cilat u përpiluan në çdo gjuhë të pazhvilluar më parë (jo dialogu). Gjithashtu u zhvilluan gjuhë që, përveç qëllimeve të menaxhimit, do të ofronin një përshkrim të algoritmeve për zgjidhjen e problemeve.
Nevoja për të siguruar ndërveprim të shpejtë me përdoruesin kërkonte ruajtjen e një kopjeje të programit burim në memorien e kompjuterit edhe pas marrjes së programit të objektit në kodin e makinës. Kur bëni ndryshime në një program duke përdorur një gjuhë ndërvepruese, sistemi i programimit, duke përdorur tabela të veçanta, vendos marrëdhënien midis strukturave të programeve burimore dhe objektit. Kjo ju lejon të bëni ndryshimet e nevojshme editoriale në programin e objektit.
Një shembull i gjuhëve të bisedës është BASIC.

Gjuhët joprocedurale

Gjuhët joprocedurale përbëjnë një grup gjuhësh që përshkruajnë organizimin e të dhënave të përpunuara duke përdorur algoritme fikse (gjuhët tabelare dhe gjeneruesit e raporteve) dhe gjuhët për komunikimin me sistemet operative.
Duke ju lejuar të përshkruani qartë detyrën dhe veprimet e nevojshme për ta zgjidhur atë, tabelat e vendimeve bëjnë të mundur që të përcaktoni qartë se cilat kushte duhet të plotësohen përpara se të kaloni në ndonjë veprim. Një tabelë vendimesh, që përshkruan një situatë të caktuar, përmban të gjitha bllok diagramet e mundshme të zbatimeve të algoritmeve të zgjidhjes.
Metodat tabelare zotërohen lehtësisht nga specialistë të çdo profesioni. Programet e shkruara në gjuhën tabelare përshkruajnë në mënyrë të përshtatshme situata komplekse që lindin gjatë analizës së sistemit.
Gjuhët e programimit shërbejnë për qëllime të ndryshme, dhe zgjedhja e tyre përcaktohet nga lehtësia e përdorimit, përshtatshmëria për një kompjuter të caktuar dhe një detyrë të caktuar. Dhe detyrat për një kompjuter mund të jenë shumë të ndryshme: llogaritëse, ekonomike, grafike, eksperte, etj. Kjo shumëllojshmëri problemesh të zgjidhura nga një kompjuter përcakton shumëllojshmërinë e gjuhëve të programimit. Në programim, rezultatet më të mira arrihen me një qasje individuale bazuar në klasën e problemit, nivelin dhe interesat e programuesit.

Historia e krijimit të gjuhës programuese Basic dhe Visual Basic

Gjuha e programimit Basic u krijua në vitin 1964 nga dy profesorë të Kolegjit Dartmouth, John Kenemi dhe Thomas Kurtz, për t'u mësuar aftësitë programuese studentëve. Gjuha doli të ishte aq e thjeshtë dhe e kuptueshme, saqë pas ca kohësh filloi të përdoret në institucione të tjera arsimore. Në vitin 1975, me ardhjen e mikrokompjuterëve të parë, stafetën bazë e morën Bill Gates dhe Paul Allen, themeluesit e Microsoft. Ishin ata që krijuan një version të ri të Basic për kompjuterët e parë Altair (MITS Altairs), të aftë të funksionojnë në 4KB RAM. Me kalimin e kohës, ishte ky version që u shndërrua në një nga gjuhët më të njohura të programimit në botë. Në rrugën drejt majës së lavdisë, Basic pati shumë vështirësi, të cilat i kapërcente gjithmonë me nder dhe kur u shfaqën kompjuterët e parë personalë IBM PC, ai u bë standardi në programim, por në formën e GW-Basic. Pastaj ishte Turbo Basic, QuickBasic, Basic PDS, por gjithmonë kur zhvillohej një version i ri i gjuhës, përputhshmëria me versionet e mëparshme u ruajt dhe një program i shkruar për pothuajse të parën Basic mund të funksiononte mirë (me ndryshime të vogla) në versionet pasuese të kësaj. gjuhe. Por kohët e reja kanë ardhur, dhe në fillim të viteve '90 sistemi operativ Microsoft Windows u shfaq me një ndërfaqe të re grafike të përdoruesit (GUI).

Jeta e programuesve është bërë ferr. Për të krijuar një program të thjeshtë, duhet të shkruani disa faqe kodi: të krijoni meny dhe dritare, të ndryshoni fontet, të pastroni memorien, butonat "vizato", etj. Sidoqoftë, avantazhet e ndërfaqes së re ishin aq të pamohueshme sa që tashmë versioni i tretë i këtij sistemi operativ u bë standardi de fakto për një kompjuter personal. Në këtë kohë, disa projekte paralele ishin duke u zhvilluar brenda Microsoft për të krijuar një gjuhë të re programimi për Windows. Dhe në 1991, nën sloganin "tani edhe programuesit fillestarë mund të krijojnë lehtësisht aplikacione për Windows", u shfaq versioni i parë i mjetit të ri Microsoft Visual Basic. Në atë moment, Microsoft vlerësoi në mënyrë mjaft modeste aftësitë e këtij sistemi, duke e synuar atë kryesisht në kategorinë e programuesve fillestarë dhe joprofesionistë. Detyra kryesore atëherë ishte nxjerrja në treg e një mjeti të thjeshtë dhe të përshtatshëm zhvillimi në mjedisin e atëhershëm mjaft të ri Windows, programimi në të cilin ishte një problem edhe për profesionistët me përvojë. Sistemi i programimit i krijuar nga zhvilluesit e Visual Basic bëri të mundur "tërheqjen" nga struktura komplekse e brendshme e Windows dhe krijimin e programeve nga "kube", si në një grup ndërtimi për fëmijë. Menytë, dritaret, listat, butonat, fushat e futjes së tekstit dhe elementë të tjerë të ndërfaqes së Windows u shtuan në program duke përdorur operacione të thjeshta tërhiq dhe lësho.

Programuesit e VB krijuan programin e tyre të parë brenda pak minutash nga fillimi i mësimit të kësaj gjuhe! Për më tepër, Visual Basic i lejoi zhvilluesit të krijonin objekte të reja "kubike" që mund të përdoren gjithashtu në programe së bashku me ato standarde. Dhe megjithëse shumë programues C nënqeshën në heshtje me përpjekjet e Microsoft për të bërë një mjet të thjeshtë dhe të kuptueshëm për zhvillimin e programeve të Windows, Visual Basic filloi marshimin e tij fitimtar nëpër botë dhe asgjë nuk mund ta ndalonte këtë proces. Barrierat përfundimtare ranë në 1994 me lëshimin e Visual Basic për Aplikime. Ishte në këtë kohë, pas përfshirjes së VBA në Microsoft Office, Basic filloi të shndërrohej në një nga standardet kryesore të programimit për Windows. Për Microsoft, gjuha Basic ka një rëndësi të veçantë në një kohë, zhvillimi i një versioni Basic për kompjuterin Altair 8800 shënoi fillimin e karrierës së programimit të themeluesve të tij, Bill Gates dhe Paul Allen. Prandaj, në një kohë - në 1989, kur erdhi koha për të shpërndarë drejtimet kryesore të krijimit të mjediseve të zhvillimit në gjuhë të ndryshme programimi midis kompanive të ndryshme, Microsoft mbajti QuickBasic - një mjedis për zhvillimin e programeve në Basic, duke refuzuar, për shembull, më tej punoni në gjuhën e programimit Pascal, duke ia lënë Borlandit, i cili, nga ana tjetër, ndaloi punën në versionin e tij të Basic (Pascal më vonë u bë gjuha Delphi).

Fillimisht i menduar si një lodër, Visual Basic i Microsoft-it pushtoi botën e programimit. Popullariteti i tij është për shkak të dy arsyeve: thjeshtësia relative dhe produktiviteti. Programet VB janë më të ngadalta se homologët e tyre C/C++, por ato janë ende mjaft të shpejta për shumë qëllime biznesi dhe kërkojnë shumë më pak kohë zhvillimi. Format ishin i njëjti abstraksion që kursente përpjekje që VB u ofroi programuesve të Windows. VB IDE bëri të mundur dizajnimin e dritareve në mënyrë grafike duke zvarritur kontrolle të tilla si butonat dhe kutitë e listave nga shiriti i veglave në një formë. Pasi të jeni të kënaqur me pamjen e formularit, mund të kaloni në anën e kodit dhe të shkruani mbajtësit e ngjarjeve për çdo kontroll formulari.

Kështu, zhvillimi i një aplikacioni në VB konsistonte në krijimin e disa formularëve që flisnin me njëri-tjetrin dhe mundësisht konsultoheshin me një bazë të dhënash për informacionin e nevojshëm. Forma që rezulton doli të ishte një dritare, e cila ofronte një mënyrë shumë më të përshtatshme për të përdorur teknikat e dritareve. VB ka reduktuar gabimet duke hequr disa sintaksë të fshehur C/C++. Me përjashtim të rasteve të veçanta, shprehjet kufizoheshin në një rresht të vetëm kodi dhe variablat duhej të deklaroheshin dhe inicializoheshin në rreshta të veçantë kodi. Operatorët e caktimit dhe krahasimit përdorën të njëjtin simbol, por gramatika VB kërkonte që këta operatorë të përdoreshin në një mënyrë që ta bënte të qartë qëllimin e tyre.

Ndoshta më e rëndësishmja, nuk kishte tregues - një kërkesë e Bill Gates që nga versionet e para të Microsoft BASIC. Megjithëse treguesit janë të dobishëm sepse lejojnë qasje të drejtpërdrejtë në memorie në çdo adresë, përdorimi i tyre është i prirur për gabime nëse nuk përdoren me kujdes. Kërkesa e BASIC për thjeshtësi gramatikore buron nga fakti se ajo u krijua fillimisht si një gjuhë për mësim: Kodi i Udhëzimit Simbolik të Gjithëpërdorshëm "Beginner". Versioni 6 VB është tashmë një gjuhë e fuqishme që mund të përdoret për të krijuar aplikacione të shpërndara duke përdorur Komponentët COM dhe Microsoft Transaction Server, Microsoft propozoi një qasje me tre nivele për arkitekturat klient-server, në të cilat ndërfaqet e hollë të përdoruesit ndërveprojnë me komponentët e largët të VB për të marrë të dhëna nga një bazë të dhënash ose një makinë tjetër.

Duke përdorur VBScript dhe VBA (VB për aplikacione), mund të shkruani skripta për shfletues ueb dhe të automatizoni aplikacionet e Microsoft Office. Për më tepër, VB6 mund të përdoret për të krijuar kontrolle Active-X që funksionojnë me Internet Explorer, edhe pse kjo bëhet rrallë sepse kërkon instalimin e DLL të VB Runtime në kompjuterin e klientit të Internetit. Duke filluar me VB5, programet VB u përpiluan në kodin e makinës, por ato bazoheshin në përdorimin e një DLL që ofronte funksione të përdorura zakonisht dhe zbatonte aftësitë e objektit të VB. Ajo që është interesante është se përpiluesi VB përdor modalitetin multi-pass për përkthim, dhe në fund të fundit mbështetet në përpiluesin Microsoft C++ për të prodhuar daljen e kodit të makinës pas përpilimit në një gjuhë të ndërmjetme. Parametrat e .NET janë të dukshme në këtë veçori të VB - përdorimi i një biblioteke në kohëzgjatjeje dhe një prapavijë C++.

Historia e krijimit të gjuhës programuese C#

Gjuha C# lindi në qershor 2000 si rezultat i punës së mundimshme të një grupi të madh zhvilluesish të Microsoft-it të udhëhequr nga Anders Hejlsberg. Ky njeri njihet si autori i një prej gjuhëve të para të programimit të përpiluar për kompjuterët personalë IBM - Turbo Pascal. Ndoshta, në territorin e ish-Bashkimit Sovjetik, shumë zhvillues me përvojë dhe thjesht njerëz që studionin programim në një formë ose në një tjetër në universitete, përjetuan sharmin dhe lehtësinë e përdorimit të këtij produkti. Për më tepër, ndërsa punonte në Borland Corporation, Anders Hejlsberg u bë i famshëm për krijimin e mjedisit të integruar Delphi (ai e drejtoi këtë projekt deri në lëshimin e versionit 4.0).
Nuk ishte rastësi që shfaqja e gjuhës C# dhe iniciativës .NET ndodhi në fillim të verës së vitit 2000. Ishte në këtë moment që Microsoft përgatiti versione industriale të teknologjive dhe zgjidhjeve të reja të komponentëve në fushën e mesazheve dhe shkëmbimit të të dhënave, si si dhe krijimin e aplikacioneve të internetit (COM+, ASP+, ADO+ , SOAP, Biztalk Framework). Pa dyshim, mënyra më e mirë për të promovuar këto produkte të reja është krijimi i një pakete mjetesh për zhvilluesit me mbështetjen e tyre të plotë. Ky është një nga qëllimet kryesore të gjuhës së re C#. Përveç kësaj, Microsoft nuk mund të zgjeronte më të njëjtat mjete dhe gjuhë zhvillimi, duke i bërë ato gjithnjë e më komplekse për të përmbushur kërkesat kontradiktore të mbështetjes së pajisjeve moderne dhe mbajtjes së përputhshmërisë së prapambetur me ato produkte të krijuara në fillim të viteve 1990. gjatë shfaqjes së parë të Windows. Vjen një moment kur është e nevojshme të fillohet nga e para për të krijuar një grup të thjeshtë por kompleks gjuhësh, mjedisesh dhe mjetesh zhvillimi që do t'i lejojnë zhvilluesit të krijojë lehtësisht produkte softuerike moderne.

C# dhe .NET janë pika e fillimit. Për ta thënë thjesht, .NET është një platformë e re, një API e re për programim në Windows dhe C# është një gjuhë e re e krijuar nga themeli për të punuar me atë platformë dhe për të përfituar plotësisht nga përparimi i mjediseve të zhvillimit dhe të kuptuarit e parimeve të programimit të orientuar drejt objekteve për 20 vitet e fundit.
Duhet të theksohet se përputhshmëria e prapambetur nuk humbet. Programet ekzistuese do të ekzekutohen dhe platforma .NET është krijuar për të punuar me softuerin ekzistues. Komunikimi midis komponentëve në Windows tani bëhet pothuajse tërësisht duke përdorur COM. Me këtë në mendje, .NET ka aftësinë (a) të krijojë mbështjellës rreth komponentëve ekzistues COM në mënyrë që komponentët .NET të mund të flasin me ta dhe (b) të krijojë mbështjellës rreth komponentëve .NET në mënyrë që të duken si komponentë të rregullt COM.

Autorët e C# u përpoqën të krijonin një gjuhë që kombinon thjeshtësinë dhe ekspresivitetin e gjuhëve moderne të orientuara nga objekti (si Java) me pasurinë dhe fuqinë e C++. Sipas Anders Hejlsberg, C# huazon shumicën e sintaksës së saj nga C++. Në veçanti, ai përmban lloje të tilla të përshtatshme të të dhënave si strukturat dhe numërimet (një pasardhës tjetër i C++ - Java - i mungojnë këto elemente, gjë që krijon disa shqetësime gjatë programimit). Konstruktet sintaksore C# trashëgohen jo vetëm nga C++, por edhe nga Visual Basic. Për shembull, C#, si Visual Basic, përdor vetitë e klasës. Ashtu si C++, C# lejon mbingarkimin e operatorit për llojet që krijoni (Java nuk mbështet asnjërën nga veçoritë). C# është në fakt një hibrid i gjuhëve të ndryshme. Në të njëjtën kohë, C# është sintaktikisht jo më pak (nëse jo më shumë) i pastër se Java, po aq i thjeshtë sa Visual Basic dhe ka pothuajse të njëjtën fuqi dhe fleksibilitet si C++.

Karakteristikat e C#:

Një grup i plotë dhe i mirëpërcaktuar i llojeve bazë.
- Mbështetje e integruar për gjenerimin automatik të dokumentacionit XML. Lëshimi automatik i memories së alokuar në mënyrë dinamike.
- Aftësia për të shënuar klasa dhe metoda me atribute të përcaktuara nga përdoruesi. Kjo mund të jetë e dobishme për dokumentacionin dhe mund të ndikojë në procesin e përpilimit (për shembull, mund të shënoni metoda që duhet të përpilohen vetëm në modalitetin e korrigjimit).
- Qasje e plotë në bibliotekën e klasës bazë .NET, si dhe akses të lehtë në API të Windows (nëse keni vërtet nevojë për të).
- Treguesit dhe aksesi i drejtpërdrejtë i memories, nëse është e nevojshme. Sidoqoftë, gjuha është krijuar në atë mënyrë që pothuajse në të gjitha rastet mund të bëni pa të.
- Mbështetje për vetitë dhe ngjarjet e stilit VB.
- Lehtë për t'u ndryshuar çelësat e përpilimit. Ju lejon të merrni ekzekutues ose biblioteka të komponentëve .NET që mund të thirren me kod tjetër në të njëjtën mënyrë si kontrollet ActiveX (komponentët COM).
- Aftësia për të përdorur C# për të shkruar faqe web dinamike ASP.NET.

Një fushë për të cilën kjo gjuhë nuk është menduar janë programet kritike për kohën dhe me performancë të lartë, ku ka rëndësi nëse një cikli kërkon 1000 ose 1050 cikle makinerie për t'u ekzekutuar dhe burimet duhet të lëshohen menjëherë. C++ mbetet gjuha më e mirë e nivelit të ulët në këtë fushë. C#-së i mungojnë disa veçori kryesore të nevojshme për të krijuar aplikacione me performancë të lartë, të tilla si funksionet inline dhe destruktorët që garantohen të ekzekutohen në pika të caktuara të kodit. Kjo gjuhë përdoret gjithashtu në mënyrë aktive për të krijuar video lojëra moderne, për shembull, loja Battlefield 3 është shkruar pjesërisht në C#, dhe tërësisht në teknologjinë .NET

Përbëhej nga instalimi i çelësave në panelin e përparmë të pajisjes kompjuterike. Natyrisht, vetëm programe të vogla mund të shkruheshin në këtë mënyrë.

Me zhvillimin e teknologjisë kompjuterike, u shfaq gjuha e makinës, me ndihmën e së cilës programuesi mund të vendoste komanda, duke funksionuar me qelizat e kujtesës, duke përdorur plotësisht aftësitë e makinës. Megjithatë, përdorimi i shumicës së kompjuterëve në nivelin e gjuhës së makinës është i vështirë, veçanërisht kur bëhet fjalë për hyrje/dalje. Prandaj, ne duhej të braktisnim përdorimin e tij.

Për shembull, për të lexuar një bllok të dhënash nga një disketë, programuesi mund të përdorë 16 komanda të ndryshme, secila prej të cilave kërkon 13 parametra, si numri i bllokut në disk, numri i sektorit në pistë, etj. Kur disku operacioni përfundon, kontrolluesi kthen 23 vlera që pasqyrojnë praninë dhe llojet e gabimeve që duhet të analizohen.

"Fjalët" në gjuhën e makinës quhen udhëzime, secila prej të cilave përfaqëson një veprim elementar për procesorin qendror, siç është, për shembull, leximi i informacionit nga një qelizë memorie.

Çdo model procesori ka grupin e vet të udhëzimeve të makinës, megjithëse shumica e tyre janë të njëjta. Nëse procesori A e kupton plotësisht gjuhën e procesorit B, atëherë procesori A thuhet se është i pajtueshëm me procesorin B. Procesori B do të thuhet se është i papajtueshëm me procesorin A nëse A ka udhëzime që nuk njihen nga procesori B.

Gjatë gjithë viteve '60, kërkesat për zhvillimin e softuerit u rritën dhe programet u bënë shumë të mëdha. Njerëzit filluan të kuptojnë se krijimi i softuerit ishte një detyrë shumë më e vështirë nga sa e kishin imagjinuar. Kjo çoi në zhvillimin e programimit të strukturuar. Me zhvillimin e programimit të strukturuar, avancimi tjetër ishin procedurat dhe funksionet. Për shembull, nëse ekziston një detyrë që ekzekutohet disa herë, atëherë ajo mund të deklarohet si funksion ose procedurë dhe thjesht të thirret gjatë ekzekutimit të programit. Kodi i përgjithshëm i programit në këtë rast bëhet më i vogël. Funksionet ju lejojnë të krijoni programe modulare.

Përparimi tjetër ishte përdorimi i strukturave, të cilat çuan në klasa. Strukturat janë lloje të të dhënave të përbëra të ndërtuara duke përdorur lloje të tjera. Për shembull, struktura e kohës. Ai përfshin: orë, minuta, sekonda. Programuesi mund të krijojë një strukturë kohore dhe të punojë me të si një strukturë e veçantë. Një klasë është një strukturë që ka variablat dhe funksionet e veta që punojnë me këto variabla. Kjo ishte një arritje shumë e madhe në fushën e programimit. Tani programimi mund të ndahej në klasa dhe të testohej jo i gjithë programi, i përbërë nga 10,000 rreshta kodi, por programi mund të ndahej në 100 klasa dhe të testohej çdo klasë. Kjo e bëri shumë më të lehtë shkrimin e një produkti softuer.

Gjuha e asamblesë

Në rastin kur është e nevojshme të keni një program efektiv, në vend të gjuhëve të makinerisë, përdoren gjuhët e orientuara nga makina që janë afër tyre - assemblers. Njerëzit përdorin komandat kujtimore në vend të komandave të makinës.

Por edhe puna me assembler është mjaft e ndërlikuar dhe kërkon trajnim të veçantë.

Programimi i strukturuar përfshin struktura kontrolli të përcaktuara saktësisht, blloqe programi, udhëzime pa kërcim të pakushtëzuar (GOTO), nënprograme të pavarura, mbështetje për rekursion dhe variabla lokale.

Thelbi i kësaj qasjeje është aftësia për të ndarë një program në elementët përbërës të tij.

Krijuar gjithashtu funksionale gjuhë (aplikative) (Shembull: Lisp - Anglisht. Përpunimi i LISTAVE, 1958) dhe ngacmues truri gjuhët (shembull: Prolog - Anglisht) Programimi në LOGic, 1972).

Megjithëse programimi i strukturuar, kur përdoret, ka prodhuar rezultate të jashtëzakonshme, edhe ai dështon kur programi arrin një gjatësi të caktuar. Për të shkruar një program më kompleks (dhe më të gjatë), nevojitej një qasje e re ndaj programimit.

OOP

Si rezultat, parimet e programimit të orientuar nga objekti u zhvilluan në fund të viteve 1970 dhe në fillim të viteve 1980. OOP kombinon parimet më të mira të programimit të strukturuar me koncepte të reja të fuqishme, ato themelore quhen enkapsulim, polimorfizëm dhe trashëgimi.

Shembuj të gjuhëve të orientuara nga objekti janë Object Pascal, C++, Java, etj.

OOP ju lejon të organizoni në mënyrë optimale programet duke thyer një problem në pjesët përbërëse të tij dhe duke punuar me secilën veç e veç. Një program në një gjuhë të orientuar nga objekti, që zgjidh një problem të caktuar, në thelb përshkruan një pjesë të botës që lidhet me këtë problem.

Një shembull i shkrimit të një programi në gjuhë të ndryshme

Gjuhë e nivelit të lartë (Delphi)

X : = mëkat (y* Pi) + 1;

Asambleri x86 (bashkëprocesori)

Fldpi fmul qword ptr [ Y] fsin fld1 fadd p st (1), st (0) fstp qword ptr [ X]

Kodi i makinës (heksadecimal, çdo komandë fillon në një linjë të re)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

Kodi i makinës (përfaqësim binar)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

Lidhjet


Fondacioni Wikimedia. 2010.

  • Aye-aye
  • Kabanov, Nikolai Alexandrovich

Shihni se çfarë është "Historia e Gjuhëve të Programimit" në fjalorë të tjerë:

    Historia e gjuhës programuese Python- Python u konceptua në vitet 1980 dhe krijimi i tij filloi në dhjetor 1989 nga Guido van Rossum si pjesë e Qendrës për Matematikën dhe Shkenca Kompjuterike në Holandë. Gjuha Python u konceptua si një pasardhëse e gjuhës programuese ABC, e aftë për të përpunuar... ... Wikipedia

    Kronologjia e gjuhëve të programimit- Listat e gjuhëve të programimit Sipas kategorisë Kronologjia gjenealogjike kronologjike e gjuhëve të programimit Një listë e organizuar kronologjikisht e gjuhëve të programimit. Përmbajtja... Wikipedia

    Krahasimi i gjuhëve të programimit- Ky artikull duhet të Wikified. Ju lutemi formatoni atë sipas rregullave të formatimit të artikullit. Konventat... Wikipedia

    Një histori e shkurtër e zhvillimit të gjuhëve programuese- Me zhvillimin e teknologjisë kompjuterike, u shfaqën teknika të ndryshme programimi. Në çdo fazë, u krijua një qasje e re që ndihmoi programuesit me kompleksitetin në rritje të programeve. Përmbajtja 1 Fillimi i zhvillimit 2 Gjuha e asamblesë 3 Struktura ... Wikipedia

    Historia e logjikës- studion zhvillimin e shkencës për format dhe ligjet e të menduarit të saktë (logjikën). Shfaqja e logjikës si një analizë e zhvilluar e parimeve të konkluzionit lidhet ekskluzivisht me tre qytetërime lokale, përkatësisht: Kina, India dhe Antike ... ... Wikipedia

    Historia e Linux- Ky artikull ose seksion duhet të rishikohet. Ju lutemi përmirësoni artikullin në përputhje me rregullat e shkrimit të artikujve... Wikipedia

    Historia e softuerit të lirë- Shprehja "Software i Lirë", ose Software i Lirë, i referohet produkteve të shpërndara sipas licencave liberale që i ofrojnë përdoruesit më shumë opsione sesa licencat tradicionale të softuerit... ... Wikipedia

Është shumë e rëndësishme të njohësh historinë e përgjithshme të gjuhëve të programimit dhe historinë e zhvillimit të gjuhëve të njohura dhe të panjohura. Në këtë artikull do të njiheni me këtë, por së pari le të kujtojmë "Çfarë është një gjuhë programimi?"

Gjuhë programimiështë një sistem shënimesh dhe rregullash që ju lejon të shkruani një program për zgjidhjen e një problemi në formën e një teksti vijues në një formë të përshtatshme për një person.

50-ta

Në vitet pesëdhjetë të shekullit të njëzetë, me ardhjen e kompjuterëve me tub vakum, filloi zhvillimi i shpejtë i gjuhëve të programimit. Programimi filloi me shkrimin e programeve direkt në formën e udhëzimeve të makinës (në kode, siç thonë programuesit). Kompjuterët, të cilët në atë kohë kushtonin dukshëm më shumë se zhvillimi i çdo programi, kërkonin kod shumë efikas.

Për ta bërë më të lehtë kodimin, u zhvillua orientimi në makinë, i cili bëri të mundur shkrimin e udhëzimeve të makinës në formë simbolike. Gjuha e Asamblesë varej nga sistemi i udhëzimeve të një kompjuteri të caktuar. Ishte mjaft i përshtatshëm për programimin e detyrave të vogla që kërkonin shpejtësi maksimale të ekzekutimit.

Megjithatë, projektet e mëdha ishin të vështira për t'u zhvilluar në gjuhën Asambleje. Problemi kryesor ishte se një program i shkruar në Asamble ishte i lidhur me arkitekturën e një kompjuteri të caktuar dhe nuk mund të transferohej në makina të tjera. Kur kompjuteri u përmirësua, të gjitha programet në Asamble duhej të rishkruheshin përsëri.

Pothuajse menjëherë me ardhjen e kompjuterëve, u zhvilluan gjuhë të nivelit të lartë, d.m.th. gjuhë që nuk varen nga një arkitekturë specifike. Për të ekzekutuar një program në një gjuhë të nivelit të lartë, fillimisht duhet të përkthehet në gjuhën e komandës së makinës. Një program i veçantë që kryen një përkthim të tillë quhet përkthyes ose përpilues.

Programi i përkthyer më pas ekzekutohet drejtpërdrejt nga kompjuteri. Ekziston gjithashtu mundësia e përkthimit të programit në një gjuhë të ndërmjetme që nuk varet nga arkitektura e një kompjuteri të caktuar, por, megjithatë, është sa më afër gjuhës së komandës së makinës.

Programi i gjuhës së ndërmjetme ekzekutohet më pas nga një program i veçantë i quajtur përkthyes. Është gjithashtu e mundur të përpilohet në fluturim, kur fragmenti i programit të ekzekutuar përkthehet nga një gjuhë e ndërmjetme në gjuhën e komandës së makinës menjëherë përpara ekzekutimit.

Në mesin e viteve 50, nën udhëheqjen e John Backus, gjuha e programimit algoritmik të nivelit të lartë FORTRAN u zhvillua për IBM. Përkundër faktit se tashmë kishte zhvillime në gjuhë që konvertonin shprehjet aritmetike në kodin e makinës, krijimi i gjuhës FORTRAN (FORmula TRANSlator), i cili siguroi mundësinë për të shkruar një algoritëm llogaritjeje duke përdorur deklarata të kushtëzuara dhe operatorë hyrës/dalës. pikënisja e epokës së gjuhëve të programimit të nivelit të lartë.

Si një alternativë ndaj gjuhës FORTRAN, e synuar fillimisht në arkitekturën IBM, ALGOL (Gjuha ALGOrithmic) u zhvillua nën udhëheqjen e Peter Naur në fund të viteve 50. Qëllimi kryesor i ndjekur nga zhvilluesit e kësaj gjuhe ishte pavarësia nga arkitektura specifike e sistemit kompjuterik.

Për më tepër, krijuesit e gjuhës ALGOL kërkuan të zhvillonin një gjuhë të përshtatshme për të përshkruar algoritme dhe duke përdorur një sistem shënimesh afër atij të miratuar në matematikë. FORTRAN dhe ALGOL ishin gjuhët e para të fokusuara në programimin kompjuterik.

60-ta

Në fund të viteve '60, nën udhëheqjen e Nayard dhe Dahl, u zhvillua gjuha Simula-67, duke përdorur konceptin e llojeve të të dhënave të përcaktuara nga përdoruesi. Në fakt, është gjuha e parë që përdor konceptin e klasave.

70-ta

Në mesin e viteve 70, Wirth propozoi gjuhën Pascal, e cila menjëherë u përdor gjerësisht. Në të njëjtën kohë, me iniciativën e Departamentit të Mbrojtjes së SHBA-së, filloi puna për krijimin e një gjuhe të nivelit të lartë të quajtur Ada - për nder të Ada Lovelace, një programuese dhe vajza e Lord Bajronit.

Krijimi i gjuhës filloi me përcaktimin e kërkesave dhe zhvillimin e specifikimeve. Katër grupe të pavarura punuan në projekt, por të gjithë përdorën Pascal si bazë. Në fillim të viteve 1980, u zhvillua përpiluesi i parë industrial për gjuhën Ada.

C zhvillimi

Gjuha universale e programimit u zhvillua në mesin e viteve 70 nga Denis Ritchie dhe Ken Thompson. Gjuha u bë një gjuhë programimi popullore e sistemeve dhe në një kohë përdorej për të shkruar kernelin e sistemit operativ UNIX.

Standardi i gjuhës C u zhvillua nga një grup pune ANSI në 1982. Standardi Ndërkombëtar për gjuhën C u miratua në vitin 1990. Gjuha C formoi bazën për zhvillimin e gjuhëve të programimit dhe Java.

Gjuha C bëri të mundur heqjen e vërtetë të Assembler gjatë krijimit të sistemeve operative. Për shembull, pothuajse i gjithë teksti i sistemit operativ Unix është shkruar në C dhe, kështu, nuk varet nga një kompjuter i caktuar.

Avantazhi kryesor i C është thjeshtësia dhe mungesa e zgjidhjeve pseudoshkencore. Mekanizmi për kalimin e parametrave në një funksion (vetëm sipas vlerës) përshkruhet thjesht dhe qartë. Një programues që krijon një program C gjithmonë e kupton qartë se si do të ekzekutohet ky program.

Koncepti i një treguesi, variablat statike dhe automatike (stack) të gjuhës C pasqyrojnë më nga afër strukturën e çdo kompjuteri modern, prandaj programet C janë efektive dhe të përshtatshme për korrigjimin e gabimeve.

Aktualisht, shumica dërrmuese e programeve janë shkruar në C dhe C++. Ndërfaqja e çdo sistemi operativ (i ashtuquajturi API - Application Program Interface), d.m.th. një grup thirrjesh sistemi i destinuar për zhvilluesit e aplikacioneve është zakonisht një grup funksionesh në gjuhën C.

Së bashku me gjuhët algoritmike, gjuhët e destinuara për përpunimin e informacionit të biznesit, si dhe gjuhët e inteligjencës artificiale, janë zhvilluar paralelisht. E para përfshin gjuhën COBOL (Gjuha e Përbashkët e Orientuar në Biznes) dhe e dyta përfshin gjuhët LISP (LISt Processing) dhe Prolog.

Gjuha LISP, e zhvilluar në vitet '60 nën udhëheqjen e J. McCarthy, ishte gjuha e parë funksionale e përpunimit të listave që gjeti aplikim të gjerë në teorinë e lojës.

vitet '90

Në vitet '90, me përhapjen e internetit, u zgjeruan mundësitë e përpunimit të të dhënave të shpërndara, gjë që ndikoi edhe në zhvillimin e gjuhëve programuese. Janë shfaqur gjuhë të fokusuara në krijimin e aplikacioneve të serverit, të tilla si Perl, Gjuhët e përshkrimit të Dokumentit dhe XML.

Gjuhët tradicionale të programimit C++ dhe Pascal gjithashtu pësuan ndryshime: një gjuhë programimi filloi të nënkuptojë jo vetëm funksionalitetin e vetë gjuhës, por edhe bibliotekat e klasave të ofruara nga mjedisi i programimit.

Theksi u zhvendos nga specifikimi i vetë gjuhëve të programimit në standardizimin e mekanizmave për ndërveprimin e aplikacioneve të shpërndara. Janë shfaqur teknologji të reja - COM dhe CORBA, të cilat specifikojnë ndërveprimin e objekteve të shpërndara.

Fushat e aplikimit të gjuhëve të programimit

Aktualisht, gjuhët e programimit përdoren në një larmi fushash të veprimtarisë njerëzore, si p.sh.

  • informatikë shkencore (gjuhët C++, FORTRAN, Java);
  • programimi i sistemit (gjuhët C++, Java);
  • përpunimi i informacionit (gjuhët C++, COBOL, Java);
  • inteligjenca artificiale (LISP, Prolog);
  • aktivitetet botuese (Postscript, TeX);
  • përpunimi i informacionit në distancë (Perl, PHP, Java, C++);
  • përshkrimi i dokumenteve (HTML, XML).

Bazuar në historinë e gjuhëve të programimit, mund të themi se me kalimin e kohës, disa gjuhë janë zhvilluar, kanë fituar veçori të reja dhe kanë mbetur në kërkesë, ndërsa të tjerat kanë humbur rëndësinë e tyre dhe sot janë, në rastin më të mirë, me interes thjesht teorik.



 

Mund të jetë e dobishme të lexoni: