7 programmeerimiskeelt. Programmeerimiskeelte loend

Masin ei saa inimkeelest aru. Loomulikult ei räägi me Sirist ja teistest hääletuvastajatest – me räägime uue tarkvara loomisest. Kalkulaatori tegemiseks tuleb masinale anda samamoodi ülesanne, nagu teejuht selgitab töötajatele telliste ladumist. Aga "Vasya, yopt, noh, sa pead olema ühtlasem!" tuleb kirjeldada programmeerimiskeeles. Kust need keeled tulid?

Kaasaegse arvuti lähtepunktiks on Babbage'i analüütiline mootor, kuid keeled leiutati varem: 19. sajandil leiutati mehaaniline klaver ja kangasteljed, mille jaoks insenerid kirjeldasid töö loogikat. See juhiste komplekt on prototüüp sellele, mida programmeerijad tänapäeval kirjutavad.

20. sajandi keskel ilmub Turingi masin, seejärel esimesed arvutid ja esimene kaasaegne programmeerimiskeel Plankalkül. Esimene arenguhüpe toimus siis, kui sõjavägi pööras tähelepanu arvutitele – DARPA ja teised sarnased hakkasid aktiivselt nooresse tööstusesse investeerima. Teine tuli koos interneti levikuga – mida sügavamale digiajastusse sukelduvad, seda nõutumad on selle ajastu keskkonna peamised loojad – programmeerijad. Ja üha rohkem inimesi soovib nendega ühineda.

Soov on mõistlik ja arusaadav, kuid esimene küsimus peas muutub sageli ületamatuks barjääriks - mis keelest alustada programmeerimise õppimist? Vale valiku tegemise hirm põhineb kartusel raisata aega. Selle tulemusena on algaja programmeerija mitu aastat otsinud "oma" keelt, liikumata oma hellitatud eesmärgi poole. Niisiis, kurat, mis keele ma peaksin valima?

Esimese programmeerimiskeele valimise kriteeriumid

Keele valik sõltub ülesannetest, mida programmeerija soovib lahendada. Internetiprojektide puhul on populaarne Python, mida kasutavad oma projektides Google ja Facebook, Androidi mobiilirakenduste puhul on parim sõber Java ning iOS-i puhul Swift.

Tõeline valikuprobleem on konkreetse ülesande puudumine. See on normaalne, sest sa saad täpselt aru, mida sa teha tahad, alles siis, kui oled keskkonnas sees. Seetõttu soovitavad eksperdid võtta esimese keelena keele, millega saab lahendada kõige laiemas valikus probleeme.

Muidugi suudavad kõrgelt spetsialiseerunud keeled paremini lahendada ülesandeid, mille jaoks nad on teritatud, kuid see on järgmine samm. Algaja vajab ikka valikuvabadust.

Välja arvatud universaalsus, on ka teisi kriteeriume:

  • Lihtsus- keerulise süntaksi otsa komistamine ja loetamatu koodi metsikusse ummikusse sattumine pole õppimise kõige meeldivam algus.
  • Populaarsus- keelt tuleks sageli värskendada, sellel peaks olema suur arendajate kogukond, see peaks olema suurtes ettevõtetes nõutud. Plussiks on ka see, et mida populaarsem on keel, seda lihtsam on tekkinud tööküsimusele vastust leida.

Need kolm kirjeldust sobivad kõige paremini Pythonile, C#-le, Javale ja Rubyle.

Välja töötatud 80ndatel Hollandi programmeerija Guido van Rossumi poolt. Pythoniga töötavad suured tehnoloogiaettevõtted: Yandex, Google, Facebook ja YouTube. See on nn skriptikeel – sinna kirjutatakse, mis programmil kapoti all on. Seda kasutatakse veebirakenduste, mängude arendamise, serveritarkvara jaoks ...

Lihtsus Populaarsus Mitmekülgsus

Koodi on lihtne lugeda ja sellel on selge struktuur. Õppimise alustamiseks piisab standardvahenditest.

USA ülikoolide programmeerimisprogrammide algtasemel 1. kohal.

Uuendatakse regulaarselt - iga 2,5 aasta tagant. Analüütilise ettevõtte TIOBE Software andmetel kuulus 2016. aasta jaanuari seisuga viie populaarseima keele hulka.

Peaaegu kõik on Pythonis kirjas: süsteemihaldusskriptid, veebisaidid, masinõppesüsteemid, mängud.

Keel töötati välja 90ndate lõpus C++ ja Java baasil. Kasutatakse peamiselt suurettevõtete projektide jaoks, kuid mitte ainult. Näiteks Unity mängumootori skriptid on kirjutatud C# keeles.

Lihtsus Populaarsus Mitmekülgsus

Struktuurselt lähedane C ++-le ja Java-le – süntaks (koodistruktuur) on keerulisem kui Pythoni ja Ruby oma, kuid seotud keelte õppimiseks kulub vähem aega. Teegi liidesed sobivad hästi kujundusmustritesse, muutes selle õppimise lihtsaks.

Viimane uuendus toimus 2015. aastal.

C# on kirjutatud Windows Phone'i, iOS-i ja Androidi jaoks. Suur hulk dokumentatsiooni, kuid tasuta litsentsiga raamatukogusid pole palju - see tähendab, et programmeerija võib koolitusel kasutada kellegi teise koodi, kuid selle kasutamise eest kommertstootes tuleb maksta.

Selle keele leiutasid Microsofti programmeerijad Windowsi rakenduste arendamiseks. Sellest hoolimata kasutatakse seda ka teistes süsteemides. Töötab ka manustatud, töölaua- ja serveriplatvormidel.


rubiin

Loodud Jaapani arendaja poolt, keda mõjutas Perli keel. Käivitatud 1995. aastal. Ruby keeles kirjutatud: Shopify, Github, Groupon, Yellow Pages, Twitter ja Slideshare. See kogub populaarsust, kuid on rohkem levinud idufirmades kui suurettevõtetes. Hea lihtsa internetiprojekti loomiseks.

Lihtsus Populaarsus Mitmekülgsus

Sarnaselt Pythoniga on koodi lihtne lugeda. Struktuur on samuti identne Pythoniga. Võrreldes teiste keeltega on standardsete raamatukogude valik kesisem – otsimisele tuleb kulutada aega.

Suur ja lojaalne arendajate kogukond – sulgeb TIOBE tarkvara järgi populaarseimate keelte esikümne. Paljud raamatukogud on tasuta saadaval.

Neist neljast kõige vähem mitmekülgsem – sobib peamiselt veebiarenduseks. Seevastu internetiprojektide sees saab sellega teha väga erinevaid ja väga lahedaid asju.


Java

Keele esimene versioon ilmus 1995. aasta mais. Java-d kasutavad Amazon, eBay, LinkedIn ja Yahoo!

Lihtsus Populaarsus Mitmekülgsus

Nagu varem mainitud, on Java ja C# väga sarnase süntaksiga – õppinud ühte, peaaegu tean teist. Kuid nagu ka esimesel juhul, on süntaks keerulisem kui Ruby ja Python.

Maailmas on 3 miljardit Androidi nutitelefoni, mis tähendab, et Java järele on nõudlus veel pikka aega. TIOBE tarkvara järgi populaarsuselt esimene.

Kõige sagedamini kasutatakse ettevõtte arendamiseks ja Androidi rakendusteks.


Ettevalmistuse tulemus

Järeldust on raske teha. Ühest küljest meelitab võimalus tappa kaks kärbest ühe hoobiga ja võtta Java või C #, kuid Python meelitab oma mitmekülgsusega ja Ruby lihtsusega.

Kahtlesime ja rääkisime kogenud arendajatega – nad soovitavad ikkagi Pythoni juures peatuda. Siin ütleb Grigori Petrov, professionaalne arendaja, VoxImplant evangelist:

Pythoni programmeerimiskeelt nimetatakse sageli "käivitatavaks pseudokoodiks", kuna keele süntaks ja standardteegid rõhutavad loetavust ja arusaadavust. Lisage sellele kõige laiem valik arendustööriistu, teeke, koolitusmaterjale – ja meil on üks parimaid programmeerimiskeeli algajatele.

Järeldus: Kuigi puuduvad selged ülesanded ja selged eesmärgid, on vaid soov kodeerida, tasub peatuda Pythonil - see on lihtne, populaarne ja universaalne. Ka #tceh algajate programmeerimisõpetaja Nikita Sobolev peab selle keele valikut algaja jaoks optimaalseks - õppeprogramm osutus raskemaks ja pikemaks kui Ruby kursusel, kuid vabadus suuna valikul on seda väärt.

    Programmeerimiskeelte loendid kategooriate kaupa kronoloogiline genealoogiline Programmeerimiskeelte loend kategooriate kaupa. Mõned keeled kuulusid rohkem kui ühte kategooriasse. Sisu ... Vikipeedia

    Programmeerimiskeelte loendid kategooriate kaupa Kronoloogiline genealoogiline Programmeerimiskeelte genealoogiline loend on antud. Keeled klassifitseeritakse eelnevate keelte järgi, millel oli tugev mõju ... Vikipeedia kujunemisele

    Sisu 1 Tootja või platvormi järgi 1.1 Flash 1.2 Java 1.3 Microsof ... Wikipedia

    Programmeerimiskeelte loendid Kategooriate järgi Programmeerimiskeelte kronoloogiline genealoogiline ajaskaala on kronoloogiliselt järjestatud programmeerimiskeelte loend. Sisu ... Vikipeedia

    See artikkel tuleks wikistada. Palun vormindage see vastavalt artiklite vormistamise reeglitele. Konventsioonid ... Wikipedia

    See leht on teabeloend. .NET programmeerimiskeeled (CLI-toega keeled või CLI keeled) arvutiprogrammeerimiskeeled, mida kasutatakse teekide ja programmide loomiseks, mis vastavad Comm ... Wikipedia

    Põhiartikkel: Tekstiredaktor Windowsi tekstiredaktorite loend ja võrdlustabel. Sisukord 1 Tuntud tekstiredaktorite võrdlustabel ... Wikipedia

    C# programmeerimiskeel on tänapäeval üks populaarsemaid programmeerimiskeeli. Paint.NET avatud lähtekoodiga rastergraafika tarkvara SharpDevelop avatud lähtekoodiga IDE C# jaoks, Visual Basic .NET (VB.NET), Boo ... Wikipedia

    See on nimekiri tarkvarast, mille Free Software Foundation on GNU UNIX projekti osana välja töötanud sarnase operatsioonisüsteemi jaoks, mis koosneb täielikult vabast tarkvarast. Enamik neist pakettidest on ka ... ... Vikipeedia

    See artikkel või jaotis vajab ülevaatamist. Palun täiustage artiklit vastavalt artiklite kirjutamise reeglitele ... Vikipeedia

Raamatud

  • JavaScript lastele. Programmeerimisõpetus, Nick Morgan. Teave raamatu kohtaSee raamat võimaldab teil programmeerimisse sukelduda ja JavaScipti hõlpsalt omandada. Kirjutate mõned tõelised mängud - kaardile aardejaht, "Gallows" ja "Snake". Igal…
  • Python lastele. Programmeerimise õpetus, Jason Briggs. Raamatust See raamat on õpetus ühe tänapäeval populaarseima programmeerimiskeele – Pythoni – kohta. Alustades kõige lihtsamatest sammudest, kirjutate samm-sammult oma…

Programmeerimine algajatele

Alustuseks tahaksin öelda, et igaüks saab arvutit hallata ja programme luua. Arvutiprogrammide loomiseks ei pea teil olema uskumatut intelligentsust ega kõrgharidust matemaatikas. Kõik, mida vajate, on soov millestki aru saada ja kannatlikkus, et mitte tundidest loobuda.

Programmide kirjutamise oskus on sama, mis oskus ujuda, tantsida või žongleerida. Mõned inimesed teevad seda palju paremini kui teised, kuid igaüks võib korraliku harjutamisega teatud tulemusi saavutada. Just sel põhjusel saavad lapsed juba varakult programmeerimisässadeks. Lapsed ei pruugi olla säravad; nad lihtsalt kipuvad uusi asju õppima ega karda vigu teha.

Hoolimata asjaolust, et arvutid tunduvad väga keerukad elektroonilised koletised, lõõgastuge. Väga vähesed teavad täpselt, kuidas töötavad otsingumootorid, mis võimaldavad internetist kiiresti vajalikku infot leida ning osa inimesi pole autoga sõitmise pealegi aru saanud. Samamoodi saab peaaegu igaüks õppida programme kirjutama, ilma et peaks arvuti täpselt töötama.

Üldiselt ütleb programm arvutile, kuidas konkreetset probleemi lahendada. Kuna maailm on probleeme täis, on inimeste kirjutatavate programmide arv lõputu.

Kuid selleks, et öelda arvutile, kuidas lahendada üks suur probleem, peate tavaliselt arvutile ütlema, kuidas lahendada terve rida väikeseid probleeme, millest koosneb suur probleem.
Tegelikult pole programmeerimine üldse raske ega ole midagi salapärast ja üleloomulikku. Kui saate kirjutada samm-sammult juhised, mis võimaldavad inimesel teie kodu leida, saate kirjutada arvutiprogrammi.

Programmeerimise kõige raskem osa on tuvastada väikesed probleemid, mis moodustavad probleemi, mida peate lahendama. Kuna arvutid on täiesti rumalad, peate neile ütlema, kuidas mis tahes toiminguid teha.

Kui arvate, et programmi loomine on huvitavam kui selle kasutamine, on teil arvutiprogrammide loomiseks kõik vajalik olemas. Kui soovite õppida arvutiprogramme kirjutama, on teil vaja järgmisi kolme omadust.

Jälitamine. Kui sa midagi väga tahad, siis kindlasti saad (aga kui teed midagi ebaseaduslikku, siis riskid veeta palju aega vanglas). Kui soovite programmeerimist õppida, aitab teie soov teid kindlasti, olenemata sellest, kui palju takistusi teie teel on.

Uudishimu. Tervislik annus uudishimu võib õhutada teie soovi katsetada ja parandada oma programmeerimisoskusi isegi pärast selle raamatu lugemist. Uudishimu muudab programmeerimise õppimise teie jaoks vähem igavaks ja huvitavamaks. Ja huvi korral õpid ja mäletad kindlasti rohkem infot kui ükski inimene, keda see täiesti ei huvita (näiteks sinu ülemus).
Kujutlusvõime. Arvutiprogrammide loomine on oskus, kuid kujutlusvõime aitab seda oskust täiuslikumaks ja suunatumaks muuta. Fantaasiarikas algaja programmeerija loob alati palju huvitavamaid ja kasulikumaid programme kui suurepärane fantaasiavaba programmeerija. Kui te ei tea, mida oma programmeerimisoskustega peale hakata, sureb teie talent lihtsalt ilma kujutlusvõimeta.

Kirg, uudishimu ja kujutlusvõime on kolm kõige olulisemat omadust, mis igal programmeerijal peaksid olema. Kui teil need on, peaksite muretsema ainult pisiasjade pärast: millist programmeerimiskeelt õppida (näiteks C ++), mis on matemaatikaga jne.

Paljude programmeerimiskeelte hulgast leiab alati täpselt selle keele, mis antud ülesande lahendamiseks sobib. Kui ilmneb uut tüüpi probleem, loovad inimesed uusi keeli.

Loomulikult saab arvuti tegelikkuses aru ainult ühest nullidest ja ühtedest koosnevast keelest, mida nimetatakse masinakeeleks. Tüüpiline masinkeeleprogramm näeb välja umbes selline:

0010 1010 0001 1101

ÜRO 1100 1010 1111

0101 IT 1101 0101

1101 1111 0010 1001

Edasi on väga oluline, mis eesmärgil keel on valitud - programmeerimise õpetamiseks või konkreetse rakendusprobleemi lahendamiseks. Esimesel juhul peaks keel olema lihtsalt arusaadav, range ja võimalusel ilma "lõkse". Teises - ehkki keeruline, kuid tõhus ja väljendusrikas tööriist professionaalile, kes teab, mida ta tahab.

Nüüd tahaksin teile selgitada, et peaksite eristama programmeerimiskeelt (Basic, Pascal) selle rakendamisest, mida tavaliselt esitatakse programmeerimiskeskkonna osana (Quick Basic, Virtual Pascal) - lähtekoodide redigeerimise tööriistade komplekt. , käivitatava koodi genereerimine, silumine, projektide haldamine jne. Programmeerimiskeele süntaks ja semantika on keelestandardis fikseeritud. Iga programmeerimiskeskkond pakub sellest keelest oma tõlgi või kompilaatori, mis võimaldab sageli kasutada konstruktsioone, mis pole standardis fikseeritud.

Mõelge peamistele ja populaarsetele programmeerimiskeeltele

komplekteerija See on madalatasemeliste keelte eredaim esindaja, mille kontseptsioonide kogum põhineb riistvaralisel juurutamisel. See on automatiseerimistööriist programmeerimiseks otse protsessori koodidesse. Masinakäsklused on kirjeldatud mnemooniliste operatsioonide vormis, mis võimaldab saavutada piisavalt kõrge koodi muudetavuse. Kuna erinevatel protsessoritel on juhiste komplekt erinev, siis ühilduvusest pole vaja rääkidagi. Assembleri kasutamine on kasulik juhtudel, kui teil on vaja otse riistvaraga suhelda või mõne programmi osa jaoks tõhustada, kuna koodi genereerimine on suurem.

cobol- Kõrgetasemeline programmeerimiskeel, mis töötati välja 1950. aastate lõpus. ühendus CADASIL kaubandus- ja majandusprobleemide lahendamiseks. Erineb failidega töötamise täiustatud vahendite poolest. Kuna selles keeles kirjutatud programmide käsud kasutavad palju tavalist inglise keele sõnavara ja süntaksit, peetakse Cobolit üheks lihtsamaks programmeerimiskeeleks. Praegu kasutatakse majanduslike, informatsiooniliste ja muude probleemide lahendamiseks.

Fortran— Kõrgetasemeline programmeerimiskeel, mille IBM töötas välja 1956. aastal arvutusprobleemide lahendamise algoritmide kirjeldamiseks. Kuulub protseduuriliselt orienteeritud keelte kategooriasse. Selle keele levinumad versioonid on Fortran IV, Fortran 77 ja Fortran 90. Seda kasutatakse kõigis arvutiklassides. Selle uusimat versiooni kasutatakse ka paralleelse arhitektuuriga arvutites.

Ada— Kõrgetasemeline programmeerimiskeel, mis on orienteeritud kasutamiseks reaalajas süsteemides ja mis on ette nähtud protsesside ja/või seadmete haldamise ülesannete automatiseerimiseks, näiteks pardaarvutites (laev, lennundus jne). Töötati välja USA kaitseministeeriumi initsiatiivil 1980. aastatel. Nime sai inglise matemaatiku Ada Augusta Byroni (Lovelace) järgi, kes elas aastatel 1815-1851.

BASIC(Algajate universaalne sümboolne juhiskood) Sündis 60ndatel Ameerikas. BASIC loodi lihtsa keelena, mida kiiresti õppida. BASIC on saanud mikroarvutite de facto standardiks just tänu oma lihtsusele nii masterdamisel kui ka rakendamisel. Selle kvaliteedi saavutamiseks võeti aga vastu mitmeid otsuseid (puudus trükkimine, ridade nummerdamine ja mittestrukturaalne GOTO jne), mis mõjutavad programmeerimise üliõpilaste stiili negatiivselt. Lisaks tõi väljendusvahendite puudumine kaasa tohutu hulga keelemurdete tekkimise, mis omavahel ei ühildu. BASICu kaasaegsetel spetsialiseeritud versioonidel (nagu Visual Basic) on hoolimata omandatud “strukturaalsusest” kõik samad puudused, esiteks hoolimatus tüüpide ja kirjelduste suhtes. See sobib kasutamiseks koolituse algfaasis, automatiseerimisvahendina (juhul, kui see on sobivatesse süsteemidesse sisse ehitatud) või vahendina rakenduste kiireks loomiseks.

Pascal Algol-68 ideede põhjal kuulsa teoreetiku N. Wirthi poolt välja töötatud Pascal oli mõeldud eelkõige programmeerimise õpetamiseks. “Vajaliku ja piisava” põhimõttel üles ehitatud sellel on tugev tüübikontroll, konstruktsioonid suvaliste andmestruktuuride kirjeldamiseks ning väike, kuid piisav hulk struktureeritud programmeerimisoperaatoreid. Kahjuks on lihtsuse ja ranguse tagakülg keelekonstruktsioonide kirjelduste kohmakus. Kõige kuulsam rakendus - Turbo / Borland Pascal - hoolimata erinevustest Pascali standardist on keskkond ja raamatukogude komplekt, mis on loonud tööstusliku süsteemi MS-DOS-i keskkonnas hariduskeelest programmide arendamiseks.

C ja C++ C-keel põhineb süsteemiprogrammeerija nõuetel: täielik ja tõhus juurdepääs kõikidele arvutiressurssidele, kõrgetasemelised programmeerimisvahendid, programmide kaasaskantavus erinevate platvormide ja operatsioonisüsteemide vahel. C++, säilitades C-ga ühilduvuse, tutvustab objektorienteeritud programmeerimise võimalusi, väljendades klassi (objekti) ideed kasutaja määratud tüübina. Tänu nendele omadustele on C / C ++ võtnud mis tahes ülesande jaoks universaalse keele positsiooni. Kuid selle kasutamine võib muutuda ebaefektiivseks, kui on vaja saada kasutusvalmis tulemus võimalikult lühikese aja jooksul või kui protseduuriline lähenemine ise muutub kahjumlikuks.

Delfi- see pole Borland Pascal / Borland C järglane, selle nišš - st. rakenduste kiire arendus (Rapid Application Developing, RAD). Sellised tööriistad võimaldavad teil valmiskomponentidest kiiresti luua tööprogrammi, raiskamata palju pingutusi pisiasjadele. Eriline koht sellistes süsteemides on andmebaasidega töötamise võimalusel.

Lisp- Algoritmiline keel, mille töötas välja 1960. aastal J. McCarthy ja mis on loodud andmeelementide loenditega manipuleerimiseks. Kasutatakse peamiselt USA ülikoolide laborites tehisintellektiga seotud probleemide lahendamiseks. Euroopas eelistavad nad tehisintellektiga töötamiseks kasutada Prologi.

Proloog— Kõrgetasemeline deklaratiivne programmeerimiskeel, mis on loodud tehisintellektisüsteemide ja -programmide arendamiseks. See kuulub viienda põlvkonna keelte kategooriasse. See töötati välja 1971. aastal Marseille'i ülikoolis (Prantsusmaa) ning see on üks laialdaselt kasutatavaid ja pidevalt arendatud keeli. Selle uusim versioon on Prolog 6.0

LOGO— Kõrgetasemeline programmeerimiskeel, mis töötati välja Massachusettsi Tehnoloogiainstituudis 1970. aasta paiku matemaatiliste mõistete õpetamiseks. Seda kasutatakse ka koolides ja arvutikasutajate poolt, kui kirjutavad programme monitori ekraanile jooniste loomiseks ja pliiatsiploteri juhtimiseks.

Java Spetsialiseerumise suurepärase näitena sündis Java keel vastusena vajadusele ideaalselt kaasaskantava keele järele, mis suudaks programme tõhusalt käivitada WWW kliendi poolel. Keskkonna olemuse tõttu võib Java olla hea valik Interneti/Intraneti tehnoloogiale ehitatud süsteemi jaoks.

ALGOL— Kõrgetasemeline programmeerimiskeel, mis on keskendunud arvutusprobleemide lahendamise algoritmide kirjeldamisele. Selle lõid 1958. aastal Lääne-Euroopa riikide spetsialistid teaduslikuks uurimistööks. Selle keele Algol-60 versioon võeti vastu rahvusvahelisel konverentsil Pariisis (1960) ja seda kasutati laialdaselt 2. põlvkonna arvutites. Algol-68 versioon, mille töötas välja Rahvusvahelise Infotöötluse Föderatsiooni (IFIP) spetsialistide rühm 1968. aastal, sai rahvusvahelise universaalse programmeerimiskeele staatuse, mis keskendub mitte ainult arvutuslike, vaid ka teabeprobleemide lahendamisele. Kuigi algolit tänapäeval peaaegu ei kasutata, oli see aluseks või avaldas olulist mõju kaasaegsemate keelte, näiteks ada, pascali jne arengule.

Parimat keelt pole olemas. Kui kavatsete saada programmide kirjutamise professionaaliks, peate õppima üht kõrgetasemelist programmeerimiskeelt (C++ on kõige populaarsem programmeerimiskeel) ja üht andmebaasi programmeerimiskeelt (näiteks SQL). Kui olete C++ programmeerimiskeele selgeks õppinud, ei saa te enam valesti minna. Seda keelt teades leiate alati tööd igas programmeerimisettevõttes.
Vaatamata C++ programmeerimiskeele suurele populaarsusele kasutatakse sageli ka teisi keeli. Paljud vanemad arvutid töötavad endiselt COBOL-i programmeerimiskeeles kirjutatud programme. Seetõttu vajame programmeerijaid, kes oskavad neid programme täiustada ja ka uusi kirjutada. Väga sageli maksavad suured ettevõtted sellistele programmeerijatele kõrget palka.
Kui kavatsete ise töötada, on kõige parem õppida ise andmebaasiprogramme kirjutama. Selleks peate õppima programmeerimiskeeli, nagu SQL või VBA, mida kasutatakse Microsoft Accessi programmis. Veebilehtede loomiseks peate teadma HTML-i, samuti pisut teadmisi Java, JavaScripti, VBScripti ja teiste Interneti-programmeerimiskeelte kohta. Kõige vajalikum on programmeerimiskeel, mis võimaldab teil lihtsalt ja kiiresti lahendada teile määratud ülesanded. See võib olla C++, BASIC, Java, SQL või montaažikeel.

Kokkuvõtteks märgime, et professionaalsest vaatenurgast pole niivõrd oluline, mis keeles ja mis keskkonnas programmeerija töötab, vaid see, kuidas ta oma tööd teeb. Riistvara ja operatsioonisüsteemid muutuvad. Uued probleemid tekivad erinevatest ainevaldkondadest. Minevik on kadunud ja uued keeled tekivad. Aga inimesed jäävad – need, kes kirjutavad ja need, kellele nad kirjutavad uusi programme ja kelle kvaliteedinõuded jäävad nendest muudatustest hoolimata samaks.
Siin oleme teiega ja uurisime programmeerimise põhitõdesid ja peamisi programmeerimiskeeli.

Soovin teile programmeerimisel edu!

Arvutiajastu koidikul oli masinkood ainus suhtlusvahend inimeste ja arvutite vahel. Programmeerimiskeelte loojate suur saavutus oli see, et nad suutsid panna arvuti ise töötama tõlkijana nendest keeltest masinkoodile.

Olemasolevad programmeerimiskeeled võib jagada kahte rühma: protseduurilised ja mitteprotseduurilised (vt joonis 4.1).

Protseduurilised (ehk algoritmilised) programmid on ettekirjutuste süsteem konkreetse probleemi lahendamiseks. Arvuti roll taandub nende ettekirjutuste mehaanilisele täitmisele.

Protseduurikeeled jagunevad madalatasemelisteks ja kõrgetasemelisteks keelteks.

Erinevat tüüpi protsessoritel on erinevad käsukomplektid. Kui programmeerimiskeel on keskendunud teatud tüüpi protsessorile ja võtab arvesse selle omadusi, siis seda nimetatakse madala taseme programmeerimiskeel.
See tähendab, et keeleoperaatorid on masinkoodi lähedal ja keskenduvad konkreetsetele protsessori juhistele.

Riis. 4.1. Programmeerimiskeelte üldine klassifikatsioon

Madala tasemega (masinatele orienteeritud) keeled võimaldavad teil luua programme masinkoodidest, tavaliselt kuueteistkümnendsüsteemis. Nendega on raske töötada, kuid nende abiga kõrgelt kvalifitseeritud programmeerija loodud programmid võtavad vähem mäluruumi ja töötavad kiiremini. Neid keeli kasutades on mugavam arendada süsteemiprogramme, draivereid (arvutiseadmete juhtimise programme) ja mõnda muud tüüpi programme.

Madala tasemega (masinaspetsiifiline) keel on komplekteerija, mis lihtsalt esindab iga masinkoodi käsku, mitte numbritena, vaid sümboolsete kokkulepetega
mnemoonika.

Madalatasemeliste keelte abil luuakse väga tõhusad ja kompaktsed programmid, kuna arendaja pääseb ligi protsessori kõikidele võimalustele.

Kõrgetasemelised programmeerimiskeeled inimesele palju lähedasem ja arusaadavam kui arvuti. Need ei võta arvesse konkreetsete arvutiarhitektuuride iseärasusi, mistõttu on lähtekoodi tasemel loodud programmid kergesti teisaldatavad teistele platvormidele, mille jaoks on loodud selle keele tõlkija. Selgete ja võimsate käskude abil on kõrgetasemelistes keeltes programme palju lihtsam arendada ning programmide loomisel on palju vähem vigu.

Kõrgetasemeliste algoritmiliste keelte peamine eelis on võime kirjeldada probleeme lahendamise programme inimese tajumiseks kõige mugavamal kujul. Kuid kuna igal arvutiperel on oma spetsiifiline sisemine (masina)keel ja see suudab täita ainult neid käske, mis on selles keeles kirjutatud, kasutatakse lähteprogrammide masinkeelde tõlkimiseks spetsiaalseid tõlkeprogramme.

Kõikide tõlkijate töö põhineb ühel kahest põhimõttest: tõlgendamine või koostamine.

Tõlgendamine tähendab operaatorite kaupa tõlkimist ja sellele järgnevat lähteprogrammi tõlgitud operaatori täitmist. Sellega seoses võib välja tuua kaks tõlgendusmeetodi puudust: esiteks peab tõlkeprogramm olema arvuti mälus kogu algse programmi täitmisprotsessi vältel, st hõivama teatud hulga mälu; teiseks korratakse sama lause tõlkimise protsessi nii mitu korda, kui palju seda käsku programmis täita tuleks, mis vähendab järsult programmi jõudlust.

Vaatamata nendele puudustele, tõlkijad-tõlgid said piisava leviku, kuna need on lähteprogrammide arendamisel ja silumisel mugavad.

Kell koostamine tõlke- ja täitmisprotsessid on ajaliselt eraldatud: esmalt tõlgitakse lähteprogramm täielikult masinkeelde (misjärel muutub tõlkija olemasolu RAM-is tarbetuks) ja seejärel saab tõlgitud programmi korduvalt käivitada. Seetõttu tagab sama programmi puhul kompileerimismeetodi abil tõlkimine arvutisüsteemi suurema jõudluse, vähendades samal ajal vajalikku RAM-i.

Kompilaatori väljatöötamise suur raskus võrreldes samast keelest pärit tõlgiga on tingitud sellest, et programmi koostamine sisaldab kahte tegevust: analüüsi, st lähteprogrammi õigsuse kindlakstegemist vastavalt sisendi keelekonstruktsioonide koostamise reeglitele. keel ja süntees – samaväärsete programmide genereerimine masinkoodis. Kompileerimismeetodil tõlkimine eeldab tõlgitava programmi korduvat "vaatamist", s.t. tõlkijad-koostajad on mitmekäigulised: esimese läbimise käigus kontrollivad nad üksikute operaatorite keelekonstruktsioonide süntaksi õigsust üksteisest sõltumatult, järgneval käigul operaatoritevaheliste süntaktiliste suhete õigsust jne.

Kompileerimismeetodil tõlkimise tulemusena saadud programmi kutsutakse objekti moodul, mis on masinkoodis samaväärne programm, kuid pole "seotud" konkreetsete RAM-i aadressidega. Seetõttu tuleb objektimoodul enne käivitamist töödelda operatsioonisüsteemi eriprogrammiga (lingiredaktor - Link) ja teisendada alglaadimismoodul.

Eespool käsitletud tõlkijate-tõlkide ja tõlkijate-koostajate kõrval kasutatakse praktikas ka tõlkijaid. kompilaatori tõlgid, mis ühendavad mõlema tõlkepõhimõtte eelised: programmide arendamise ja silumise etapis töötab tõlkija tõlgi režiimis ning pärast silumisprotsessi lõppu tõlgitakse lähteprogramm uuesti objektmoodulisse (st juba tõlkeprogrammi poolt). koostamise meetod). See võimaldab oluliselt lihtsustada ja kiirendada programmide koostamise ja silumise protsessi ning tänu sellele järgnevale objektmooduli hankimisele tagada programmi tõhusam täitmine.

Klassikaline protseduuriline programmeerimine nõuab, et programmeerija kirjeldaks üksikasjalikult, kuidas probleemi lahendada, st algoritmi sõnastust ja selle spetsiaalset tähistust. Sellisel juhul ei ole tavaliselt tulemuse eeldatavad omadused täpsustatud. Nende rühmade keelte põhimõisted on operaator ja andmed.
Protseduurilises lähenemises ühendatakse operaatorid rühmadesse - protseduuridesse. Struktuurne programmeerimine tervikuna sellest suunast kaugemale ei lähe, vaid parandab täiendavalt mõned kasulikud nipid.
programmeerimistehnoloogiad.

Põhimõtteliselt erinev suund programmeerimisel on seotud mitteprotseduurilise programmeerimise metoodikatega (mida mõnikord nimetatakse ka "paradigmadeks"). Nende hulka kuuluvad objektorienteeritud ja deklaratiivne programmeerimine. Objektorienteeritud keel loob keskkonna paljude iseseisvate objektide kujul. Iga objekt käitub nagu eraldiseisev arvuti, neid saab kasutada "mustade kastidena" probleemide lahendamisel, süvenemata nende toimimise sisemistesse mehhanismidesse. Professionaalide seas populaarsetest objektprogrammeerimiskeeltest tuleks esmajärjekorras välja tuua C++, laiema hulga programmeerijate jaoks on eelistatud sellised keskkonnad nagu Delphi ja Visual Basic.

Deklaratiivse keele kasutamisel määrab programmeerija algsed infostruktuurid, nendevahelised seosed ja millised omadused peaksid tulemusel olema. Samal ajal ei koosta programmeerija selle hankimise protseduuri (“algoritmi”) (vähemalt ideaalis). Nendes keeltes ei ole mõistet "operaator" ("käsk"). Deklaratiivsed keeled võib jagada kahte perekonda - loogiline (tavaliselt Prolog) ja funktsionaalne (Lisp).

Iseloomustame tuntumaid programmeerimiskeeli.

1.Fortran(FORmula TRANSlating system – valemite tõlkimise süsteem); vanim ja siiani aktiivselt kasutatav keel matemaatilise orientatsiooni ülesannete lahendamisel. See on klassikaline keel matemaatiliste ja inseneriprobleemide arvutiprogrammeerimiseks.

2.BASIC(Algajate universaalne sümboolne juhiskood - universaalne sümboolne juhiskood algajatele); vaatamata paljudele puudustele ja halvasti ühilduvate versioonide rohkusele on see kasutajate arvu poolest kõige populaarsem. Seda kasutatakse laialdaselt lihtsate programmide kirjutamisel .

3.ALGOL(ALGOritmiline keel – algoritmiline keel); mängis suurt rolli teoorias, kuid nüüd ei kasutata seda peaaegu kunagi praktilises programmeerimises.

4.PL/1(PL / 1 programmeerimiskeel – esimene programmeerimiskeel); mitmeotstarbeline keel; nüüd peaaegu pole kasutatud.

5.Pascal(Pascal – nime saanud teadlase Blaise Pascali järgi); väga populaarne nii programmeerimise õppimisel kui ka professionaalide seas. Loodud 70ndate alguses Šveitsi teadlase Niklaus Wirthi poolt. Pascal töötati algselt välja õppekeelena ja nüüd on see tõepoolest üks peamisi programmeerimise õpetamise keeli koolides ja ülikoolides. Kuid selle omadused osutusid kokkuvõttes nii kõrgeks, et ka professionaalsed programmeerijad on valmis seda kasutama. Mitte vähem muljetavaldava, sealhulgas rahalise edu saavutas Turbo-Pascali süsteemi välja töötanud prantslane Philip Kahn. Tema idee põhiolemus oli ühendada programmide töötlemise järjestikused etapid – kompileerimine, linkide redigeerimine, silumine ja vigade diagnoosimine – ühte liidesesse. Turbo Pascali versioonid ujutasid üle peaaegu kõik haridusasutused, programmeerimiskeskused ja eraettevõtted. Pascali keele põhjal on loodud mitu võimsamat keelt (Modula, Ada, Delphi).

6.cobol(Common Business Oriented Language – üldettevõtlusele keskendunud keel); on suures osas kasutusest jäänud. See loodi juhtimisvaldkondade massilise andmetöötluse peamise keelena
ja äri.

7.ADA; on Pentagoni universaalse keeledisaini konkursi võitnud keel (mai 1979) alates 1975. aastast. Arendajad on teadlaste rühm, mida juhib Jean Ihbia. Võitja keel ristiti Augusta Ada Lovelace'i järgi ADA-ks. ADA keel on keele otsene järglane
Pascal. See keel on mõeldud suurte tarkvarasüsteemide loomiseks ja pikaajaliseks (pikaajaliseks) hooldamiseks, võimaldab paralleeltöötluse võimalust, protsesside reaalajas juhtimist ja palju muud, mida lihtsamaid keeli kasutades on raske või võimatu saavutada .

8.Xi(C - "si"); kasutatakse laialdaselt süsteemitarkvara loomisel. Jättis suure jälje kaasaegsele programmeerimisele (esimene versioon - 1972), on väga populaarne tarkvarasüsteemide (sh operatsioonisüsteemide) arendajate seas. C ühendab nii kõrgetasemelise keele kui ka masinale orienteeritud keele funktsioone, võimaldades programmeerijal juurdepääsu kõikidele masinaressurssidele viisil, mida sellised keeled nagu BASIC ja Pascal ei paku.

9.C++(C++); C-keele objektorienteeritud laiendus, mille lõi Bjarne Stroustrup 1980. aastal. Paljud võimsad uued funktsioonid, mis on oluliselt suurendanud programmeerija tootlikkust, on asetatud C-keelest päritud teatud madala tasemega olemusele.

10.Delfi(Delfi); objektorienteeritud "visuaalne" programmeerimiskeel; hetkel ülipopulaarne. Borlandi spetsialistide Pascali keele baasil loodud Delphi keel, millel on C ja C++ keelte võimsus ja paindlikkus, ületab neid liidese mugavuse ja lihtsuse poolest, kui arendatakse rakendusi, mis pakuvad interaktsiooni andmebaasidega ja toetavad mitmesugused tööd ettevõtte võrkudes ja Internetis.

11.Java(Java); platvormist sõltumatu objektorienteeritud programmeerimiskeel, äärmiselt tõhus interaktiivsete veebilehtede loomiseks. Selle keele lõi Sun 90ndate alguses C++ baasil. See on loodud C++-l põhinevate rakenduste arendamise lihtsustamiseks, eemaldades sellest kõik madala taseme funktsioonid.

12.Lisp(Lisp) on funktsionaalne programmeerimiskeel. Keskendub andmestruktuurile loendi kujul ja võimaldab korraldada suure hulga tekstilise teabe tõhusat töötlemist.

13.Proloog(PROGRAMMINE LOGicus – loogikaprogrammeerimine). Keele põhieesmärk on intelligentsete programmide ja süsteemide arendamine. Prolog on programmeerimiskeel, mis on loodud spetsiaalselt töötama faktidel ja reeglitel põhinevate teadmistebaasidega (üks tehisintellektisüsteemide elemente). Keel rakendab tagasikäigu mehhanismi, et teostada pöördahela arutluskäiku, mille puhul eeldatakse, et mõned järeldused või järeldused on tõesed, ja seejärel kontrollitakse neid eeldusi fakte ja järeldusreegleid sisaldavas teadmistebaasis.
Kui arvatust ei kinnitata, tehakse tagasitulek ja tehakse uus oletus. Keel põhineb predikaatarvutuse teooria matemaatilisel mudelil.

Programmeerimiskeeled veebi jaoks:

1. HTML. Tuntud paberitöö keel. See on väga lihtne ja sisaldab elementaarseid käske teksti vormindamiseks, piltide lisamiseks, fontide ja värvide seadistamiseks, linkide ja tabelite korrastamiseks.

2. PERL. See oli mõeldud suurte tekstifailide tõhusaks töötlemiseks, tekstiaruannete genereerimiseks ja ülesannete haldamiseks.
Perl on palju võimsam kui sellised keeled nagu C. See tutvustas paljusid sageli kasutatavaid funktsioone stringide, massiivide, protsessori juhtimise ja süsteemiteabega töötamiseks.

3. tcl/tk. See keel on keskendunud rutiinsete protsesside automatiseerimisele ja koosneb võimsatest käskudest. See on süsteemist sõltumatu ja võimaldab samal ajal luua graafilise liidesega programme.

4. VRML. Mõeldud virtuaalsete 3D-liideste korraldamiseks Internetis. See võimaldab kirjeldada teksti kujul erinevaid kolmemõõtmelisi stseene, valgustust ja varje, tekstuure.

Programmeerimiskeele valik sõltub paljudest teguritest: eesmärgist, lähteprogrammide kirjutamise mugavusest, saadud objektprogrammide efektiivsusest jne. Arvutiga lahendatavate ülesannete mitmekesisus määrab programmeerimiskeelte mitmekesisuse.

testi küsimused

1. Mis on programmeerimissüsteemid ja millisesse programmiklassi need kuuluvad?

2. Mis sisaldub programmeerimissüsteemides?

3. Millises programmeerimiskeeles loodi esimesed programmid?

4. Millisteks keelteks on menetluskeeled jagatud?

5. Kirjeldage madala tasemega keeli.

6. Milline keel on madala tasemega keel?

7. Madala tasemega keelte eelised.

8. Kirjeldage kõrgetasemelisi keeli.

9. Kõrgetasemeliste keelte eelised.

10. Too näiteid kõrgetasemeliste keelte kohta.

11. Milleks on tõlkijad?

12. Mis vahe on kompilaatoril ja interpretaatoril?

13. Tõlgenduse puudujäägid (kui omamoodi tõlkija).

14. Milline on programmi koostamise protsess?

15. Milliseid toiminguid koostamisel tehakse?

16. Mis vahe on koormusmoodulil ja objektmoodulil?

17. Mis vahe on protseduurilisel programmeerimisel ja mitteprotseduurilisel programmeerimisel?

18. Mis tüüpi programmeerimine ei ole protseduuriline
programmeerimine?

19. Deklaratiivsete keelte tunnus.

20. Kirjelda lühidalt programmeerimiskeeli: Fortran, BASIC, Pascal, Cobol.

21. Kirjelda lühidalt programmeerimiskeeli: Ada, C, C++, Delphi, Java.

22. Too näiteid objektorienteeritud keelte kohta.

23. Millisesse keelte klassi Lisp kuulub?

24. Millisesse keelte klassi Prolog keel kuulub?


Juhend

Mis tahes arvutiprogrammi teksti kirjutamiseks kasutatakse ühte paljudest programmeerimiskeeltest. Kõik need on konkreetsete käskude komplektid - operaatorid, aga ka kirjeldused. Reeglina põhinevad need käsud, seega saate inglise keele oskuse korral programmi teksti lugedes isegi aru, mida arvuti konkreetse käsu jaoks teeb. Ingliskeelne arvuti aga erinevalt teist ei tea - et ta neist aru saaks, “tõlgib” kompilaator need käsud masinkeelde. Igal programmeerimiskeelel on oma kompilaator.

Esimesi, sealhulgas: ADA, Basic, Algol, Fortran jt, mis olid populaarsed 60-70ndatel, pole pikka aega kasutatud, kuid näiteks 1983. aastal loodud C ++ on tänapäeval endiselt nõutud. , on sellesse kirjutatud palju spetsiaalseid tarkvaratooteid. 1991. aastal ilmunud Basic on endiselt nõutud; samuti 1995. aastal loodud Pascal (Delphi arenduskeskkond), Java, JavaScript ja Ruby. Uutest võib nimetada ActionScripti ja Nemerle, mis ilmusid vastavalt 1998. ja 2006. aastal.

Loetletud programmeerimiskeeled on endiselt asjakohased, kuna neid muudetakse pidevalt ja nende uued versioonid on kohandatud praegustele vajadustele. See kehtib peamiselt C++ keele kohta. Hoolimata asjaolust, et mõnel juhul osutub selles keeles koostatud programmikood üsna tülikaks, aitab valmismallide kasutamine seda probleemi lahendada, parandades oluliselt tarkvaratoodete jõudlust.

Kuulsa Microsofti poolt välja töötatud Visual Basicu arenduskeskkonda kasutab ka enamik programmeerijaid, võimaldades mitte ainult luua Basicu keeles kompaktset programmikoodi, vaid kasutada ka mugavat kasutajaliidese sisseehitatud konstruktorit. Kuid veebisaitide loomiseks kasutavad programmeerijad PHP-keelt, mida peetakse universaalseks ja mis töötab kõigi operatsioonisüsteemidega. Seda kasutatakse ka kasutajaliidese konstruktorina. Selle keele oluliste puuduste hulka kuulub aga asjaolu, et varasemates versioonides kirjutatud koodi uued versioonid ei toeta.

Java on samuti võimeline töötama mis tahes platvormil, kuid selles keeles programmide kirjutamiseks peate kasutama seda tüüpi tarkvaratoote jaoks mõeldud dialekti. Multifunktsionaalsust, mitmekülgsust ja lihtsust eristavad programmeerimiskeeled Pascal ja JavaScript. Esimest kasutatakse sagedamini OS-i tarkvaratoodete (nt Total Commander ja QIP) loomiseks ning teine ​​on kirjutatud enamikus kaasaegsetes brauserites.