Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Sistemet dhe gjuhët e programimit. Lista e gjuhëve të programimit

^

Gjuhët dhe sistemet e programimit

  1. Zhvillimi i gjuhëve të programimit

Gjenerata të gjuhëve programuese

Është zakon që gjuhët e programimit të ndahen në pesë breza.

^ Në gjeneratën e parë përfshin gjuhët e krijuara në fillim të viteve 50, kur u shfaqën kompjuterët e parë. Ishte gjuha e parë e asamblesë e ndërtuar mbi parimin e një udhëzimi, një rreshti.

Lulëzim gjenerata e dytë gjuhët e programimit erdhën në fund të viteve '50 - në fillim të viteve '60. Pastaj u zhvillua një asembler simbolik, në të cilin u shfaq koncepti i një ndryshoreje. Ajo u bë gjuha e parë e programimit e plotë. Falë pamjes së tij, shpejtësia e zhvillimit dhe besueshmëria e programeve janë rritur ndjeshëm.

Shfaqja brezi i tretë gjuhët e programimit zakonisht i atribuohen viteve '60. Në këtë kohë, u shfaqën gjuhë universale të nivelit të lartë, me ndihmën e tyre është e mundur të zgjidhen probleme nga çdo fushë. Cilësitë e gjuhëve të reja, si thjeshtësia relative, pavarësia nga një kompjuter i caktuar dhe aftësia për të përdorur konstruksione të fuqishme sintaksore, kanë rritur në mënyrë dramatike produktivitetin e programuesve. Struktura e këtyre gjuhëve, e kuptueshme për shumicën e përdoruesve, i tërhoqi ata të shkruanin programe të vogla (zakonisht të natyrës inxhinierike ose ekonomike) Shumica dërrmuese e gjuhëve të kësaj gjenerate përdoren me sukses sot.

Nga fillimi i viteve 70 e deri më sot, periudha e gjuhëve zgjat brezi i katërt... Këto gjuhë janë të destinuara për zbatimin e projekteve të mëdha, duke rritur besueshmërinë dhe shpejtësinë e krijimit të tyre. Ato janë të përqendruara në fusha të specializuara të aplikimit, ku mund të arrihen rezultate të mira duke përdorur gjuhë jo universale, por të orientuara nga problemi, që funksionojnë me koncepte specifike të një fushe të ngushtë lëndore.

Në mënyrë tipike, këto gjuhë kanë operatorë të fuqishëm të integruar për të përshkruar funksionalitetin në një linjë të vetme që do të kërkonte mijëra rreshta të kodit burimor për t'u zbatuar në gjuhët e gjeneratës së ulët.

Lindja e gjuhëve brezi i pestë ndodhi në mesin e viteve '90. Këto përfshijnë gjithashtu sisteme për krijimin automatik të programeve aplikative duke përdorur mjete të zhvillimit vizual, pa njohuri programimi.

Ideja kryesore pas këtyre gjuhëve është aftësia për të gjeneruar automatikisht tekstin që rezulton në gjuhët universale të programimit (i cili më pas duhet të përpilohet). Udhëzimet futen në kompjuter në formën më vizuale duke përdorur metoda që janë më të përshtatshme për një person që nuk është i njohur me programimin.

^ Një përmbledhje e gjuhëve të programimit të nivelit të lartë

Fortran

Është gjuha e parë e përpiluar në vitet 1950.

Programuesit që zhvilluan programe ekskluzivisht në gjuhën e asamblesë shprehën dyshime serioze për mundësinë e një gjuhe të nivelit të lartë me performancë të lartë, kështu që kriteri kryesor për zhvillimin e përpiluesve Fortran ishte efikasiteti i kodit të ekzekutueshëm. Megjithëse Fortran filloi një numër konceptesh kritike të programimit, lehtësia e shkrimit të programeve u sakrifikua për aftësinë për të gjeneruar kod efikas të makinës. Megjithatë, një numër i madh bibliotekash janë krijuar për këtë gjuhë, duke filluar nga komplekset statistikore deri te paketat e kontrollit satelitor. Fortran vazhdon të përdoret në mënyrë aktive në shumë organizata. Ekziston një version standard i Fortran HPF (High Performance Fortran) për superkompjuterët paralelë me shumë procesorë.

Cobol (Cobol).

Është një gjuhë e përpiluar për përdorim në ekonomi dhe për zgjidhjen e problemeve të biznesit, e zhvilluar në fillim të viteve '60. Është shumë "fjalë" - operatorët e tij ndonjëherë duken si fraza të zakonshme angleze. Në Cobol, u zbatuan mjete shumë të fuqishme për të punuar me sasi të mëdha të dhënash të ruajtura në media të ndryshme të jashtme. Në këtë gjuhë janë krijuar shumë aplikacione, të cilat përdoren edhe sot.

Algol Gjuha e përpiluar e krijuar në vitin 1960. Ai synonte të zëvendësonte Fortran, por për shkak të strukturës së tij më komplekse, ai nuk u miratua gjerësisht. Në vitin 1968. U krijua një version i Algol 68, i cili është ende përpara shumë gjuhëve programuese në aftësitë e tij, por për shkak të mungesës së kompjuterëve mjaft efikasë për të, nuk ishte e mundur të krijoheshin përpilues të mirë në kohën e duhur.

Paskalin

Gjuha Pascal, e krijuar në fund të viteve 70, në shumë mënyra i ngjan Algolit, por forcon një sërë kërkesash për strukturën e programit dhe ka mundësi që e lejojnë atë të përdoret me sukses kur krijoni projekte të mëdha.

bazë

Ka edhe përpilues edhe përkthyes për këtë gjuhë, dhe ajo renditet e para në botë për nga popullariteti. Është krijuar në vitet '60 si gjuhë mësimore dhe është shumë e lehtë për t'u mësuar.

C (C)

Kjo gjuhë u krijua në laboratorin Bell dhe fillimisht nuk u konsiderua si e zakonshme. Ai kishte për qëllim të zëvendësonte asemblerin në mënyrë që të krijonte programe që janë po aq efikase dhe kompakte, duke mos qenë të varur nga një lloj i caktuar procesori. C është në shumë mënyra të ngjashme me Pascal dhe ka lehtësi shtesë për manipulimin e drejtpërdrejtë të memories (treguesit). Në këtë gjuhë në vitet '70 u shkruan shumë programe aplikacionesh dhe sistemesh dhe një sërë sistemesh operative të njohura (Unix).

C ++ (C ++)

C ++ është një zgjerim i gjuhës C i orientuar drejt objekteve, i zhvilluar në vitin 1980. Ai zbaton shumë veçori të reja të fuqishme që kanë rritur në mënyrë dramatike produktivitetin e programuesve, por krijimi i programeve komplekse dhe të besueshme kërkon një nivel të lartë trajnimi profesional nga zhvilluesit.

Java (Java)

Kjo gjuhë u krijua nga Sun në fillim të viteve '90 bazuar në C ++. Ai është krijuar për të thjeshtuar zhvillimin e aplikacioneve të bazuara në C ++ duke përjashtuar të gjitha veçoritë e nivelit të ulët prej tij. Por tipari kryesor i kësaj gjuhe është përpilimi jo në kodin e makinës, por në bajtkod të pavarur nga platforma (çdo komandë merr një bajt). Ky bajtkod mund të ekzekutohet duke përdorur një interpretues, një version JVM (Java Virtual Machine) i të cilit është krijuar sot për të gjitha platformat.

Vëmendje e veçantë i kushtohet zhvillimit të kësaj gjuhe në dy drejtime:


  • mbështetje për të gjitha llojet e pajisjeve celulare dhe mikrokompjuterëve të integruar në pajisjet shtëpiake (teknologjia Jini);

  • krijimi i moduleve softuerike të pavarura nga platforma të afta të funksionojnë në serverë në rrjetet globale dhe lokale me sisteme të ndryshme operative (teknologjia Java Beans).
Deri më tani, disavantazhi i kësaj gjuhe është performanca e ulët.

^ Gjuhët e programimit të bazës së të dhënave

Ky grup gjuhësh ndryshon nga gjuhët algoritmike, para së gjithash, në detyrat që zgjidhen. Një bazë të dhënash është një skedar (ose grup skedarësh) që është një grup i renditur rekordesh që kanë një strukturë uniforme dhe janë të organizuara sipas një modeli të vetëm (zakonisht në formë tabelare). Një bazë të dhënash mund të përbëhet nga tabela të shumta. Është i përshtatshëm për të ruajtur në bazat e të dhënave informacione të ndryshme nga librat e referencës, kabinetet e skedarëve, revistat e kontabilitetit, etj. Kur punoni me bazat e të dhënave, më shpesh ju duhet të kryeni veprimet e mëposhtme:

Bazat e para të të dhënave u shfaqën shumë kohë më parë, sapo lindi nevoja për përpunimin e sasive të mëdha të informacionit dhe përzgjedhjen e grupeve të të dhënave në bazë të kritereve të caktuara. Për këtë, u krijua gjuha e strukturuar e pyetjeve (SQL). Ai bazohet në teorinë e fuqishme matematikore dhe mundëson përpunim efikas të bazës së të dhënave duke manipuluar grupet e të dhënave dhe jo të dhënat individuale.

Për menaxhimin e bazave të të dhënave të mëdha dhe përpunimin efikas të tyre, janë zhvilluar DBMS (Database Management Systems).

Në fakt, në fakt, çdo DBMS, përveç mbështetjes së gjuhës SQL, ka gjuhën e saj unike që është e fokusuar në veçoritë e kësaj DBMS dhe nuk është e lëvizshme për sistemet e tjera.

Sot ka pesë prodhues kryesorë të DBMS në botë:

Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix dhe Sybase. Produktet e tyre synojnë të mbështesin punën e njëkohshme të mijëra përdoruesve në rrjet, dhe bazat e të dhënave mund të ruhen në një formë të shpërndarë në disa serverë.

Me ardhjen e kompjuterëve personalë, u krijuan të ashtuquajturat DBMS desktop. DBMS dBase II, gjuha e të cilit u interpretua, konsiderohet të jetë paraardhësi i gjuhëve moderne të programimit të bazës së të dhënave për PC. Pastaj u krijuan përpilues për të, u shfaqën FoxPro dhe Clipper DBMS, duke mbështetur dialektet e kësaj gjuhe. Sot, versione të ngjashme, por të papajtueshme të familjes së gjuhëve dBase zbatohen në Visual FoxPro të Microsoft dhe Visual dBase të Inprise.

^ Gjuhët e programimit për internet

Me zhvillimin aktiv të rrjetit global, janë krijuar shumë gjuhë programimi të njohura, të përshtatura posaçërisht për internetin.

Të gjithë ata ndryshojnë në karakteristikat karakteristike: gjuhët interpretohen, përkthyesit për ta shpërndahen pa pagesë dhe vetë programet janë në kodin burimor. Gjuhë të tilla quhen gjuhë shkrimi.

HTML. Një gjuhë e njohur për shkresat. Është shumë i thjeshtë dhe përmban komanda bazë për formatimin e tekstit, shtimin e fotove, vendosjen e shkronjave dhe ngjyrave, organizimin e lidhjeve dhe tabelave. Të gjitha faqet e internetit janë të shkruara në HTML ose përdorin shtesa HTML.

Perl. Në vitet 1980, Larry Wall zhvilloi gjuhën Perl. Ai u konceptua si një mjet për përpunimin me efikasitet të skedarëve të mëdhenj të tekstit, gjenerimin e raporteve tekstuale dhe menaxhimin e detyrave. Perl është shumë më i fuqishëm se gjuhët si C. Ai prezanton shumë funksione të përdorura zakonisht për të punuar me vargje, vargje, të gjitha llojet e mjeteve të konvertimit të të dhënave, kontrollin e procesit, punën me informacionin e sistemit, etj.

VRML. Në vitin 1994. gjuha VRML u krijua për organizimin e ndërfaqeve virtuale tredimensionale në internet. Kjo ju lejon të përshkruani në formë teksti skena të ndryshme tre-dimensionale, ndriçim dhe hije, tekstura (veshje objektesh), rrotullim në çdo drejtim, shkallë, rregullim të ndriçimit, etj.

^ Gjuhët e modelimit

Gjatë krijimit të programeve dhe formimit të strukturave të bazës së të dhënave, shpesh përdoren metoda formale të prezantimit të tyre - shënime formale, me ndihmën e të cilave mund të përfaqësoni vizualisht tabelat e bazës së të dhënave, fushat, objektet e programit dhe marrëdhëniet midis tyre në një sistem që ka një redaktues të specializuar dhe një gjenerues i kodeve burimore të programit bazuar në modelet e krijuara. Sisteme të tilla quhen sisteme CASE. Ata përdorin në mënyrë aktive shënimet IDEF, dhe kohët e fundit UML po bëhet më e përhapur.

      1. ^

        Sistemet moderne të programimit

Bazat e programimit të ndërfaqes vizuale

Një nga rrugët qorre, ose krizat e programimit, kohët e fundit është shoqëruar me zhvillimin e një ndërfaqeje grafike të përdoruesit. Programimi manual i çdo dritareje, butoni, menyje të njohur për përdoruesin, trajtimi i ngjarjeve të miut dhe tastierës, duke përfshirë imazhet dhe zërin në programe, kërkonte gjithnjë e më shumë kohë nga programuesi. Në disa raste, i gjithë ky shërbim filloi të zërë deri në 80-90% të vëllimit të kodeve të programit. Për më tepër, e gjithë kjo punë shpesh shpërdorohej pothuajse kot, sepse një vit më vonë stili i pranuar përgjithësisht i ndërfaqes grafike ndryshoi dhe gjithçka duhej të fillonte përsëri.

Rruga për të dalë nga kjo situatë u tregua nga dy qasje.

E para është standardizimi i shumë funksioneve të ndërfaqes, i cili bëri të mundur përdorimin e bibliotekave të disponueshme, për shembull, në Windows. Si rezultat, kur ndryshoni stilin e ndërfaqes grafike (për shembull, kur kaloni nga Windows 3.x në Windows 95), aplikacionet ishin në gjendje të përshtateshin automatikisht me sistemin e ri pa ndonjë riprogramim.

Hapi i dytë revolucionar ishte shfaqja e programimit vizual, i cili filloi në Visual Basic dhe u mishërua shkëlqyeshëm në Delphi dhe Borland's C ++ Builder.

Programimi vizual bëri të mundur reduktimin e dizajnit të ndërfaqes së përdoruesit në procedura të thjeshta dhe intuitive që bëjnë të mundur realizimin në minuta ose orë të asaj që më parë kërkonte muaj pune.

Shembull. Në Delphi, duket kështu. Ju punoni në Delphi Integrated Development Environment, i cili ju ofron formularë (mund të ketë disa në aplikacion) në të cilat përshtaten komponentët. Kjo është zakonisht një formë me dritare, megjithëse mund të ketë forma të padukshme. Duke përdorur miun, ikonat e komponentëve të disponueshëm në bibliotekat Delphi transferohen në formë dhe vendosen. Me manipulime të thjeshta, ju mund të ndryshoni madhësinë e vendndodhjes së këtyre komponentëve. Në të njëjtën kohë, gjatë gjithë kohës gjatë procesit të projektimit, rezultati është i dukshëm - një imazh i formës dhe përbërësve të vendosur në të. Rezultatet e projektimit janë të dukshme edhe pa e kompiluar programin.

Avantazhi kryesor është se gjatë hartimit të formularit dhe vendosjes së komponentëve në të, Delphi gjeneron automatikisht kodet e programit, duke përfshirë fragmentet përkatëse që përshkruajnë këtë komponent. Dhe më pas, në kutitë përkatëse të dialogut, përdoruesi mund të ndryshojë vlerat e paracaktuara të përbërësve dhe, nëse është e nevojshme, të shkruajë mbajtës për disa ngjarje. Në fakt, dizajnimi zbret në vendosjen e komponentëve në një formë, vendosjen e disa prej vetive të tyre dhe shkrimin e mbajtësve të ngjarjeve, nëse është e nevojshme.

Komponentët mund të jenë vizualë, të dukshëm kur aplikacioni po funksionon dhe jo-vizualë, duke kryer funksione të caktuara shërbimi. Komponentët vizualë janë menjëherë të dukshëm në ekran gjatë procesit të projektimit në të njëjtën formë në të cilën përdoruesi do t'i shohë ato në kohën e ekzekutimit.

Bibliotekat e komponentëve vizualë të Delphi përfshijnë shumë lloje të komponentëve dhe nomenklatura e tyre zgjerohet shumë shpejt nga versioni në version. Ajo që është tashmë e disponueshme është e mjaftueshme për të ndërtuar pothuajse çdo aplikacion më të ndërlikuar pa përdorur krijimin e komponentëve të rinj. Në të njëjtën kohë, edhe një programues i papërvojë mund të krijojë aplikacione që duken profesionale.

^ Sistemet bazë të programimit

Gjuhët më të njohura të programimit universal sot janë këto: Basic, Pascal, C ++ (C ++), Java.

Për secilën nga këto gjuhë programimi sot ekzistojnë shumë sisteme programimi të prodhuara nga kompani të ndryshme dhe të orientuara në modele dhe sisteme operative të ndryshme PC.

Mjediset vizuale të mëposhtme për dizajnimin e shpejtë të programeve për Windows janë më të njohurit:


  • Bazë: Microsoft Visual Basic;

  • Pascal: Borland Delphi;

  • C ++: Borland C ++ Bulider;

  • Java: Symantec Cafe.
Për të zhvilluar server dhe aplikacione të shpërndara, mund të përdorni sistemin e programimit Microsoft Visual C ++, produktet Borland, pothuajse çdo mjet programimi Java.
    1. ^

      Arkitektura e sistemeve softuerike

Ndërsa shumica e aplikacioneve të pavarura - programet e zyrës, mjediset e zhvillimit, sistemet e përgatitjes së tekstit dhe imazhit - funksionojnë në një kompjuter, sistemet e mëdha të informacionit (për shembull, një sistem automatizimi i ndërmarrjes) përbëhen nga dhjetëra e qindra programe individuale që ndërveprojnë me njëri-tjetrin mbi një rrjet që funksionon në kompjuterë të ndryshëm. Në raste të tilla, ata thuhet se operojnë në një arkitekturë të ndryshme softuerësh.


  1. Aplikacione të pavarura. Ata punojnë në një kompjuter.

  2. Aplikimet në një arkitekturë të serverit të skedarëve. Kompjuterët e përdoruesve të sistemit bashkohen në një rrjet, ndërsa në secilin prej tyre lëshohen kopje të të njëjtit program (në vendin e klientit), të cilët hyjnë në server për të dhëna, i cili ruan skedarë që janë njëkohësisht të disponueshëm për të gjithë përdoruesit. (si rregull, këto janë baza të të dhënave). Serveri ka rritur besueshmërinë, performancën e lartë, kapacitetin e madh të memories; në të është instaluar një version i veçantë i serverit të sistemit operativ. Kur disa programe hyjnë në të njëjtin skedar në të njëjtën kohë, për shembull, për ta përditësuar atë, mund të shfaqen probleme për shkak të paqartësisë së përkufizimit të përmbajtjes së tij. Prandaj, çdo ndryshim në një skedar publik shpërndahet në një transaksion (një operacion elementar i përpunimit të të dhënave me fillim, përfundim fiks (përfundim i suksesshëm ose i pasuksesshëm) dhe një sërë karakteristikash të tjera). E veçanta e kësaj arkitekture është se të gjitha llogaritjet kryhen në faqet e klientëve, gjë që kërkon PC mjaft produktiv në to (këto janë të ashtuquajturat sisteme me një klient të trashë - një program që kryen të gjithë përpunimin e informacionit të marrë nga serveri).

  3. Aplikacionet klient-server . Kjo arkitekture eshte e ngjashme me arkitekturës, ajo zbatohet tërësisht në instalimet e klientit). Falë kësaj, është e mundur të rritet besueshmëria e përgjithshme e sistemit, pasi serveri është shumë më i qëndrueshëm se PC, dhe të hiqet ngarkesa e panevojshme nga vendet e klientit ku mund të përdoret. Aplikacionet e lëshuara në to kryejnë sasi të vogla llogaritjeje, dhe ndonjëherë ato janë të angazhuara vetëm në shfaqjen e informacionit të marrë nga serveri, prandaj quhen klientë të hollë.

  4. Aplikime në arkitekturën me shumë nivele. Disavantazhi i arkitekturës së mëparshme është se ngarkesa në server rritet në mënyrë dramatike dhe nëse dështon, i gjithë sistemi ndalon së punuari. Prandaj, sistemit i shtohet i ashtuquajturi server aplikacioni, mbi të cilin kryhet e gjithë puna llogaritëse. Një server tjetër i bazës së të dhënave përpunon kërkesat e përdoruesve, dhe një i tretë mund të pajiset me një program të veçantë - një monitor TP, i cili optimizon përpunimin e transaksioneve dhe balancon ngarkesën në serverë. Në shumicën e rasteve praktike, të gjithë serverët janë të lidhur në seri, dhe dështimi i një lidhjeje, nëse nuk ndalon të gjithë punën, atëherë të paktën redukton performancën e sistemit.

  5. Aplikime në një arkitekturë të shpërndarë. Për të shmangur disavantazhet e arkitekturave të konsideruara, u shpikën teknologji të veçanta që ju lejojnë të krijoni një program në formën e një grupi përbërësish që mund të ekzekutohen në çdo server të lidhur me rrjetin (përbërësit, si të thuash, shpërndahen mbi rrjeti). Avantazhi kryesor i kësaj qasjeje është se nëse ndonjë kompjuter dështon, programet e posaçme të monitorimit që monitorojnë funksionimin e saktë rinisin menjëherë komponentin që mungon përkohësisht në një kompjuter tjetër. Në këtë rast, besueshmëria e përgjithshme e të gjithë sistemit bëhet shumë e lartë dhe ngarkesa llogaritëse shpërndahet midis serverëve në një mënyrë optimale. Qasja në aftësitë e çdo komponenti të krijuar për të komunikuar me përdoruesin kryhet nga një faqe arbitrare e klientit. Meqenëse të gjitha llogaritjet bëhen në serverë, bëhet e mundur krijimi i klientëve ultra të hollë - programe që shfaqin vetëm informacionin e marrë nga rrjeti dhe kërkojnë burime minimale kompjuterike. Falë kësaj, qasja në sistemin e komponentëve është e mundur jo vetëm nga një PC, por edhe nga pajisjet e vogla celulare. Një rast i veçantë i qasjes së komponentëve është qasja në aplikacionet e serverëve nga shfletuesit në internet.
Tre teknologjitë e komponentëve janë më të njohurat sot: CORBA e konsorciumit OMG, Java Beans nga Sun, COM + nga Microsoft.

Këto teknologji do të formësojnë zhvillimin e industrisë së informacionit në dekadat e ardhshme.

Gjuhët dhe sistemet e programimit

Koncepti i gjuhës së makinës

Gjuha e makinerisë është një sistem komandash të kuptuara drejtpërdrejt nga hardueri i një sistemi elektronik informatik të caktuar. Si pasojë, gjuha e makinës përcaktohet në mënyrë unike nga grupi i udhëzimeve të procesorit dhe arkitektura e kompjuterit.

Kompleti i udhëzimeve të procesorit përmban:

· Komandat aritmetike-logjike - komandat për veprime aritmetike mbi numrat binarë dhe veprime logjike në vektorë binarë;

· Komandat e kontrollit - komandat e tranzicionit, degëzimet, përsëritjet dhe disa komanda të tjera;

· Komandat e transferimit të të dhënave - komandat me ndihmën e të cilave shkëmbehet RAM dhe CPU;

· Komandat hyrëse-dalëse të të dhënave - komandat me ndihmën e të cilave CPU-ja dhe pajisjet e jashtme shkëmbejnë të dhëna.

Çdo komandë përmban kodin e operacionit që kryen dhe informacion për adresat e të dhënave në të cilat kryhet ky operacion. Për më tepër, komanda (drejtpërdrejt - komandat e kontrollit dhe indirekt - komandat e tjera) përmban informacione për adresën e komandës që do të ekzekutohet më pas. Kështu, çdo sekuencë udhëzimesh të vendosura në RAM është në fakt një algoritëm i regjistruar në sistemin e udhëzimeve të procesorit - një program makinerie.

Më e zakonshme tani është arkitektura e një kompjuteri me një autobus të përbashkët. Autobusi i zakonshëm është autostrada qendrore e informacionit që lidh pajisjet e jashtme me procesorin qendror. Ai përbëhet nga një autobus të dhënash, një autobus adresash dhe një autobus kontrolli. Autobusi i të dhënave është menduar për shkëmbimin e të dhënave ndërmjet RAM-it dhe pajisjeve të jashtme. Autobusi i adresave mbart adresat e të dhënave. Ky autobus është me një drejtim. Autobusi i kontrollit shërben si një kanal për shkëmbimin e sinjaleve të kontrollit midis pajisjeve të jashtme dhe procesorit qendror.

Kështu, gjuha e makinës (gjuha e procesorit) është një grup udhëzimesh, secila prej të cilave përshkruan disa veprime elementare për të transformuar informacionin e përfaqësuar në kodin binar. Përdorimi universal i kodit binar për përfaqësimin e informacionit të një larmie formash çon në faktin se programi për zgjidhjen edhe të një problemi mjaft të thjeshtë përmban qindra udhëzime makinerie. Shkrimi i një programi të tillë duke përdorur udhëzimet e makinës nuk është i lehtë edhe për një programues të aftë. Programet reale përbëhen nga dhjetëra e qindra mijëra instruksione makinerie. Prandaj, çdo teknologji për hartimin e një programi duhet të bazohet në teknika karakteristike të të menduarit njerëzor, të funksionojë me koncepte të njohura për një person nga fusha lëndore të cilës i përket detyra.

Me fjalë të tjera, programuesi (programuesi i algoritmit) duhet të jetë në gjendje të formulojë algoritmin e tij në gjuhën e koncepteve të njohura; atëherë një program i veçantë duhet t'i shprehë këto koncepte duke përdorur veglat e makinës, duke përkthyer (përkthyer) tekstin e algoritmit në gjuhën e makinës.

Kjo nevojë çoi në shfaqjen e gjuhëve të programimit të nivelit të lartë si gjuhë për regjistrimin e algoritmeve të destinuara për ekzekutim në një kompjuter.

Gjuhët e orientuara nga makina

Paraardhësit e gjuhëve të nivelit të lartë janë të ashtuquajturat gjuhë të orientuara nga makina ose gjuhë autokodi. Një nga përfaqësuesit më të shquar të gjuhëve të orientuara nga makina është Assembler. Assembler është shumë afër gjuhës së makinës, shumica e udhëzimeve të tij janë paraqitje të sakta simbolike të instruksioneve të makinës. Avantazhi është se nuk është më e nevojshme të mbani mend kodet numerike të udhëzimeve të procesorit, mjafton të dini paraqitjen simbolike të tyre. Përveç kësaj, për herë të parë në gjuhët e orientuara nga makina, koncepti i një variabli shfaqet si një zonë memorie e emërtuar për ruajtjen e të dhënave, dhe bashkë me të koncepti i një lloji të dhënash. Në programet në një gjuhë të orientuar nga makina, bëhet e mundur përdorimi i informacionit numerik dhe tekstual në një formë të njohur për njerëzit.

Pavarësisht nga avantazhet e qarta të gjuhëve të orientuara nga makina ndaj një gjuhe thjesht makine, shkrimi i programeve në këto gjuhë është ende i mbushur me vështirësi të konsiderueshme. Programet janë shumë të rënda dhe të vështira për t'u lexuar.

Gjuhë programimi të nivelit të lartë

Gjuhët e programimit të nivelit të lartë luajnë rolin e një mjeti komunikimi midis programuesit dhe makinës, si dhe midis programuesve. Kjo rrethanë i imponon shumë detyrime gjuhës:

Gjuha duhet të jetë afër atyre fragmenteve të gjuhëve natyrore që ofrojnë një fushë specifike lëndore të veprimtarisë njerëzore; (Një gjuhë e fokusuar në aplikacionet e biznesit duhet të përmbajë konceptet e përdorura në këtë lloj aktiviteti: dokument, faturë, bazë të dhënash, etj.).

Të gjitha lehtësitë gjuhësore duhet të formalizohen në atë masë që të mund të zbatohen si programe makinerie.

Një gjuhë programimi është më shumë se një mjet për të përshkruar algoritme: ajo përmban një sistem konceptesh mbi bazën e të cilave një person mund të mendojë për problemet e tij dhe një shënim me të cilin ai mund të shprehë mendimet e tij për zgjidhjen e një problemi.

Modelet e transmetimit të programeve. Përkthyesit

Në përgjithësi, kompjuterët nuk janë krijuar për të kuptuar gjuhët e programimit të nivelit të lartë. Hardueri njeh dhe ekzekuton vetëm gjuhën e makinës, programi në të cilin nuk është gjë tjetër veçse një sekuencë numrash binarë.

Shfaqja e gjuhëve të programimit u shoqërua me realizimin e faktit se përkthimi i një algoritmi të shkruar në një gjuhë "pothuajse" natyrore (algoritmike) në një gjuhë makine mund të automatizohet dhe, për rrjedhojë, t'i besohet shpatullave të një makine. Është e rëndësishme këtu të bëhet dallimi midis gjuhës dhe zbatimit të saj. Gjuha në vetvete është një sistem shënimesh i drejtuar nga një sërë rregullash që përcaktojnë fjalorin dhe sintaksën e saj. Implementimi i gjuhës është një program që e konverton këtë shënim në një sekuencë udhëzimesh makine, sipas rregullave semantike të përcaktuara në gjuhë.

Ekzistojnë dy mënyra kryesore për të zbatuar një gjuhë: përpiluesit dhe interpretuesit. Kompiluesit përkthejnë të gjithë tekstin e një programi të shkruar në një gjuhë programimi në kodin e makinës në një proces të vazhdueshëm. Kjo krijon një program të plotë të kodit të makinës që më pas mund të ekzekutohet pa pasur nevojë për një përpilues.

Përkthyesi në çdo moment të kohës njeh dhe ekzekuton një fjali (operator) të programit, duke e kthyer fjalinë që përpunohet në një program makinerie gjatë rrugës. Dallimi midis një përpiluesi dhe një përkthyesi është i ngjashëm me ndryshimin midis interpretimit të njëkohshëm të fjalës gojore dhe përkthimit të një teksti.

Në parim, çdo gjuhë mund të përpilohet dhe interpretohet, por në shumicën e rasteve secila gjuhë ka mënyrën e saj të preferuar të zbatimit. Me sa duket, kjo preferencë është më shumë se një haraç për traditën. Zgjedhja përcaktohet nga vetë gjuha. Fortran, Pascal, Modula-2 janë përpiluar kryesisht. Gjuhët si Logo, Fort interpretohen pothuajse gjithmonë. BASIC dhe Lisp përdoren gjerësisht në të dyja format.

Ekzistojnë dy lloje kryesore të përpiluesve bazuar në llojin e të dhënave dalëse:

· Përpilimi i kodit përfundimtar të ekzekutueshëm;

· Përpilimi i kodit të interpretuar, për ekzekutimin e të cilit kërkohet softuer shtesë.

Kodi përfundimtar i ekzekutueshëm është aplikacionet e implementuara si skedarë EXE, biblioteka DLL, komponentë COM. Kodi i interpretuar përfshin bytekodin e programeve JAVA që ekzekutohen nga makina virtuale JVM.

Kodi i objektit i gjeneruar nga përpiluesi është një zonë të dhënash dhe një zonë udhëzimi makine me adresa që më pas "negociohen" nga një redaktues lidhjesh (ndonjëherë i quajtur ngarkues). Redaktori i lidhjeve vendos të gjitha modulet e objekteve të përpiluara veçmas dhe bibliotekat e lidhura statikisht në një hapësirë ​​të vetme adresash.

Në vijim, formën e ekzekutueshme të programit do ta quajmë kodin e marrë si rezultat i përpilimit të programit burimor.

Procesi i përkthimit (përpilimit).

Një program i shkruar në një gjuhë programimi të nivelit të lartë quhet program burimor dhe çdo njësi e pavarur programore që formon një program të caktuar quhet modul programi. Për të transformuar programin burim në formën e tij të ekzekutueshme (skedar i ekzekutueshëm), përkthyesi kryen një sekuencë të caktuar veprimesh. Kjo sekuencë varet si nga gjuha e programimit ashtu edhe nga zbatimi specifik i vetë përkthyesit. Gjatë përkthimit, është e rëndësishme jo vetëm përpilimi i programit, por edhe marrja e një kodi mjaft efikas.

Në procesin e përkthimit, bëhet analiza e programit origjinal dhe më pas bëhet sinteza e formës së ekzekutueshme të këtij programi. Në varësi të numrit të shikimeve të programit burimor të kryera nga përpiluesi, përkthyesit ndahen në përkthyes me një kalim, me dy kalime dhe përkthyes që përdorin më shumë se dy kalime.

Përparësitë e një përpiluesi me një kalim përfshijnë shpejtësinë e lartë të përpilimit, dhe disavantazhet janë, si rregull, marrja e kodit jo më efikas.

Përpiluesit me dy kalime përdoren gjerësisht. Ato lejojnë që kalimi i parë të analizojë programin dhe të ndërtojë tabela informacioni të përdorura në kalimin e dytë për të gjeneruar kodin e objektit.

Figura tregon fazat kryesore të kryera në procesin e përkthimit të programit burimor.

Faza e analizës së programit përbëhet nga:

· Analiza leksikore;

· Analiza sintaksore;

· Analiza semantike.

Kur analizon programin burimor, përkthyesi skanon në mënyrë sekuenciale tekstin e programit të përfaqësuar si një grup karakteresh, duke analizuar strukturën e programit.

Në fazën e analizës leksikore, dallohen përbërësit kryesorë të programit - leksema. Shenjat janë fjalë kyçe, identifikues, simbole operacioni, komente, hapësira dhe ndarës. Analizuesi leksikor jo vetëm që nxjerr shenja, por gjithashtu përcakton llojin e secilit token. Në të njëjtën kohë, në fazën e analizës leksikore, përpilohet një tabelë simbolesh, në të cilën secili identifikues shoqërohet me adresën e tij. Kjo lejon analiza të mëtejshme për të përdorur adresën e saj në tabelën e simboleve në vend të një vlere specifike (varg karakteresh).

Procesi i nxjerrjes në pah të argumenteve është mjaft i mundimshëm dhe kërkon përdorimin e algoritmeve komplekse të ndjeshme ndaj kontekstit.

Në fazën e analizimit, shenjat e marra analizohen për të marrë njësi sintaksore të kuptueshme semantikisht, të cilat më pas përpunohen nga analizuesi semantik. Pra, njësitë sintaksore janë shprehjet, deklarata, operatori i një gjuhe programimi, thirrja e funksionit.

Në fazën e analizës semantike përpunohen njësitë sintaksore dhe krijohet kodi i ndërmjetëm. Në varësi të pranisë ose mungesës së fazës së optimizimit, rezultati i analizës semantike mund të jetë një kod ndërmjetës i mëtejshëm i optimizuar ose një modul objekt i gatshëm.

Detyrat më të zakonshme të zgjidhura nga analizuesi semantik përfshijnë:

· Zbulimi i gabimeve në kohën e përpilimit;

· Plotësimi i tabelës së simboleve, të krijuar në fazën e analizës leksikore, me vlera specifike që përcaktojnë informacion shtesë për çdo element të tabelës;

· Zëvendësimi i makrove me përkufizimet e tyre;

· Ekzekutimi i direktivave në kohë përpilimi.

Një makro është një kod i paracaktuar që futet në program në fazën e kompilimit në të gjitha vendet ku tregohet thirrja në këtë makro.

Në fazën e sintezës së programit, kryhet si më poshtë:

· Gjenerimi i kodeve;

· Redaktimi i lidhjeve.

Procesi i krijimit të kodit konsiston në konvertimin e kodit të ndërmjetëm (ose kodit të optimizuar) në kodin e objektit. Në këtë rast, në varësi të gjuhës së programimit, kodi i objektit që rezulton mund të paraqitet në një formë të ekzekutueshme ose si një modul objekti për t'u përpunuar më tej nga lidhësi.

Pra, procesi i gjenerimit të kodit është një pjesë integrale e fazës së sintezës së programit dhe nevoja për të ekzekutuar lidhësin varet nga gjuha specifike e programimit. Duhet të theksohet se në praktikë termi "gjenerim i kodit" përdoret shpesh për të gjitha veprimet e fazës së sintezës së programit që çojnë në një formë programi të ekzekutueshëm.

Lidhësi përputhet me adresat e fragmenteve të kodit të vendosura në module të veçanta të objektit: përcaktohen adresat e funksioneve të jashtme të quajtura, adresat e ndryshoreve të jashtme, adresat e funksioneve dhe metodat e secilit modul. Për të modifikuar adresat, redaktori i lidhjeve përdor tabela të veçanta ngarkuese të krijuara në fazën e përkthimit. Pasi modulet e objektit të përpunohen nga lidhësi, krijohet një formë programi i ekzekutueshëm.

Një gjuhë programimi është një gjuhë zyrtare e krijuar për të lidhur një person me një kompjuter. Informacioni dhe algoritmi i përpunimit të të dhënave janë vendosur në gjuhën e programimit. Një kompjuter elektronik (ECM) percepton drejtpërdrejt një program të paraqitur në një gjuhë makine, programimi në të cilin është shumë i papërshtatshëm për njerëzit.

Zhvillimi i teknologjisë kompjuterike çoi në shfaqjen e gjuhëve të programimit. Qëllimi i një gjuhe të tillë është të pajis një grup formulash llogaritëse me informacion shtesë që e kthen këtë grup në një algoritëm. Në atë që vijon, një gjuhë programimi kuptohet si një gjuhë për përpilimin e programeve, d.m.th. gjuha në të cilën është shkruar algoritmi për zgjidhjen e problemit në kompjuter.

Programimi kompjuterik i gjeneratës së parë u krye ekskluzivisht në gjuhën e makinës. Gjuha e makinës është një grup rregullash për kodimin e veprimeve të caktuara (në shumicën e aritmetikës) në formë numerike. Për të gjitha makinat është i kuptueshëm vetëm sistemi binar i numrave, i cili, megjithatë, për të shkurtuar shënimin nga programuesit, u zëvendësua me atë oktal.

Një sistem numrash zakonisht kuptohet si një grup teknikash për emërtimin dhe përcaktimin e numrave. Sistemi i zakonshëm i shënimit të numrave është një sistem numrash dhjetorë pozicional në përputhje me faktin se vlera e tij numerike varet nga pozicioni i zënë nga ndonjë nga shifrat e përdorura në këtë sistem. Sistemi i numrave binar është më i thjeshtë, pasi përdor vetëm dy shifra: 0 dhe 1, dhe sistemi i numrave oktal është i përshtatshëm sepse baza e tij, përkatësisht vlera numerike 8, është fuqia e bazës së sistemit binar të numrave 2. Për Për shembull, numri dhjetor 65 mund të imagjinohet

Në shënimin dhjetor:

6 x 101 + 5 x 100 = 65;

Në sistemin oktal si

1 × 82 + 0 × 81 + 1 × 80 = 101;

Dhe në sistemin e numrave binar në formë

1 × 26 + 0 × 25 + 0 × 24 + 0 × 23 + 0 × 22 + 0 × 2l + 1 × 20 = 100 001.

Çdo veprim që duhet të kryhet nga një kompjuter specifikohet në gjuhën e makinës si komandë. Një komandë është informacion i paraqitur në një formë që ju lejon ta futni atë në një makinë dhe përcakton veprimet e një kompjuteri për një periudhë të caktuar kohore. Kështu, çdo komandë përcakton, në përgjithësi, një pjesë elementare të procesit të përpunimit të informacionit, të quajtur operacion makine. Informacioni fillestar për përpunim jepet, si rregull, si një grup vlerash specifike, të quajtura zakonisht të dhëna. Të dhënat fillestare për kryerjen e çdo veprimi, duke përfshirë një operacion makinerie, do të quhen operandë.

Në një komandë, në rastin e përgjithshëm, lloji i veprimit, vendndodhja e ruajtjes në makinë (adresa) e informacionit fillestar mbi të cilin kryhet operimi i makinës, adresa e rezultatit, si dhe komanda tjetër që do të ekzekutohet. pas kësaj, duhet të tregohet. Për operacionet (ose operacionet) aritmetike, informacioni fillestar vendoset, si rregull, në formën e dy numrave, prandaj, në komandën për të duhet të specifikohen dy adresa. Kështu, një instruksion duhet të përmbajë një kod optik që specifikon llojin e operacionit të makinës që do të kryhet, dhe katër adresa: dy adresa të operandëve, adresën e rezultatit dhe adresën e instruksionit të ardhshëm. Në mënyrë tipike, numri i kërkuar i adresave në një komandë është më pak se katër.

Në një kompjuter me komanda me tre adresa, adresa e komandës tjetër nuk tregohet, por komanda nga qeliza tjetër e memories ekzekutohet automatikisht (me një numër më të madh me një, që është adresa e komandës tjetër). Për shembull, nëse pranojmë kodin 01 për operacionin e mbledhjes, atëherë për mbledhjen e dy numrave nga qelizat me numër 2051 dhe 2052 me rezultatin e vendosur në qelizën me numër 2345, në një makinë me tre adresa komanda do të duket kështu:

01 2051 2052 2345 26

Përmirësimi i parë në procesin e programimit ishte futja e adresave simbolike, të cilat bënë të mundur kompozimin e komandave dhe ndarjen e memories veç e veç. Thelbi i kësaj teknike konsiston në ndarjen e RAM-it të makinës në vargje, numri i qelizave në të cilat nuk dihet paraprakisht, dhe numrat e qelizave të grupit jepen me emërtime alfanumerike si ai + 1, ai + 2,. ... ., të quajtura adresa simbolike. Shpërndarja e memories kryhet duke caktuar vlera numerike për të gjithë ai pasi të jetë përpiluar programi. Procesi i fundit është thjesht mekanik dhe mund të automatizohet, d.m.th. caktimi i adresave të vërteta mund t'i besohet vetë kompjuterit.

Ky përmirësim në procesin e programimit çoi shpejt në krijimin e gjuhëve simbolike të programimit, ose autokodeve. Një gjuhë e tillë ndryshon nga një gjuhë makine vetëm në atë që përcaktimet simbolike (alfabetike) përdoren në vend të vlerave numerike që shprehin kodin e funksionimit të komandës dhe adresën e tij. Prandaj, në autokodet e para, ekzistonte një korrespondencë një-për-një midis operacioneve të shkruara në gjuhën simbolike të programimit (ose kodimit) dhe udhëzimeve në gjuhën e makinës, e cila tregohej nga simboli 1: 1, i cili ishte shkruar. pas emrit të gjuhës. Për shembull, AUTOKODI 1: 1 - Kodimi AUTO një me një.

Përmirësimi i mëtejshëm i autokodeve u shpreh në shfaqjen e mjeteve shtesë që përcaktojnë, sipas rregullave të zakonshme, rendin e veprimeve në formula aritmetike ose sigurojnë, në kushtet e nevojshme, degëzimin e procesit llogaritës, përsëritjen ciklike të seksioneve të programit dhe të tjera. operacionet që dalin nga gjendja e problemit. Pra, gradualisht autokodet humbën prefiksin 1: 1, dhe gjuhët e tyre hyrëse u bënë jo thjesht makinerike, por të orientuara nga makina. Orientimi i makinës nënkuptonte që këto gjuhë vazhduan të bazoheshin në grupin e udhëzimeve të një kompjuteri të caktuar. Gjuhët e para të orientuara nga makina ishin përgjithësisht të papërsosura. Në disa gjuhë, përshkrimi i sekuencës së llogaritjeve u shkëput nga vetë formulat, të tjerat kishin simbole komplekse, pak vizuale ose shumë të specializuara, të tjerët u përshtatën vetëm për zgjidhjen e një game të kufizuar problemesh. Pengesë kryesore ishte lidhja e gjuhës me këtë makinë.

Me ardhjen e makinave të gjeneratës së dytë, lindi nevoja për të krijuar gjuhë që ishin plotësisht të përqendruara në veçoritë e detyrave dhe nuk vareshin nga një makinë specifike. Kjo kërkesë u përkeqësua nga fakti se kompjuterët e markave të ndryshme zëvendësuan shpejt njëri-tjetrin ose përdoreshin së bashku. Gjuhët e programimit të orientuara drejt problemeve u bënë simbol i gjeneratës së dytë të kompjuterëve. Zhvillimi i tyre përcaktohej gjithnjë e më shumë nga specifikat e detyrave, dhe jo nga tiparet e makinave. Në plan të parë doli ajo që ishte e zakonshme në probleme të ndryshme dhe kjo bashkoi gjuhë të ndryshme të krijuara në epokën e dominimit të problemeve llogaritëse. Këto gjuhë zakonisht quhen gjuhë algoritmike formale ose thjesht gjuhë algoritmike.

Kërkohet shumë nga një gjuhë formale algoritmike. Së pari, ai duhet të jetë vizual, gjë që mund të arrihet duke përdorur simbolet ekzistuese matematikore dhe mjete të tjera figurative lehtësisht të kuptueshme. Së dyti, fleksibël, në mënyrë që çdo algoritëm të mund të përshkruhet pa ndërlikime të panevojshme që lidhen me mungesën e mjeteve vizuale. Së treti, gjuha kërkohet të jetë e paqartë - regjistrimi i çdo algoritmi, i bërë në përputhje me të gjitha rregullat e gjuhës, nuk duhet të lejojë interpretime të ndryshme. Së katërti, shumëfazësh - një algoritëm kompleks mund të përshkruhet si një kombinim i algoritmeve më të thjeshta. Dhe, së fundi, gjuha duhet të jetë uniforme - nga njëra anë, numri i mjeteve piktoreske nuk duhet të jetë shumë i madh dhe, nga ana tjetër, është e nevojshme që të njëjtat mjete të mund të përdoren për të shprehur koncepte të njëjta ose të lidhura. në pjesë të ndryshme (sipas qëllimit të tyre) të algoritmit. Një gjuhë e tillë shërben:

Një mjet i të menduarit - papërsosmëria logjike e metodës së propozuar për zgjidhjen e një problemi shpesh zbulohet në procesin e shkrimit të kësaj metode me anë të një gjuhe algoritmike;

· Një mjet komunikimi midis njerëzve - një përshkrim i procesit, i kryer nga një person, duhet të jetë i disponueshëm për një tjetër;

· Një ndërmjetës midis një njeriu dhe një makine - në këtë rast, përkthimi nga gjuha algoritmike në gjuhën e makinës kryhet nga vetë makina duke përdorur një program të veçantë - një përkthyes.

Një nga gjuhët e para dhe më të suksesshme të këtij lloji ishte Fortran, e zhvilluar nga IBM. Në vitin 1954, një grup specialistësh amerikanë të programimit publikuan raportin e parë mbi gjuhën Fortran. Emri i gjuhës vjen nga togfjalëshi formula TRANslation - transformim i formulave. Gjuha Fortran jo vetëm që ka ekzistuar deri më sot, por gjithashtu mban me besim vendin e parë në botë për sa i përket përhapjes. Ndër arsyet e kësaj jetëgjatësie mund të vërehet struktura e thjeshtë si e vetë Fortran-it, ashtu edhe e përkthyesve të destinuar për të. Një program Fortran shkruhet në formën e një sekuence fjalish ose operatorësh (një operator nënkupton një përshkrim të një transformimi të caktuar informacioni) dhe hartohet sipas rregullave të caktuara. Këto rregulla vendosin kufizime, në veçanti, në formën e regjistrimit dhe rregullimin e pjesëve të operatorit në rreshtin e formularit për operatorët e regjistrimit. Një program Fortran është një ose më shumë segmente (nënrutina) deklaratash. Segmenti që kontrollon funksionimin e të gjithë programit në tërësi quhet programi kryesor.

Fortran u konceptua për përdorim në informatikë shkencore dhe inxhinierike. Megjithatë, kjo gjuhë mund të përshkruajë lehtësisht detyrat me logjikë të degëzuar (modelimi i proceseve të prodhimit, zgjidhja e situatave të lojës, etj.), disa probleme ekonomike dhe veçanërisht detyrat e redaktimit (hartimi i tabelave, përmbledhjeve, deklaratave, etj.).

Një modifikim i gjuhës Fortran, i cili u shfaq në 1958, u quajt Fortran II dhe përmbante konceptet e një nënprogrami dhe variabla të përbashkëta për të siguruar komunikim midis segmenteve.

Deri në vitin 1962, i takon shfaqja e gjuhës së njohur si Fortran IV dhe e cila është bërë më e zakonshme në kohën e tanishme. Në të njëjtën kohë, filloi puna e komisionit në Shoqatën Amerikane të Standardeve (ASA), i cili zhvilloi (deri në vitin 1966) dy standarde - gjuhët Fortran dhe bazën (kryesore) FORTRAN (Basic FORTRAN). Këto gjuhë përafërsisht korrespondojnë me modifikimet IV dhe II, por Fortran bazë është një nëngrup i Fortran, ndërsa Fortran II nuk është i tillë për Fortran IV.

Gjuha Fortran ende vazhdon të evoluojë dhe përmirësohet, duke ndikuar në krijimin dhe zhvillimin e gjuhëve të tjera. Për shembull, Fortran është baza për gjuhën e dialogut BASIC dhe shtrirjen e saj BASIC-plus, gjuhë të përdorura gjerësisht në të gjitha sistemet e ndarjes së kohës, gjuhë për të mësuar aftësitë e përdorimit të gjuhëve algoritmike në praktikën e programimit. Këto gjuhë zbatohen veçanërisht në kompjuterët personalë. Aktualisht, është krijuar një standard i ri - Fortran 77.

Menjëherë pas krijimit të Fortran (1957), u shfaq gjuha ALGOritmic (Gjuha ALGOritmic), e krijuar në bazë të një bashkëpunimi të gjerë ndërkombëtar. Në vitin 1960, u publikua një mesazh zyrtar në lidhje me një gjuhë algoritmike të quajtur Algol-60, ku numri 60 nënkupton vitin e miratimit të gjuhës.

Algol-60 u krijua pas zhvillimit dhe aplikimit praktik të Fortran, prandaj karakterizohet si nga prezantimi i modeleve të reja ashtu edhe nga përgjithësimi i koncepteve të disponueshme në Fortran. Për shembull, nëse në Fortran operatorët ndahen nga pikëpamja funksionale në të ekzekutueshëm dhe të paekzekutueshëm, atëherë në Algol nuk ekziston një ndarje e tillë, dhe ndërtimet e quajtura përshkrime luajnë rolin e operatorëve Fortran jo të ekzekutueshëm.

Ka edhe dallime të tjera. Sidoqoftë, ajo që kanë të përbashkët Fortran dhe Algol është fakti se të dyja gjuhët bazohen në konceptin e shprehjes, i cili praktikisht përkon me konceptin e një shprehjeje matematikore duke përdorur vetëm operacione algjebrike dhe funksione elementare. Objektet më të thjeshta nga të cilat përbëhen shprehjet janë numrat e plotë dhe numrat realë të përafërt dhe vlerat logjike.

Algol njihet gjerësisht si një mjet shumë i dobishëm për publikimin e algoritmeve dhe për mësimin e bazave të programimit.

Deri vonë, si Fortran ashtu edhe Algol-60 me të drejtë meritonin emrin e gjuhëve universale, pasi ato siguronin programimin e pjesës më të madhe të problemeve shkencore dhe teknike (kryesisht llogaritëse). Por asnjë nga këto gjuhë, natyrisht, nuk bëri të mundur përshkrimin e të gjitha problemeve që lindin pa përjashtim. Prandaj, pothuajse në të njëjtën kohë, gjuhët algoritmike u shfaqën me një orientim tjetër, duke plotësuar nevojat e atyre fushave të reja të shkencës dhe teknologjisë, të cilat filluan të zhvillohen intensivisht në vitet në vijim.

Një shembull janë detyrat ekonomike - detyra e kontabilitetit të aktiveve materiale, produkteve të prodhuara, personelit, financave, etj. ndërmarrje apo industri. Për detyra të tilla, veprimet kryesore janë operacionet hyrëse dhe dalëse me një sasi relativisht të vogël llogaritjesh të thjeshta, si dhe përpunimi vijues i grupeve të të dhënave. Përshkrimi i veprimeve të këtij lloji mund të kryhet në gjuhën e përbashkët të orientuar drejt biznesit, propozuar nga IBM në 1959.

Detyrat e përpunimit të informacionit simbolik lindin kryesisht në fushën e kërkimit shkencor. Këto janë, për shembull, transformimi i formulave, zgjidhja e ekuacioneve (jo numerike, por në formë analitike), analiza dhe sinteza e teksteve në gjuhë artificiale ose natyrore (në veçanti, programimi automatik dhe përkthimi me makinë), etj.

Nga gjuhët për përpunimin e informacionit simbolik, gjuha Lisp, e krijuar nga një grup studiuesish në vitin 1960 në Institutin e Teknologjisë në Massachusetts, është shumë e popullarizuar, kryesisht në mesin e përfaqësuesve të shkencave fizike dhe matematikore. Në këtë gjuhë, të gjitha informacionet që përpunohen, përfshirë vetë programin, organizohen në të ashtuquajturat lista - sekuenca elementësh. Një element mund të jetë primar (shkronjë ose numër) ose, nga ana tjetër, një listë. Në këtë mënyrë, mund të krijohen struktura arbitrare komplekse.

Një gjuhë tjetër - Snobol - përdoret kryesisht për analizën makinerike të teksteve të shkruara në gjuhë natyrore. Në të, koncepti bazë është një varg - një sekuencë arbitrare e shkronjave, numrave dhe karaktereve të tjera. Operacioni kryesor është një kërkim në një varg për një pjesë të një vargu të ndërtuar në një imazh të caktuar dhe duke zëvendësuar këtë pjesë me një varg tjetër. Si imazhi ashtu edhe linjat që e zëvendësojnë atë përbëhen nga elementë të veçantë të një lloji të thjeshtë. Rezultati i kërkimit përcakton sekuencën e veprimeve të mëtejshme. Gjuha Snobol është shumë e lehtë për t'u mësuar.

Avantazhi kryesor i gjuhëve algoritmike të orientuara drejt problemit, të pavarura nga makina është se ato u ndërtuan me konsideratë maksimale të ideve njerëzore, nëse jo për krijesën, atëherë për formën e problemit që zgjidhet, me përafrimin maksimal me formën. në të cilat një person është mësuar të përshkruajë këto detyra dhe duke marrë parasysh lidhjet logjike që ai mësoi të nxjerrë në pah në dukuritë në studim.

Algol, për shembull, karakterizohet nga një përafrim me simbolikën e zakonshme matematikore. Fortran, ndryshe nga Algol, është më afër gjuhës së makinës sesa gjuhës njerëzore. Lisp karakterizohet nga përdorimi i aparatit të të ashtuquajturave përshkrime rekursive, i cili përdoret gjerësisht në logjikën matematikore, në kërkimet mbi bazat e matematikës etj.

Bollëku i gjuhëve algoritmike që u shfaqën në periudhën e gjeneratës së dytë të kompjuterëve, nga njëra anë, është kryesisht për shkak të modës, nga ana tjetër, pamundësisë së ndonjë prej gjuhëve të propozuara për të përshkruar me lehtësi të gjitha problemet që kanë lindur. Gjenerata e tretë e kompjuterëve ka vënë në rendin e ditës zhvillimin e një qasjeje të re për krijimin e një gjuhe algoritmike vërtet universale.

Një nga përpjekjet e këtij lloji është krijimi nga IBM i gjuhës algoritmike PL / 1 (Gjuha e Programimit / 1 - një gjuhë programimi). Ai bazohet në gjuhët Fortran dhe Cobol, një sërë mjetesh dhe konceptesh piktoreske janë marrë nga Algol dhe gjuhë të tjera, në veçanti gjuhë për përpunimin e informacionit simbolik. Më pas u botuan disa versione të gjuhës, të cilat ishin shumë të ndryshme nga njëra-tjetra, por gradualisht gjuha u stabilizua, dhe tani botimet e reja ndryshojnë nga ato të mëparshme vetëm nga ndryshimet editoriale, eliminimi i pasaktësive ose përmirësimi i elementeve individuale.

Elementet kryesore të një programi të shkruar në gjuhën PL / 1 janë operatorët, me ndihmën e të cilëve përshkruhen të dhënat dhe operacionet e tyre të përpunimit. Për analogji me Fortran, programi origjinal është një koleksion i programit kryesor dhe nënprogrameve në formën e një blloku. Koncepti i një blloku në PL / l bazohet në konceptet e një blloku në gjuhën Algol-60. Kështu, kjo gjuhë është ndërtuar në tërësi mbi bazën e koncepteve të gjuhëve algoritmike ekzistuese dhe në traditat e tyre.

Një përpjekje tjetër lidhet me zhvillimin e mëtejshëm të Algol. Në vitin 1968, u botua një dokument që përshkruan themelet e një gjuhe të re universale algoritmike të quajtur Algol-68. Në këtë gjuhë, numri i koncepteve bazë reduktohet në një minimum të arsyeshëm për të arritur një fuqi të lartë vizuale të gjuhës, duke siguruar lirinë e kombinimit dhe ndërveprimit të këtyre koncepteve me njëri-tjetrin.

Gjuha Algol-68 është tradicionale, pasi ekziston dëshira për t'u siguruar të gjithë përdoruesve mjete të gatshme për të përshkruar algoritmet e tyre. Deri më tani, kjo qasje nuk mund të parandalonte shfaqjen e gjuhëve të reja të specializuara. Kështu, në vitin 1971, u botua gjuha algoritmike Pascal, e quajtur pas shkencëtarit të madh francez të shekullit të 17-të, i cili ishte i pari në botë që shpiku një pajisje automatike që lejon shtimin e numrave. Gjuha Pascal është pasardhëse e Algol-60, ajo ka ndërtime të ngjashme me ato në PL / l dhe Algol-68, por Pascal është më lakonik. Pascal është pothuajse aq i thjeshtë sa BASIC, por Pascal promovon futjen e teknologjisë moderne të programimit bazuar në ndërtimin gradual të një programi të përbërë nga procedura të vogla të mirëpërcaktuara, d.m.th. Idetë e programimit të strukturuar zbatohen vazhdimisht. Një tipar tjetër domethënës i Pascal është koncepti i strukturës së të dhënave si një nga konceptet themelore që shtrihen, së bashku me konceptin e një algoritmi, në zemër të programimit.

Mbi bazën e gjuhës Pascal në fund të viteve 70 u krijua gjuha Ada, e cila ka një fushë shumë të gjerë aplikimi. Gjuha është emëruar pas programueses së parë femër, Ada Lovelays. Gjuha algoritmike e Ada ka pësuar disa ndryshime në procesin e evolucionit dhe tani ka të gjitha shenjat dalluese të një gjuhe standarde. Është një gjuhë shumë e strukturuar, veçanërisht e përshtatshme për zhvillimin e sistemeve në kohë reale. Sidoqoftë, gjuha Ada është shumë e rëndë, e folur dhe nuk i jep programuesit liri të mjaftueshme.

Ndryshe nga gjuhët e listuara të nivelit të lartë që u shfaqën në fillim të viteve 80, gjuha e programimit C është një gjuhë relativisht e nivelit të ulët. Por kjo nuk do të thotë se kjo gjuhë nuk është mjaft e fuqishme. Gjuha C është një gjuhë universale e lidhur ngushtë me sistemin operativ popullor UNIX (si sistemi UNIX ashtu edhe softueri i tij janë shkruar në gjuhën C). Gjuha algoritmike C pasqyron plotësisht aftësitë e kompjuterëve modernë, duke ju lejuar të shkruani programe shumë efikase pa përdorur gjuhë të asamblesë, kryesisht për shkak të ndërtimeve të thjeshta, vijuese të flukseve të kontrollit. Ofrohen kontrolle, sythe, grupime dhe nënprograme, por jo multiprogramim, operacione paralele, sinkronizim dhe korutina - atribute të domosdoshme të gjuhëve të fuqishme (Ada, PL / 1, Algol-68).

Kohët e fundit ka pasur një tendencë drejt krijimit të të ashtuquajturave gjuhë universale të zgjeruara. Ideja kryesore e kësaj tendence nuk është shmangia e gjuhëve të specializuara dialektore, por krijimi i një baze të përbashkët për "programimin e dialekteve".

Gjuha e zgjerueshme duhet të ketë lehtësira për analizimin gramatikor të teksteve të ndonjë prej shtesave, në mënyrë që të zbulohet se cilat tekste janë gramatikisht të sakta për një dialekt të caktuar dhe çfarë strukture kanë. Një gjuhë e tillë duhet t'u japë konsumatorëve të saj të ardhshëm një sërë mundësish të rëndësishme: për shembull, të ndërtojë modele semantike (d.m.th., të prezantojë terma të rinj për të përshkruar konceptet e shprehura prej tyre, marrëdhëniet e tyre me disa koncepte bazë, fillestare dhe me konceptet e prezantuara më parë. ), përshkruani zbatimin e zgjerimeve - mënyrat e përfaqësimit më të përshtatshëm të tyre duke përdorur mjetet në dispozicion të kompjuterëve modernë. Ka veçori të tjera të gjuhëve të zgjeruara që mund të vihen re.

4.1. Sistemet e programimit.

Qëllimi kryesor i çdo programi - një përshkrim të sekuencës së komandave për procesorin qendror, i cili duhet ta ekzekutojë atë. Këto komanda duhet të shprehen në kodin e makinës, d.m.th. në një gjuhë të kuptueshme për procesorin qendror. Prandaj, është shumë e vështirë për një person të shkruajë programe në një gjuhë të tillë qasja e mëposhtme është marrë për të krijuar programe:

Programuesi shkruan tekst në një gjuhë që ai e kupton dhe është rehat. Më pas e përkthen në gjuhën e makinës dhe e kthen në një formë që është e përshtatshme për CPU-në dhe sistemin operativ.

Për këtë qëllim, po zhvillohen gjuhë të veçanta për përshkrimin e algoritmeve, të cilat quhen gjuhë algoritmike ose gjuhë programimi .

(05.12.2012)

Ato (gjuha algoritmike) kanë një sërë veçorish:

1. Specializimi - një mjet i ofruar nga një gjuhë e fokusuar në përshkrimin e detyrave të fushave lëndore të një lloji të caktuar. Për shembull: disa gjuhë janë të destinuara kryesisht për llogaritjet numerike (Pascal), të tjera për të punuar me informacionin tekstual (LISP) dhe të tjera për të shkruar programe të sistemit (C). Në thelb, gjuhët më të zakonshme ju lejojnë të përshkruani zgjidhjen e problemeve të ndryshme (prandaj ato quhen universale), por ato janë më të përshtatshmet për zgjidhjen e problemeve për të cilat janë krijuar.

2. Aftësia për të shkruar tekst lehtësisht të lexueshëm me një strukturë të qartë. Kjo qasje në programim quhet modulare (strukturore) ... Ai presupozon shkrimi i moduleve të veçanta softuerike me montimin e tyre të mëvonshëm të automatizuar në një program të vetëm. Në këtë rast, programuesi shkruan një modul programi të quajtur programi kryesor (kreu). ... Në të, ai përshkruan sekuencën e ekzekutimit të moduleve të mbetura, të cilat quhen programe ose funksione .

Për shkak të veçorive të gjuhëve të programimit, ekzistojnë katër faza të rëndësishme të fillimit të një programi për ekzekutim :

1. Transmetimi - përkthimi i tekstit të moduleve të programit nga një gjuhë algoritmike në një gjuhë makine.

2. Montimi i moduleve të programit të marra pas përkthimit në një program të vetëm.

3. Korrigjimi i një programi - procesi i gjetjes dhe eliminimit të gabimeve në tekstin e programit.

4. Ekzekutimi i programit.

Për të siguruar këto faza, synohen sistemet e programimit.

Ato përfshijnë komponentët e mëposhtëm:

1. Redaktues i specializuar i tekstit. Ofron ndihmë për një person në procesin e shkrimit të tekstit të moduleve të programit.

2. Përkthyesit. Përkthyes Është një përkthyes nga gjuha në të cilën janë shkruar tekstet e moduleve të programit në gjuhën e brendshme të makinës. Dy lloje të përkthyesve:

  • Interpretuesit. Përkthyesi siguron përkthimin rresht pas rreshti të tekstit të programit në gjuhën e makinës dhe ekzekutimin e njëkohshëm të çdo komande të këtij programi. Përkthyesi automatizon të gjitha fazat e fillimit të një programi për ekzekutim.
  • Kompiluesit. Përpiluesi përkthen tekstin e një moduli programi në gjuhën e makinës pa e ekzekutuar atë. Në të njëjtën kohë, zbulohen gabimet sintaksore të bëra nga programuesi në tekst. Si rezultat i punës së përpiluesit, krijohet një modul objekti, i cili ende nuk është gati për ekzekutim.

3. Redaktori i lidhjes. Redaktori i lidhjeve automatizohet procesi i grumbullimit të moduleve softuerike të lidhura, por të shkruara dhe të përkthyera veçmas. Gjatë punës së tyre zbulon ai gabimet e lidhjeve të specifikuara gabimisht midis moduleve ( për shembull, prania në tekst e një lidhjeje me një modul që nuk ekziston) ose mungesa e tyre. Përveç kësaj, shton ai informacionin e shërbimit të kërkuar nga sistemi operativ për kontrollin e mëvonshëm të ekzekutimit të këtij programi. Skedari i marrë nga programi mund të ekzekutohet nën kontrollin e sistemit operativ pa sistem programimi, prandaj quhet skedar i ekzekutueshëm (bootable). .


4. Korrigjues. Korrigjues jep ndihmojnë në gjetjen e gabimeve të ndryshme në program gjatë ekzekutimit të tij. Këto përfshijnë, për shembull: gabime logjike (përpjekje për të pjesëtuar me zero), si dhe gabime që lidhen me të dhëna hyrëse të pasakta.

Hyrje …………………………………………………………………………. 2

1 Gjuha dhe sistemi i programimit - koncepti, thelbi ……………… .4

2 Klasifikimi i gjuhëve të programimit ………………………………… .6

2.1 Gjuhë të orientuara nga makina ……………………………………. 6

2.1.1 Gjuhët e makinerisë ………………………………………………… 6

2.1.2 Gjuhët e kodimit simbolik ……………………………… 7

2.1.3 Autokodet ……………………………………………………………… 8

2.1.4 Makro ………………………………………………………………… .9

2.2 Gjuhët e pavarura nga makina …………………………………………… ..9

2.2.1 Gjuhë të pavarura nga makina ……………………………………… 10

2.2.2 Gjuhët universale …………………………………………………… 10

2.2.3 Gjuhët e bisedës ………………………………………………… ... 11

2.2.4 Gjuhët joprocedurale ………………………………………………… 12

3 Gjuhët moderne dhe sistemet e programimit ………………………… 13

3.1 Themelore …………………………………………………………………………… 13

3.2 Pascal ……………………………………………………………………… 14

3.3 Delphi ………………………………………………………………… ..15

3.4 Fortran ……………………………………………………………………… .17

3.5 СС ++ ……………………………………………………………… ... 18

3.6 Java ………………………………………………………………… ..20

përfundimi …………………………………………………………………………………………………………………………………………………

Lista e burimeve të përdorura ................................................ ................. 23

Prezantimi

Përparimi i teknologjisë kompjuterike ka përcaktuar procesin e shfaqjes së sistemeve të ndryshme të shenjave të reja për shkrimin e algoritmeve - gjuhë programimi. Kuptimi i shfaqjes së një gjuhe të tillë është se një grup i pajisur formulash llogaritëse për informacion shtesë e kthen këtë grup në një algoritëm. Një gjuhë programimi shërben për dy qëllime të ndërlidhura: i siguron programuesit aparatin për të specifikuar veprimet që duhet të kryhen, dhe i jep formë koncepteve që programuesi përdor kur mendon se çfarë të bëjë. Qëllimi i parë përgjigjet në mënyrë ideale nga një gjuhë që është aq "afër një makinerie" saqë të gjitha aspektet bazë të makinës mund të operohen lehtësisht dhe thjesht në një mënyrë që është mjaft e dukshme për programuesin. Qëllimi i dytë në mënyrë ideale plotëson gjuhën, e cila është aq "afër problemit që zgjidhet" sa konceptet e zgjidhjes së tij mund të shprehen drejtpërdrejt dhe shkurtimisht. Lidhja midis gjuhës në të cilën mendojmë/programojmë dhe problemeve dhe zgjidhjeve që mund të imagjinojmë në imagjinatën tonë është shumë e ngushtë. Për këtë arsye, kufizimi i vetive të një gjuhe vetëm me qëllimin e eliminimit të gabimeve të programuesit është i rrezikshëm në rastin më të mirë. Ashtu si me gjuhët natyrore, ka një përfitim të jashtëzakonshëm të qenit të paktën dygjuhësh. Gjuha i siguron programuesit një sërë mjetesh konceptuale, nëse ato nuk përmbushin detyrën, atëherë ato thjesht injorohen. Për shembull, kufizimet e rënda të konceptit të treguesit e detyrojnë programuesin të përdorë vektorë dhe aritmetikë të numrave të plotë për të zbatuar struktura, tregues dhe të ngjashme. Dizajni i mirë dhe dizajni pa gabime nuk mund të garantohen thjesht me mjete gjuhësore. Mund të duket e habitshme, por një kompjuter i veçantë është i aftë të ekzekutojë programe të shkruara në gjuhën e tij të makinës. Ka pothuajse po aq gjuhë të ndryshme makinerish sa ka kompjuterë, por të gjitha janë varietete të së njëjtës ide; operacione të thjeshta kryhen me shpejtësi rrufeje në numrat binar. Kompjuterët personalë IBM përdorin gjuhën e makinës të familjes së mikroprocesorëve 8086. hardueri i tyre bazohet pikërisht në këta mikroprocesorë. Është e mundur të shkruhen programe drejtpërdrejt në gjuhën e makinës, megjithëse kjo është e vështirë. Në agimin e kompjuterizimit (në fillim të viteve 1950), gjuha e makinës ishte e vetmja gjuhë, një person më i madh nuk mund ta kishte shpikur deri në atë kohë. Për të shpëtuar programuesit nga gjuha e ashpër e programimit të makinës, u krijuan gjuhë të nivelit të lartë (d.m.th. gjuhë jo makine), të cilat u bënë një lloj ure lidhëse midis njeriut dhe gjuhës së makinës kompjuterike. Gjuhët e nivelit të lartë funksionojnë përmes programeve përkthimore që injektojnë "kodin burimor" (një hibrid fjalësh angleze dhe shprehjesh matematikore që lexon një makinë) dhe në fund e detyrojnë kompjuterin të ekzekutojë udhëzimet e duhura, të cilat jepen në gjuhën e makinës. Ekzistojnë dy lloje kryesore të përkthyesve: përkthyes, të cilët skanojnë dhe kontrollojnë kodin burim në një hap, dhe përpilues, të cilët skanojnë kodin burimor për të prodhuar tekstin e një programi në gjuhën e makinës, i cili më pas ekzekutohet veçmas.

1 Gjuha dhe sistemi i programimit - koncepti, thelbi

Aktualisht, ka një zhvillim të shpejtë të disiplinës shkencore të quajtur programim. Në të njëjtën kohë, jo vetëm shfaqen gjuhë të reja, por shfaqen ide të reja që rrisin fuqinë dhe efikasitetin e gjuhëve. Është e mundur, pa hyrë në detajet e ndonjë prej gjuhëve ekzistuese ose të sapo zhvilluara, të vërehet tendenca e mëposhtme: zhvillimi i gjuhëve po shkon drejt rritjes së shprehjes së tekstit burimor të programit. Kjo ndihmon për të zvogëluar madhësinë e programit dhe për të rritur besueshmërinë e tij.

Për të rritur ekspresivitetin e një gjuhe, është e nevojshme që gjuha të përmbajë mjete për të shprehur koncepte abstrakte. Kjo ndihmon që programet e mëdha të kuptohen më lehtë. Prandaj, mbështetja për abstraksione është një domosdoshmëri për çdo gjuhë programimi moderne. Në të njëjtën kohë, baza e gjuhës (tërësia e mundësive që ofron gjuha, ndërtimet semantike) duhet të ketë një kardinalitet minimal.

Konceptet më të përgjithshme që përdor një programues kur përdor një gjuhë programimi specifike janë konceptet e një programi dhe një makinerie virtuale. Programi duhet të plotësojë kërkesat (specifikimet) e një gjuhe të caktuar programimi dhe të shërbejë si një kontejner për ruajtjen e një sekuence veprimesh dhe një grupi të dhënash. Makina virtuale vepron si interpretues i koncepteve bazë të përdorura në gjuhën e programimit dhe është mjedisi për ekzistencën e programit. Të gjitha abstraksionet e tjera të diskutuara në këtë artikull janë grupuar rreth këtyre abstraksioneve bazë.

Në disa raste, ju mund ta konsideroni procesin e programimit si një proces modelimi. Kjo krijon një program model të aftë për të realizuar sjelljen e origjinalit të përshkruar në deklaratën e problemit. Prandaj, në të ardhmen, koncepti i një modeli do të veprojë si zëvendësues për konceptin e një programi, dhe koncepti i një mjedisi modelimi për konceptin e një makine virtuale.

2 Klasifikimi i gjuhëve të programimit

2.1 Gjuhët e orientuara nga makina

Gjuhët e orientuara nga makina janë gjuhë, grupe operatorësh dhe mjete grafike të të cilave në thelb varen nga veçoritë e kompjuterit (gjuha e brendshme, struktura e kujtesës, etj.). Gjuhët e orientuara nga makina ju lejojnë të përdorni të gjitha aftësitë dhe veçoritë e gjuhëve të varura nga makina:

Cilësi e lartë e programeve të krijuara (kompaktësia dhe shpejtësia

ekzekutimi);

Aftësia për të përdorur burime të veçanta harduerike;

Parashikueshmëria e kodit të objektit dhe urdhrave të memories;

Për të shkruar programe efektive, duhet të njihni sistemin

komandat dhe veçoritë e funksionimit të këtij kompjuteri;

Kompleksiteti i procesit të hartimit të programeve (veçanërisht për

gjuhët e makinerisë dhe YASK), të mbrojtura dobët nga pamja

Shpejtësi e ulët programimi;

Pamundësia e përdorimit të drejtpërdrejtë të programeve,

të përpiluara në këto gjuhë, në kompjuterë të llojeve të tjera.

Gjuhët e orientuara nga makina ndahen në klasa sipas shkallës së programimit automatik.

2.1.1 Gjuha e makinës

Siç e përmenda tashmë, në hyrje, një kompjuter i veçantë ka gjuhën e tij specifike të makinerisë (në tekstin e mëtejmë ML), është e përshkruar të kryejë operacionet e specifikuara në operandët që ata përcaktojnë, kështu që ML është një gjuhë komanduese. Sidoqoftë, disa familje kompjuterash (për shembull, ES EVM, IBM / 370 /, etj.) kanë një LM të vetme për kompjuterë me fuqi të ndryshme. Komanda e secilit prej tyre jep informacion për vendndodhjen e operandëve dhe llojin e operacionit që kryhet.

Në modelet e reja kompjuterike, ka një tendencë për të rritur gjuhët e brendshme me mjete makineri-hardware për të zbatuar komanda më komplekse, duke iu afruar në veprimet e tyre funksionale operatorëve të gjuhëve të programimit algoritmik.

2.1.2 Gjuhët e kodimit simbolik

Le të vazhdojmë historinë për gjuhët e komandës, gjuhët e kodimit simbolik (në tekstin e mëtejmë YSC), si dhe 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ë YASK me simbole (identifikues), forma e shkrimit të të cilave ndihmon programues për të mësuar përmendësh më lehtë përmbajtjen semantike të operacionit. Kjo siguron një reduktim të ndjeshëm të numrit të gabimeve në programim.

Përdorimi i adresave simbolike është hapi i parë drejt krijimit të një YSC. Komandat e kompjuterit 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 adresës, i cili është i ndarë nga përpilimi i një programi në adresa simbolike, mund të bëhet nga një programues më pak i aftë ose një program special, i cili lehtëson shumë punën e programuesit.

2.1.3 Autokodet

Ka edhe gjuhë që përfshijnë të gjitha aftësitë e YSK, përmes prezantimit të zgjeruar të makrove - ato quhen Autokode.

Në programe të ndryshme, ekzistojnë disa sekuenca komandash 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 makrove speciale dhe përfshirja e këtyre të fundit në gjuhën e programimit në dispozicion të programuesit. Makrot përkthehen në udhëzimet e 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ë makro. Makrot sigurojnë transferimin e parametrave aktualë, të cilët futen në "bërthamë" të programit gjatë përkthimit, duke e kthyer atë në një program të vërtetë makine.

Në një sistem me gjenerim, ekzistojnë programe speciale që analizojnë makro, të cilat përcaktojnë se cili funksion duhet të kryhet dhe formojnë sekuencën e nevojshme të komandave që zbatojnë këtë funksion.

Të dy këto sisteme përdorin përkthyes YSC dhe një grup makrosh, të cilët janë gjithashtu operatorë autokodi.

Autokodet e zhvilluara quhen Assemblers. Programet e shërbimit, etj., si rregull, shkruhen në gjuhë të tilla si Assembler. Shihni më poshtë për më shumë informacion mbi gjuhën e Kuvendit.

2.1.4 Makro

Një gjuhë që është një mjet për të zëvendësuar një sekuencë karakteresh që përshkruajnë performancën e veprimeve të kërkuara kompjuterike me një formë më koncize quhet makro (mjetet zëvendësuese).

Në thelb, Macro synon të shkurtojë regjistrimin e programit origjinal. Komponenti i softuerit që mundëson funksionimin e makrove quhet makroprocesor. Teksti makrodefinues dhe burimor i dërgohet makroprocesorit. Reagimi i makroprocesorit ndaj thirrjes-lëshimit të tekstit dalës.

Një makro mund të funksionojë në të njëjtën mënyrë, si me programe ashtu edhe me të dhëna.

2.2 Gjuhë makinerike - të pavarura

Gjuhët e pavarura të makinës janë një mjet për të përshkruar algoritme për zgjidhjen e problemeve dhe informacionit që do të përpunohet. Ato janë të përshtatshme 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ë kompjuterëve dhe avionëve.

Gjuhë të tilla quhen gjuhë programimi të nivelit të lartë. Programet e shkruara në gjuhë të tilla janë sekuenca deklaratash të strukturuara sipas rregullave të gjuhës (detyrat, segmentet, blloqet, etj.). Operatorët e gjuhës përshkruajnë veprimet që duhet të kryejë sistemi pasi programi të përkthehet në LM.

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ë me deklarata të veçanta. Programuesi mori mundësinë të mos përshkruajë në detaje procesin llogaritës në nivelin e udhëzimeve të makinës, por të përqëndrohet në veçoritë kryesore të algoritmit.

2.2.1 Gjuhët e orientuara drejt problemit

Me zgjerimin e fushave të aplikimit të teknologjisë kompjuterike, u bë i nevojshëm formalizimi i paraqitjes së formulimit dhe zgjidhjes së klasave të reja të problemeve. Ishte e nevojshme të krijoheshin gjuhë të tilla programimi, të cilat, duke përdorur shënime dhe terminologji në këtë fushë, do të bënin të mundur përshkrimin e algoritmeve të kërkuara për zgjidhjen e problemeve të shtruara, ato u bënë gjuhë të orientuara drejt problemit. Këto gjuhë, gjuhë të fokusuara në zgjidhjen e problemeve specifike, duhet t'i ofrojnë programuesit mjetet për të formuluar problemin në një mënyrë të shkurtër dhe të qartë dhe për të marrë rezultatet 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, Snobol - për të punuar me strukturat e listave.

2.2.2 Gjuhët universale

Gjuhët universale janë krijuar për një gamë të gjerë detyrash: komerciale, shkencore, modeluese, etj. Gjuha e parë universale u zhvillua nga IBM, e cila u bë në sekuencën e gjuhëve Pl / 1. Gjuha e dytë më e fuqishme universale quhet Algol-68. Kjo ju lejon të punoni me karaktere, shifra, numra me pikë fikse dhe lundruese. Pl/1 ka një sistem të zhvilluar operatorësh për menaxhimin e formateve, për punën me fusha me gjatësi të ndryshueshme, me të dhëna të organizuara në struktura komplekse dhe për përdorimin efikas të kanaleve të komunikimit. Gjuha merr parasysh aftësitë e ndërprerjeve të përfshira në shumë makina dhe ka operatorë të përshtatshëm. Ofrohet mundësia e ekzekutimit paralel të seksioneve të programit.

Programet në PL / 1 përpilohen duke përdorur rutina automatike. Gjuha përdor shumë veti të Fortran, Algol, Kobol. Megjithatë, ai lejon jo vetëm alokimin dinamik, por edhe të menaxhuar dhe statistikor të memories.

2.2.3 Gjuhët e bisedës

Shfaqja e aftësive të reja teknike vendosi detyrën për programuesit e sistemit - të krijojnë mjete softuerike që sigurojnë ndërveprimin operacional të një personi me një kompjuter, ato u quajtën gjuhë dialogu.

Këto punime u kryen në dy drejtime. Gjuhët e veçanta të kontrollit u krijuan për të ofruar ndikim operacional në kalimin e detyrave, të cilat u përpiluan në çdo gjuhë të pazhvilluar më parë (jo ndërvepruese). Gjithashtu u zhvilluan gjuhë që, përveç qëllimeve të kontrollit, 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 që një kopje e programit origjinal të ruhej në kujtesën e kompjuterit edhe pas marrjes së programit të objektit në kodet e makinës. Kur bëni ndryshime në program duke përdorur gjuhën e dialogut, sistemi i programimit duke përdorur tabela të veçanta vendos marrëdhënien midis strukturave të programeve burimore dhe objektit. Kjo lejon që ndryshimet e nevojshme editoriale të bëhen në programin e objektit.

Një shembull i gjuhëve të bisedës është BASIC.

BASIC përdor shënime të ngjashme me shprehjet e zakonshme matematikore. Shumë operatorë janë versione të thjeshtuara të operatorëve Fortran. Prandaj, kjo gjuhë ju lejon të zgjidhni një gamë mjaft të gjerë problemesh.

2.2.4 Gjuhët joprocedurale

Gjuhët joprocedurale përbëjnë një grup gjuhësh që përshkruajnë organizimin e të dhënave të përpunuara nga algoritme fikse (gjuhët tabelare dhe gjeneruesit e raporteve) dhe gjuhët për komunikimin me sistemet operative.

Duke lejuar përshkrimin e qartë si detyrën ashtu edhe veprimet e nevojshme për ta zgjidhur atë, tabelat e vendimeve bëjnë të mundur përcaktimin e qartë se cilat kushte duhet të plotësohen përpara se të vazhdohet me ndonjë veprim. Një tabelë vendimesh që përshkruan një situatë të caktuar përmban të gjitha bllok diagramet e mundshme të zbatimit të algoritmeve të vendimit.

Metodat tabelare zotërohen lehtësisht nga specialistë të çdo profesioni.

Programet e shkruara në një gjuhë tabelare përshkruajnë në mënyrë të përshtatshme situata komplekse që lindin në analizën e sistemit.

3 Gjuhët moderne dhe sistemet e programimit

3.1 bazë

Ashtu si hamburgerët e famshëm, bejsbolli dhe basketbolli, BASIC është një produkt i New England. Siç thashë, ajo u krijua në 1964 si një gjuhë për mësimin e programimit. BASIC është një akronim i zakonshëm për Kodin e Instruksionit Simbolik të Gjithëpërdorshëm Fillestar (BASIC).

Së shpejti, të dy të trajnuarit dhe autorët e programeve zbuluan se BASIC mund të bëjë pothuajse gjithçka që bën Fortran-i i mërzitshëm dhe i ngathët. Dhe meqenëse BASIC ishte i lehtë për t'u mësuar dhe i lehtë për të punuar me të, programet në të zakonisht shkruheshin më shpejt se në Fortran. BASIC ishte gjithashtu i disponueshëm në kompjuterë personalë, zakonisht të ngulitur në ROM. Kjo është mënyra se si BASIC fitoi popullaritet. Është interesante se 20 vjet pas shpikjes së BASIC, është ende më e lehtë për të mësuar nga dhjetëra gjuhë programimi për qëllime të përgjithshme të disponueshme për entuziastët e programimit. Për më tepër, ai bën një punë të shkëlqyer.

Megjithë deklaratat e snobëve - mbështetës të gjuhëve C dhe Pascal, BASIC konsiderohet një gjuhë biznesi e pajisur me mjete të fuqishme për zgjidhjen e problemeve specifike që shumica e përdoruesve zakonisht zgjidhin duke përdorur kompjuterë të vegjël, përkatësisht: puna me skedarë dhe shfaqja e tekstit dhe imazheve grafike në ekranin e shfaqjes.

Pavarësisht disa nga mangësitë e Basic, askush nuk do ta mohojë që Kemeny dhe Kurtz ia kanë arritur qëllimit të tyre kryesor: ta bëjnë programimin më të aksesueshëm për më shumë njerëz.

Historikisht, BASIC zakonisht është zbatuar si përkthyes (izomeri i njohur është vetë BASIC interpretues). Arsyet e kalimit nga niveli amator në atë profesional janë zgjerimet e shumta të versionit klasik të gjuhës: aftësia për të çaktivizuar numërimin e rreshtave, konstruksionet e programit të strukturuar me shumë rreshta, strukturat e llojit "rekord", nënprogramet e emërtuara me parametra dhe variablat lokale.

Për më tepër, me ardhjen e përkthyesit QuickBasic të Microsoft, zhvilluesit kanë qenë në gjendje të ndërtojnë aplikacione në BASIC nga module të përpiluara veçmas, disa prej të cilave mund të shkruhen në gjuhë të tjera. Tani, si me gjuhët e tjera kryesore të programimit, zhvilluesi ka një zgjedhje midis disa bibliotekave nënprograme industriale që ofrojnë zgjidhje të para për problemet e zakonshme të programimit.

3.2 Paskalin

Gjuha Pascal u krijua si një gjuhë programimi arsimor në 1968-1971. Niklaus Wirth. Aktualisht, kjo gjuhë ka një shtrirje më të gjerë nga sa ishte parashikuar kur u krijua. Qëllimi i punës së Wirth ishte të krijonte një gjuhë që:

Do të ndërtohej mbi një numër të vogël konceptesh bazë;

Do të kishte një sintaksë të thjeshtë;

Do të lejonte që programet të përkthehen në kodin e makinës me një përpilues të thjeshtë;

Të gjitha këto cilësi e kanë bërë gjuhën shumë popullore dhe të përshtatshme për t'u përdorur në shkollë.

Pascal është një gjuhë programimi profesionale e quajtur sipas matematikanit dhe filozofit francez Blaise Pascal (1623-1662) dhe u zhvillua në 1968-1971. Nikolaus Wirth, për t'u mësuar studentëve teknikat e zhvillimit të softuerit si programimi nga lart-poshtë, programimi i strukturuar, etj. Virtu nuk i pëlqente asnjë nga gjuhët që ekzistonin në atë kohë, dhe në vitin 1968 ai filloi të zhvillonte të tijën. Versioni i parë i gjuhës u krijua për kompjuterin CDC 6000. Për shkak të qartësisë, qëndrueshmërisë dhe veçorive të tjera, Pascal ka zënë prej kohësh vendin e saj, duke qenë një gjuhë e shkëlqyer për mësimdhënien e programimit. Pascal u përdor gjithashtu për të zhvilluar aplikacione serioze softuerike. Ata bënë shaka se Wirth zhvilloi një lodër, por shumë e morën atë shumë seriozisht

Më pas, u shfaqën versione të ndryshme të gjuhës dhe zgjerimet e saj. Zgjerimi më i famshëm ishte paketa Turbo Pascal nga Borland, e cila u shfaq në 1983 dhe u bë menjëherë një ngjarje në botën e teknologjisë kompjuterike.

Turbo Pascal është një sistem programimi i krijuar për të përmirësuar cilësinë dhe shpejtësinë e zhvillimit të softuerit (vitet 80). Fjala Turbo në emrin e sistemit të programimit është një pasqyrim i markës tregtare të kompanisë zhvilluese Borland International (SHBA).

Sistemi i programimit Turbo Pascal quhet një mjedis programimi i integruar (integrimi - bashkimi i elementeve individuale në një tërësi të vetme), sepse ai përfshin një redaktues, një përpilues, një korrigjues dhe ka aftësi shërbimi.

Përmendja e parë e tij u përfshi në një reklamë të botuar në revistën Byte, dhe vetë paketa është menduar për sistemin operativ CP / M. Në fillim të vitit 1984, ai u transferua në mjedisin MS-DOS dhe fitoi popullaritet të jashtëzakonshëm. Që atëherë, disa versione të Turbo Pascal janë shfaqur, i fundit është i shtati.

3.3 Delfi

Ardhja e Delphi nuk mund të kalonte pa u vënë re në mesin e përdoruesve të shumtë të kompjuterave. Vlerësimet e ekspertëve që eksplorojnë mundësitë e këtij produkti të ri Borland janë zakonisht të ngjyrosura me entuziazëm. Avantazhi kryesor i Delphi është se këtu zbatohen idetë e programimit vizual. Mjedisi i programimit vizual e kthen procesin e krijimit të një programi në një ndërtim të këndshëm dhe të lehtë për t'u kuptuar të një aplikacioni nga një grup i madh primitivësh grafikë dhe strukturorë.

Sistemi Delphi ju lejon të zgjidhni shumë probleme, në veçanti:

Krijoni aplikacione të plota të Windows me një larmi qëllimesh: nga thjesht llogaritëse dhe logjike, tek ato grafike dhe multimediale.

Krijoni shpejt (madje edhe për programuesit fillestar) një ndërfaqe dritareje me pamje profesionale për çdo aplikacion.

Krijoni sisteme të fuqishme për të punuar me bazat e të dhënave lokale dhe të largëta.

Krijoni sisteme ndihmëse (skedarët .hlp) për aplikacionet tuaja dhe më shumë. dr.

Delphi është një sistem jashtëzakonisht i shpejtë në rritje. Versioni i parë, Delphi 1.0, u lëshua në shkurt 1995, dhe më pas versionet e reja u lëshuan çdo vit.

Shumica e versioneve të Delphi janë të disponueshme në disa versione: Standard - standard, Profesional - profesional, Klient / Server - klient / server, Ndërmarrja - zhvillimi i bazave të të dhënave të fushave lëndore. Variantet ndryshojnë kryesisht në nivele të ndryshme të aksesit në sistemet e menaxhimit të bazës së të dhënave. Opsionet e fundit janë Client / Server dhe Enterprise, të cilat janë më të fuqishmit në këtë drejtim.

Delphi është një kombinim i disa teknologjive kritike:

Përpilues me performancë të lartë në kodin e makinës.

Modeli i komponentit të orientuar nga objekti.

Ndërtimi vizual (dhe, për rrjedhojë, me shpejtësi të lartë) i aplikacioneve nga prototipet e softuerit.

Mjete të shkallëzueshme për ndërtimin e bazave të të dhënave.

3.4 Fortran

Një nga përpiluesit e parë dhe më të suksesshëm ishte gjuha Fortran, e zhvilluar nga IBM. Profesor J. Books dhe një grup specialistësh amerikanë në fushën e programimit në vitin 1954 publikuan mesazhin e parë për gjuhën. Fjalë për fjalë, emri i gjuhës FORmulaeTRANslation është transformimi i formulave.

Ndër arsyet e jetëgjatësisë së Fortran-it (dhe është një nga gjuhët më të përhapura në botë), mund të vërehet struktura e thjeshtë e vetë Fortran-it dhe e përkthyesve të destinuar për të. Një program Fortran shkruhet në një sekuencë fjalish ose operatorësh (një përshkrim i një transformimi të caktuar informacioni) dhe është hartuar sipas standardeve të caktuara. Këto standarde vendosin kufizime, në veçanti, në formën e regjistrimit dhe rregullimin e pjesëve të operatorit në rreshtin e formularit për operatorët e regjistrimit. Një program Fortran është një ose më shumë segmente (nënrutina) deklaratash. Segmenti që kontrollon funksionimin e të gjithë programit në tërësi quhet programi kryesor.

Fortran u konceptua për përdorim në informatikë shkencore dhe inxhinierike. Sidoqoftë, kjo gjuhë mund të përshkruajë lehtësisht detyrat me logjikë të degëzuar (modelimi i proceseve të prodhimit, zgjidhja e situatave të lojës, etj.), disa detyra ekonomike dhe veçanërisht detyrat e redaktimit (hartimi i tabelave, përmbledhjeve, deklaratave, etj.).

Një modifikim i gjuhës Fortran, i cili u shfaq në vitin 1958, u quajt Fortran II dhe përmbante konceptin e një nënprogrami dhe variabla të përbashkëta për të siguruar komunikim midis segmenteve.

Deri në vitin 1962, i takon shfaqja e gjuhës së njohur si Fortran IV dhe e cila është bërë më e zakonshme në kohën e tanishme. Në të njëjtën kohë, filloi puna e komisionit në Shoqatën Amerikane të Standardeve (ASA), i cili zhvilloi deri në vitin 1966 dy standarde - gjuhët Fortran dhe bazën (kryesore) FORTRAN (BasicFORTRAN). Këto gjuhë përafërsisht korrespondojnë me modifikimet IV dhe II, por Fortran bazë është një nëngrup i Fortran, ndërsa Fortran II nuk është i tillë për Fortran IV. Gjuha Fortran ende vazhdon të evoluojë dhe përmirësohet, duke ndikuar në krijimin dhe zhvillimin e gjuhëve të tjera. Për shembull, Fortran është baza për Basic, një gjuhë bisedore shumë e njohur për zgjidhjen e problemeve të vogla, një gjuhë e shkëlqyer për të mësuar aftësitë e përdorimit të gjuhëve algoritmike në praktikën e programimit. Kjo gjuhë - Beginner's All-purposeSymbolic InstructionCode - u zhvillua nga një grup punonjësish të Qendrës Informatike të Kolegjit Durmouth, New Hampshire, krijuar në vitin 19…. ... Por kjo është tashmë gjuha tjetër.

3,5 C dhe C ++

Gjuha "C" është një gjuhë programimi universale. Ai është i lidhur ngushtë me sistemin operativ "UNIX", pasi është zhvilluar në atë sistem dhe meqenëse "UNIX" dhe softveri i tij janë të shkruar në "C". Megjithatë, vetë gjuha nuk është e lidhur me ndonjë sistem operativ ose makineri të vetme; dhe megjithëse quhet gjuhë programimi sistemesh sepse është e përshtatshme për të shkruar sisteme operative, ajo është përdorur me sukses të njëjtë në shkrimin e programeve të mëdha kompjuterike, programeve të përpunimit të tekstit dhe bazave të të dhënave.

Gjuha "C" është një gjuhë relativisht e "nivelit të ulët". Nuk ka asgjë fyese në një përshkrim të tillë; thjesht do të thotë se "C" merret me objekte të të njëjtit lloj si shumica e kompjuterëve, domethënë simbole, numra dhe adresa. Ato mund të kombinohen dhe dërgohen përmes operacioneve të zakonshme aritmetike dhe logjike të kryera nga kompjuterë realë.

Nuk ka operacione në C që merren drejtpërdrejt me objekte të përbëra, të tilla si vargjet e karaktereve, grupet, listat ose vargjet si një numër i plotë. Këtu, për shembull, nuk ka asnjë analog të operacioneve PL / 1 që funksionojnë në vargje dhe vargje me numra të plotë. Gjuha nuk ofron asnjë mundësi tjetër për alokimin e memories përveç përcaktimit statik dhe mekanizmit të stivave të ofruara nga variablat lokale të funksioneve; nuk ka "grumbull" (HEAP) ose "grumbullim mbeturinash", siç parashikohet në ALGOL-68. Së fundi, "C" në vetvete nuk ofron asnjë aftësi I/O: nuk ka deklarata READ ose WRITE dhe nuk ka metoda të integruara të hyrjes në skedar. Të gjithë këta mekanizma të nivelit të lartë duhet të mbështeten nga funksione të thirrshme në mënyrë të qartë.

Po kështu, C ofron vetëm konstruksione të thjeshta rrjedhëse vijuese: kontrolle, sythe, grupime dhe nënprograme, jo shumëprogramime, operacione paralele, sinkronizim ose korutina. Ndërsa mungesa e disa prej këtyre veçorive mund të duket si një inferioritet zhgënjyes ("kështu që duhet të thërras një funksion për të krahasuar dy vargje karakteresh?!"), mbajtja modeste e gjuhës ka përfitime reale. Meqenëse "C" është relativisht e vogël, nuk merr shumë hapësirë ​​për ta përshkruar dhe mund të mësohet shpejt. Një përpilues "C" mund të jetë i thjeshtë dhe kompakt. Përveç kësaj, përpiluesit janë të lehtë për t'u shkruar; duke përdorur teknologjinë moderne, mund të pritet që të shkruhet një përpilues për një kompjuter të ri brenda dy muajsh, dhe në të njëjtën kohë rezulton se 80 për qind e programit të kompajlerit të ri do të jetë i përbashkët me programin për përpiluesit ekzistues. Kjo siguron një shkallë të lartë të transportueshmërisë së gjuhës. Për shkak se llojet e të dhënave dhe strukturat e kontrollit që gjenden në "C" mbështeten drejtpërdrejt nga shumica e kompjuterëve ekzistues, biblioteka e kërkuar kur ekzekutohen programet me sandbox është shumë e vogël. Në PDP-11, për shembull, ai përmban vetëm programe për shumëzim dhe pjesëtim 32-bit dhe për ekzekutimin e programeve të hyrjes dhe daljes së sekuencës. Sigurisht, çdo zbatim

Ai siguron një bibliotekë gjithëpërfshirëse, të qëndrueshme të funksioneve për kryerjen e I/O, manipulimin e vargjeve dhe shpërndarjen e memories, por meqenëse ato aksesohen vetëm në mënyrë eksplicite, ato mund të shmangen nëse është e nevojshme; këto funksione mund të shkruhen kompakt në vetë "C".

3.6 Java

Sot World Wide Web është një mjedis shkëmbimi informacioni për miliona njerëz. Ata prezantojnë tekst, video, zë dhe informacion, dhe gjithnjë e më shumë, i ndërlikojnë faqet e tyre duke i bërë ato interaktive në ueb. JavaScript është një gjuhë e re programimi e përdorur si pjesë e faqeve HTML për të rritur funksionalitetin dhe përvojën e përdoruesit. Ai u zhvillua nga Netscape në bashkëpunim me Sun Microsystems dhe bazohet në gjuhën Java të Sun. JavaScript ju lejon të bëni gjëra në një faqe interneti që nuk mund të bëhen me etiketa standarde HTML. Skriptet ekzekutohen si rezultat i ngjarjeve të shkaktuara nga përdoruesit. Krijimi Dokumentet në ueb që përfshijnë programe JavaScript kërkojnë një redaktues teksti dhe një shfletues të përshtatshëm Disa shikues përfshijnë redaktues të integruar, kështu që nuk ka nevojë për një redaktues të jashtëm.

Edhe pse nuk lidhet drejtpërdrejt me gjuhën Java, JavaScript mund të aksesojë vetitë dhe metodat e jashtme të aplikacioneve Java të ngulitura në një faqe HTML. Dallimi vjen në faktin se aplikacionet ekzistojnë jashtë shfletuesit, ndërsa programet JavaScript mund të funksionojnë vetëm brenda shfletuesit. Në shikim të parë, duket se informacioni JavaScript është i lehtë për t'u gjetur. Në fillim të krijohet përshtypja se mund ta shohësh kudo: në serverin Natscape, në formën e udhëzuesve dhe shembujve elektronikë, në shumë vende të tjera. Sidoqoftë, është e vështirë të gjesh informacione për objektet, operatorët, ngjyrat dhe gjithçka tjetër në një burim, kështu që është gjithmonë pranë, është e vështirë.

konkluzioni

Shpikja e një gjuhe programimi të nivelit të lartë na lejoi të komunikonim me një makinë, ta kuptonim atë. Shkenca e programimit është zhvilluar që nga koha kur u shfaqën gjuhët e programimit, dhe në fund të fundit, një gjuhë programimi e nivelit më të lartë, me sa duket, është ende një foshnjë. Por nëse i kushtojmë vëmendje ritmeve të rritjes dhe zhvillimit të teknologjive më të fundit në fushën e programimit, atëherë mund të supozojmë se në të ardhmen e afërt, njohuritë njerëzore në këtë fushë do të ndihmojnë në prodhimin e gjuhëve që mund të marrin, përpunojnë dhe transmetojnë informacion në formën e mendimeve, fjalëve, tingujve ose gjesteve. Do të doja ta quaja këtë ide të së ardhmes së kompjuterizuar: "gjuhët e programimit të "nivelit" më të lartë. Ndoshta koncepti i zgjidhjes së kësaj çështjeje është i thjeshtë dhe e ardhmja e afërt e këtij projekti nuk është e largët.

Duke reflektuar për këtë, unë dua të besoj në përparimin e shkencës dhe teknologjisë, në të ardhmen shumë të kompjuterizuar të njerëzimit, si e vetmja krijesë në planet, edhe nëse nuk përdor një gjuhë të folur të caktuar, por është në gjendje të përparojë kaq shpejt. dhe të zhvillojë intelektin e tij për kalimin nga shumëgjuhësia, sistemi për mirëkuptim të përgjithshëm nuk do të duhet të presë gjatë.

Lista e burimeve të përdorura

1) Rodley John Krijimi i aplikacioneve Java - The Coriolis Group, Inc., 1996, Shtëpia botuese NIPF "DiaSoft Ltd.", 1996

2) Efergan Michael Java: A Handbook - QUE Corporation, 1997, Peter Com Publishing, 1998

3) Davidov Mikhail Izgiyaevich; Antonov Vadim Gennadievich "LEX - gjenerator i programeve për analizë leksikore" MOSKË - 1985;

4) "BASIC Face-off", Justin J. Crom, PC Tech Journal, shtator 1987, 136 Përkthim: V.N. Lopukhov. (Integrator Promt98);

5) Kernighan B.V., Ritchie D., Fewer A. "The C programming language." Përkthimi rusisht: Moska: Financa dhe statistika. 1985;

6) Zolotarev V.V., "Bazat e automatizimit" Pjesa 1, 1978;

7) Vaulin A.S., “Gjuhët e programimit” libri 5, 1993;

8) Terrence P. “Programming languages: design and implement”, 1979;

9) Kasvands E.G "Hyrje në programim në gjuhën Assembler" pjesa 1;

10) Khrotko G., “Gjuhët e programimit të nivelit të lartë”, 1982;

11) Malyutin E.A., Malyutina L.V., “Gjuhët e programimit”, 1982;

12) Ushkova V. “Gjuhët e reja programuese dhe tendencat e zhvillimit të tyre”, 1982;

13) Huvenen E., Seppenen J., "The World of Lisp" v.1, 1990;

14) Young S., "Gjuhët algoritmike të kohës reale", 1985.

Artikujt kryesorë të lidhur