Matrjoška C. Kihiline programmikeele süsteem

Proovime ette kujutada keemiat ilma Mendelejevi perioodilise tabelita (1869). Kui palju elemente tuli silmas pidada ja mitte mingis kindlas järjekorras... (Siis - 60.)

Selleks mõelge lihtsalt ühele või mitmele programmeerimiskeelele korraga. Samad tunded, sama loominguline kaos.

Ja nüüd saame uuesti läbi elada XNUMX. sajandi keemikute tundeid, kui neile pakuti ühes perioodilises tabelis kõiki oma teadmisi ja natuke rohkemgi.

Matrjoška C. Kihiline programmikeele süsteem


Raamat “Matryoshka C. Programmikeele kihiline süsteem" esitab kõik C-keele ühikud lühidalt. See võimaldab teil neid korrastada, vananenud teavet parandada ja isegi programmi kontseptsiooni selgitada.

Tänapäeval vajab programmeerimisinfo süstematiseerimist isegi rohkem kui keemilised elemendid 150 aastat tagasi.

Esimene vajadus on õpetamine. Mendelejev alustas oma süsteemi loomist, kui ta seisis silmitsi küsimusega, millise elemendiga alustada loengut: O, H, N, He, Au... Samal ajal oli tal lihtsam – ta õpetas keemiat parimatele – õppuritele. Peterburi ülikool. Ja programmeerimist õpetatakse juba koolis ja varsti algab see lasteaias.

Teine vajadus on teaduslik lähenemine. Perioodilise tabeli abil avastati uusi elemente ja parandati infot vanade kohta. Ta aitas luua aatomi mudeli (1911). Ja nii edasi.

Kolmas vajadus on programmi mõiste selgeks tegemine.

Kaasaegne programmeerimine on üks jalg kinni jäänud 50. sajandi XNUMX. aastatesse. Tollal olid programmid lihtsad, kuid masinad ja masinakeeled olid keerulised, nii et kõik keerles masinate ja keelte ümber.

Nüüd on kõik vastupidi: programmid on keerulised ja esmased, keeled on lihtsad ja teisejärgulised. Seda nimetatakse rakenduslikuks lähenemisviisiks, mis tundub kõigile tuttav olevat. Kuid õpilased ja arendajad on jätkuvalt veendunud, et kõik on endine.

Mis toob meid tagasi Privatdozent Mendelejevi esimese loengu juurde. Mida öelda esmakursuslastele? Kus on tõde? Selles on küsimus.

Raamat “Matryoshka C” pakub sellele küsimusele oma vastuse. Programmikeele kihiline süsteem". Pealegi pole see adresseeritud mitte ainult õpilastele, vaid ka koolitatud programmeerijatele, kuna just nemad, see tähendab meie, peame otsima tõde ja muutma maailmavaadet.

Järgnev on raamatu kokkuvõte.

1. Sissejuhatus

1969. aastal loodi C-keel, millest sai põhiline programmeerimiskeel ja mis on nii püsinud 50 aastat. Miks see nii on? Esiteks sellepärast, et C on rakendatud keel, mis programmi andis inimlik selle asemel vaadata masin. Selle saavutuse kindlustasid keeled perekonnast C: C++, JavaScript, PHP, Java, C# ja teised. Teiseks on see lühike ja ilus keel.

Kuid C-keel ise on tavaliselt segatud masinakoostajaga, muutes selle tajumise keeruliseks ja moonutades. Teine äärmus on keelele teatud “filosoofia” pealesurumine: protseduuriline, objekt, funktsionaalne, koostatud, tõlgendatav, trükitud jne. See lisab emotsioone, kuid ei aita keelt paremini kirjeldada.

Tõde on keskel ja C-keele jaoks rangelt keskel filosoofilise ja masintaju vahel.

C-keel ei ole iseseisev, ta allub tavalisele kirjakeelele ja samal ajal juhib ta montaažikeelt ennast. See seisukoht kirjeldab Programmi kõnemudel, mille järgi programm jaguneb kolmeks alluvatüübiks: kõne, kood, käsk. C-keel vastutab teise, kooditüübi eest.

Olles määranud keele koha programmis, saate selle kohta teavet korraldada, mis teeb Kihiline programmikeele süsteem, mis esindab C-keelt perioodilisuse süsteemi vaimus - ühel lehel.

Süsteem on üles ehitatud, võttes arvesse rakenduskeelte kogukonnad, mis tuleneb nende kõne alluvusest. Üks Matryoshka C ühikute komplekt võimaldab kirjeldada ja võrrelda erinevaid keeli, luues Matrjoškade seeria: C++, PHP, JavaScript, C#, MySQL, Python ja nii edasi. On väärt ja õige, et erinevaid keeli kirjeldatakse põhikeele ühikutega.

2. PEATÜKK 1. Programmi kõnemudel. Selge C

Esimene peatükk tutvustab programmi kõnemudel, mis peegeldab rakenduslikku lähenemist. Tema sõnul on programmil kolm ilmset järjestikust tüüpi:

  1. kõne - probleemi lahendava programmeerija otsene kõne,
  2. kodeeritud - lahenduse kodeerimine matemaatilisele kujule C-keeles (või mõnes muus)
  3. ja käsk - otsesed masinakäsud.

Kõnemudel selgitab, miks C on lihtne ja arusaadav keel. Xi on ehitatud meile tuttava inimkõne kujundile ja sarnasusele.

Esimest tüüpi programmid on programmeerija otsekõne. Kõne vastab inimese mõtlemisele. Algajad programmeerijad kirjutavad programme kõne abil – esmalt vene keeles, seejärel tõlgivad toimingud samm-sammult koodikeelde. Ja just sellel mudelil loodi C-keel.

Programmeerija kõnes väljendatud järeldused teisendatakse kodeeritud numbrikujule. Seda transformatsiooni tuleks nimetada peegeldus, kuna kõnel ja koodil on sama olemus (peegeldus - sünd - sugu). See on üsna ilmne, kui võrrelda programmi kõne (vasakul) ja koodi (paremal) tüüpi.

Matrjoška C. Kihiline programmikeele süsteem

On uudishimulik, et peegeldus toimub väga lihtsalt - ainult kahte tüüpi väljenditega.

Kaasaegne C-keele kirjeldus (alates 1978. aastast) aga ei sisalda piisavat nimede loetelu ei keele üldiseks kirjeldamiseks ega konkreetselt refleksiooniülesande jaoks. Seetõttu oleme sunnitud olema loomingulised ja neid nimesid kasutusele võtma.

Sõnavalik peab olema täpne ja selge. See nõudis erilist lähenemist, lühidalt väljendatuna järgmiselt: emakeele range kasutamine. Inglaste jaoks oleks see inglise keel, aga meie pole inglased. Nii et kasutame seda, mis meil on, ja proovime rääkida vene keeles.

Peegeldust teostavad kahte tüüpi väljendid:

  1. arvutus (HF) – peegeldab objekti omaduste muutust. Objekti omadust väljendatakse arvuga, siis omadus omadusega on tegevus arvuga – tehe.
  2. alluvus (Pch) – kajastab tegevuste järjekorra muutust. Pch prototüüp on kõnekeeruline lause, seetõttu algab enamik Pch-tüüpe sidesõnadega "kui", "muidu", "samas", "eest". Muud tüüpi arvutid täiendavad neid.

Muide, kas suudate uskuda, et C-kirjelduses pole arvutusavaldiste nimetusi - neid nimetatakse lihtsalt "avaldisteks"? Pärast seda pole enam üllatav, et alluvustüübile puudub nimi ja seos ning üldse on nimede, määratluste ja üldistuste vähesus. Seda seetõttu, et kuulus K/R (“The C Language”, Kernighan/Ritchie, 1978) ei ole kirjeldus, vaid keele kasutamise juhend.

Siiski sooviksin siiski keele kirjeldust. Seetõttu teda pakutakse Kihiline programmikeele süsteem.

3. PEATÜKK 2. Kihisüsteem. Lühike C

Igasugune kirjeldus peab olema täpne ja äärmiselt lühike. Programmikeele puhul on frontaalne kirjeldus keeruline.

Siin on meil programm. See koosneb moodulitest. Moodulid koosnevad alamprogrammidest ja kogumitest (struktuur). Alamprogrammid koosnevad üksikutest väljenditest: deklaratsioonid, arvutused, alluvus. Alluvustüüpe on lausa kümme. Alluvus ühendab alamtasandid ja alamprogrammid. Samuti on mitu kuulutust. Deklaratsioonid ei sisaldu aga mitte ainult alamprogrammides ja alamtasemetes, vaid ka moodulites ja kogudes. Ja enamik väljendeid koosneb sõnadest, mida on nii raske kirjeldada, et need esitatakse tavaliselt lihtsalt kahes loendis – originaal- ja tuletatud sõnad, millega saate tuttavaks kogu keele õppimise ja kasutamise ajal. Lisame siia kirjavahemärgid ja hulga muid väljendeid.

Sellise esitluse puhul pole lihtne aru saada, kes kelle peal seisis.

Otsene hierarhiline lähenemine keele kirjeldamisele oleks liiga keeruline. Ringtee otsing viib keele kirjelduseni selle kõne olemuse ja käsupoole põhjal. Nii sündis kihtsüsteem, mis langes osaliselt kokku Mendelejevi perioodilise süsteemiga, mis on samuti kiht. Nagu selgus 42 aastat pärast avaldamist (1869), on süsteemi perioodilisus seotud elektroonilisega kihid (1911, Bohr-Rutherfordi aatomi mudel). Samuti on kihiline ja perioodiline süsteem sarnased kõigi üksuste tabelilise paigutusega ühel lehel.

Keeleüksuste kirjeldus on lühike - ainult 10 tüüpi väljendeid ja 8 tüüpi muid üksusi, samuti tähenduslik ja visuaalne. Kuigi esmatutvuse kohta harjumatu.

Keeleüksused jagunevad 6 tasemeks:

  1. ühikud - tabeli read
  2. osakonnad - perekonna erirühmad (esimese rea osad)
  3. perekond - rakud (peamine jagunemise tase)
  4. superliigid – liikide eraldajad (haruldane tase)
  5. tüübid - ühikuvalemid lahtri allosas või eraldi
  6. mustrid - ühikud ise (ainult sõnade jaoks)

Näidissõnad kirjeldavad sõnaraamat - eraldi allsüsteem, mis koosneb samast kuuest tasemest.

C-keele kõnekomponent on üsna ilmne, kuigi see väärib siiski kirjeldamist. Kuid keele käsuosa on täpselt seotud kompileerimise juhtimisega, mille käigus luuakse kolmandat tüüpi programm - käsk. Siin jõuame C-keele kõige põnevama aspektini: ilu.

4. JÄRGMISED PEATÜKKID. Ilus Si

C-keel on kaasaegse programmeerimise alus. Miks? Esiteks tänu suurimale vastavusele kõnele. Teiseks sellepärast, et see läks ilusti mööda masinanumbrite töötlemise piirangutest.

Mida Xi täpselt välja pakkus? Pilt ja kiht.

Sõna "image" on tõlge ingliskeelsest sõnast "tüüp", mis pärineb kreekakeelsest "prototüübist" - "tüüp". Vene keeles ei anna sõna “tüüp” edasi väljendatava mõiste nurgakivi, pealegi aetakse see segamini abitähendusega “tüüp”.

Algselt lahendas pilt puhtalt masinarvutusprobleemi ja sai seejärel objektkeelte sünni rajaks.

Kiht lahendas kohe mitu probleemi – nii masinaga kui ka peale kantud. Seetõttu algab kaalumine ühe ülesande pildiga ja liigub edasi mitme ülesande kihile.

Üks ajaloolise programmeerimise ebameeldivaid omadusi on see, et enamik mõisteid, sealhulgas põhimõisteid, on antud ilma definitsioonideta. "Programmeerimiskeeles (jõgede nimes) on täisarvude ja ujuvate arvude tüübid..." ja nad kriimustasid edasi. Ei ole vaja määratleda, mis on "tüüp" (kujutis), sest autorid ise ei saa sellest täielikult aru ja vaikivad selle "selguse huvides". Kui need kinnitada seina külge, annavad need ebamäärase ja kasutu määratluse. Palju aitab peituda võõrsõnade taha: vene autoritel - inglise (tüüp), inglastel - prantsuse (alamprogramm), kreeka (polümorfism), ladina (kapseldamine) või nende kombinatsioonide (ad-hoc polümorfism) taha.

Kuid see pole meie saatus. Meie valik on kõrgendatud visiiriga definitsioonid puhtas vene keeles.

Pilt

Pilt on suuruse prefiguratiivne nimetus, mis defineerib 1) koguse olemuslikud omadused ja 2) suuruse jaoks tehtevaliku.

Sõna "tüüp" (tüüp) vastab määratluse esimesele osale: "suuruse olemuslikud omadused". Kuid pildi peamine tähendus on teises osas: "tehete valimine suurustele".

Pildi C-sse sisestamise lähtepunktiks on tavaline arvutus, näiteks liitmisoperatsioon.

Paber Matemaatika, olgu see siis käsitsi kirjutatud või trükitud, ei tee arvutüüpide vahel suurt vahet, eeldades tavaliselt, et need on reaalsed. Seetõttu on nende töötlemistoimingud üheselt mõistetavad.

Masinaruum Matemaatika jagab arvud rangelt täisarvudeks ja murdudeks. Erinevat tüüpi numbreid salvestatakse mällu erinevalt ja neid töödeldakse erinevate protsessorikäskude abil. Näiteks täisarvude ja murdude lisamise juhised on kaks erinevat käsku, mis vastavad kahele erinevale protsessorisõlmele. Kuid täisarvu ja murdosa argumentide lisamiseks pole käsku.

Rakendatud matemaatika ehk C-keel eraldab arvude tüübid, kuid kombineerib tehteid: täisarvude ja/või murdude liitmine kirjutatakse ühe tegevusmärgiga.

Mõistepildi selge määratlus võimaldab meil kindlasti rääkida veel kahest mõistest: summa и operatsiooni.

Suurus ja toimimine

väärtus — töödeldav number.

Operatsioon - algväärtuste (argumentide) väärtuste töötlemine lõpliku arvu (kokku) saamiseks.

Suurus ja tegevus on omavahel seotud. Iga tehe on suurus, kuna sellel on arvuline tulemus. Ja iga väärtus on mingi väärtuse protsessoriregistrisse/registrist ülekandmise tulemus ehk toimingu tulemus. Vaatamata sellele suhtele on peamine nende eraldi kirjeldamise võimalus, ehkki ühe sõna kordamisega sõnaraamatu erinevates osades, mis MA3-s juhtub.

Masinapõhine lähenemine jagas kõik programmeerija kasutatud numbrid meeskonnad и andmed. Varem olid mõlemad numbrid, näiteks käsud kirjutati numbrikoodides. Rakenduskeeltes aga lakkasid käsud olemast numbrid ja muutusid sõnades и tegevusmärgid. Arvudeks jäävad vaid “andmed”, kuid absurdne on neid nii edasi nimetada, sest üleminekul masinalt matemaatilisele vaatenurgale on arvud suurused, mis jagatakse algse (andmed) ja lõplik (nõutud). "Tundmatu nullpunkt" kõlab rumalalt.

Võistkonnad jagunesid ka kahte tüüpi aktsioonideks: matemaatiliseks ja teeninduseks. Matemaatilised toimingud – tehted. Ametlike asjade juurde jõuame hiljem.

C-keeltes muutuvad tavalised paberi ja masina ühemõttelised ehk üksikud matemaatilised tehted peaaegu üldiselt mitmekordseks.

Mitu toimingut on mitu sama nimega operatsiooni, millel on erinevat tüüpi argumentid ja erinevad, tähenduselt sarnased toimingud.

Täisarvulised argumendid vastavad tervele toimingule ja murdosa argumendid vastavad murdarvulisele toimingule. See erinevus ilmneb eriti selgelt jagamistehte ajal, kui avaldis 1/2 annab kokku 0, mitte 0,5. Selline tähistus ei vasta paberimatemaatika reeglitele, kuid C-keel ei püüa neid järgida (erinevalt Fortranist) - see mängib oma reeglite järgi. rakendatud reeglid.

Täisarvude ja murdude segamise korral on kaasatud ainuõige argumentide väärtuste valamine — väärtuse valikuline teisendamine ühelt pildilt teisele. Tõepoolest, täisarvu ja murdarvu lisamisel on tulemus murdosa, nii et toimingu pilt korjab üles täisarvu argumendi teisendamine murdarvuks.

Järele jääb hulk operatsioone mitmekordneJa vallaline. Sellised toimingud on määratletud ainult ühte tüüpi argumentide jaoks: jääk jagamine - täisarvu argumendid, virnastamine (bitipõhised toimingud) - loomulikud täisarvud. Ma3 näitab tehte paljusust märkidega (#^), mis näitavad kujutisi, mille jaoks tehing on määratletud. See on iga toimingu oluline, kuid varem tähelepanuta jäetud omadus.

Kõik funktsioonid on suvalised üksuseoperatsioonid. Erandiks on operaatorid - mittesulgude funktsioonid, keelde sisse ehitatud (originaaltehted).

Abi

Abi - operatsiooniga kaasnev tegevus.

Kui käsitleme operatsiooni põhitegevusena, siis saame eristada kahte kaasnevat, mis operatsiooni pakuvad ja sellest erinevad. Need on 1) muutuv kontroll ja 2) alluvus. Seda toimingut nimetatakse abi.

Siin tuleb kõrvale kalduda ja eraldi öelda programmeerimisõpikute venekeelsete tõlgete kohta. Tegevuste fikseerimiseks võeti K/R teksti sisse uus sõna avaldus (avaldis), mis üritas jagada masinakäsu mõisted erinevateks tegevusteks: 1) operatsioon, 2) deklaratsioon ja 3) alluvus (nimetatakse "juhtkonstruktsioonideks"). Selle katse matsid vene tõlkijad, asendades "väljenduse" sõnaga "operaator", mis:

  1. on muutunud masinasõna "käsk" sünonüümiks,
  2. osutus väljendi "tegevuse märk" sünonüümiks,
  3. ja sai ka piiramatul hulgal lisaväärtusi. See tähendab, et sellest on saanud midagi sarnast ingliskeelse artikliga "uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"

Kaaluge kaasnevaid toiminguid või abi.

Muutuv juhtimine

Muutuv juhtimine (UP) - muutuvate lahtrite loomine/kustutamine.
UE esineb kaudselt muutuja deklareerimisel, mis on juba kirjutatud muul põhjusel - väärtuse kujutise näitamiseks. Ainult ühte vaadet hallatakse selgesõnaliselt täiendavad muutujad kasutades malloc() ja free() funktsioone.

Tuleb märkida, et kaudsed toimingud on kirjutamiseks mugavamad, kuna need ei nõua üldse midagi kirjutamist, kuid neid on raskem mõista - neid on keerulisem arvesse võtta ja tõlgendada.

Alluvus

Alluvus - ühendage / keelake kihi sektsioonid.

C-keel pakkus monteerijast erinevat rakenduslikku meetodit toimingute järjekorra kontrollimiseks – alluvust. See peegeldab ja arendab kõne keerulist lauset, millel on selge jaotus põhiosaks (alluvusklausel) ja alluvaks osaks (alamtasandi/alamprogrammi lõigud).

Nii deklaratsioon kui ka esitamine on täielikult üles ehitatud kontseptsioonile kiht.

Kiht

Kiht on piiratud ühetasandiline valikuline avaldiste kogum.

Kiht täitis selgesõnaliselt ja kaudselt mitu ülesannet korraga:

  1. programmi korraldamine
  2. nimede nähtavuse piiramine (kaudselt),
  3. muutujate (mälurakkude) haldamine (kaudne),
  4. alluvusklauslite määratlus,
  5. funktsioonide ja valikute määratlused ja muud.

Masinakeeltes kihi mõistet ei olnud, seega K/R-is seda ei esinenud ja kui midagi polnud, siis oleks selle tutvustamine järgmistes raamatutes ketserlus ja vabamõtlemine. Seetõttu ei ilmunud kihi mõiste üldse, kuigi see on äärmiselt kasulik ja üsna ilmne.

Ilma kihita on võimatu lühidalt ja selgelt selgitada paljusid programmi toiminguid ja reegleid. Näiteks miks on goto nii lihtne kui kolm kopikat halb ja keeruline samas on hea. Sa võid ainult abitult vanduda, nagu tegi Dijkstra (“programmeerijate oskus on funktsioon, mis sõltub pöördvõrdeliselt goto-lausete esinemissagedusest nende programmides.” Ühesõnaga, goto kasutavad ainult kitsed. Põhjenduse tasand on Jumal.) Tõsi, see pole nii hirmutav, kui teie raamatud Me ei pea üldse midagi selgitama, kuid nagu me juba ütlesime, pole see meie saatus.

Muide, võib oletada, et Dan Ritchie jättis goto just võtmeks mõne nimetu mõiste otsimisel, sest väljendis goto polnud vajadust ega ilu. Kuid oli vaja lihtsat ja arusaadavat selgitust uutele keelepõhimõtetele, mida Richie ise anda ei tahtnud ja mis põhinevad täpselt kontseptsioonil. kiht.

Hälve

Hälve — uue nime tavapäraste omaduste muutmine.

Kõige olulisem hälve on täpselt seotud programmi kihi omadustega ja seda kirjeldab üks sõna “staatiline”, millel on iga kihitüübi puhul erinev tähendus.

5. VIIMANE PEATÜKK. Rakenduskeelte ühisus

Rakendatavad keeled on kujundlik keeled (millel on pilt, "trükitud"). Need põhinevad pildi otsesel või kaudsel kasutamisel. Veelgi enam, siin ilmneb jällegi vastuolu: selgesõnaline pilt on arusaadavam, kuid vähem mugav ja vastupidi.

Matrjoška C. Kihiline programmikeele süsteem

(Tabeli paigutust pole veel tarnitud, seega on tabel koos pildiga.)

Pärast C-d läks rakenduskeelte areng nende kujundlikkuse suurendamise teele. Kõrge kujundi mõistmiseks on kõige olulisem C otsene järglane – C++ keel. Ta arendab ideed suuruste jaoks suvalisest operatsioonide valikust ja kehastab seda sünteetilise avaldise valiku alusel, mis saab uue nime - objekt. C++ pole aga uute kogutüüpide ja nendega seotud reeglite ülekoormuse tõttu nii sisutihe ja väljendusrikas kui C. Muide, räägime "ülekoormusest".

Ülekoormus ja polümorfism

Sõna "ülekoormus" on loomise kohta aegunud masinõppetermin mitu operatsiooni.

Masina (süsteemi) programmeerijad paljusus toimingud võivad olla tüütud: „Mida see märk (+) tähendab: täisarvude lisamist, murdude lisamist või isegi nihutamist?! Meie ajal nad niimoodi ei kirjutanud!" Sellest ka valitud sõna negatiivne konnotatsioon (“overkill”, “väsinud”). Rakenduse programmeerija jaoks on mitu operatsiooni nurgakivi, C-keele peamine saavutus ja pärand, nii loomulik, et neid sageli ei tuvastata.

C++ keeles paljusus laiendatud mitte ainult algsete operatsioonide, vaid ka funktsioonide - nii individuaalsete kui ka klassidesse kombineeritud - meetoditele. Mitme meetodi abil saadi võimalus neid laiendatud klassides alistada, mida nimetati ebamääraselt "polümorfismiks". Polümorfismi ja ülekoormuse kombinatsioon andis plahvatusohtliku segu, mis jagunes kaheks polümorfismiks: "tõene" ja "ad-hoc". Sellest on võimalik aru saada ainult vaatamata määratud nimedele. Tee kuulutuseni on sillutatud võõramaiste nimedega.

Vormi "ülekoormus" deklaratsioon on sõnas paremini väljendatud täiendav teadaanne — samanimelise funktsiooni deklaratsiooni lisamine erineva kujutise argumentidega.

Vormi "polümorfismi" deklaratsiooni nimetatakse paremini uuesti väljakuulutamine — kattuv deklaratsioon sama nimega funktsiooni uues laienduskihis sama kujutise argumentidega.

Siis on lihtne mõista, et erinevate piltide (argumentide) samad meetodid - lisaks teatatudja üks pilt - uuesti välja kuulutatud.

Vene sõnad otsustavad.

Lennurada

Väga kujundlike keelte mõistete kaalumine kinnitab põhimõistete selge määratlemise tähtsust. Kui C-d on õigesti kirjeldatud, on kõrgkujunditega keelte õppimine lihtne ja nauditav.

See on eriti oluline nende jaoks kaudsed väga kujundlikud keeled (PHP, JavaScript). Nende jaoks muutub objektide (komposiitpiltide) tähtsus veelgi suuremaks kui C++ puhul, kuid pildi mõiste muutub kaudseks ja tabamatuks. Mugavuse seisukohalt on need muutunud lihtsamaks, mõistmise seisukohalt aga keerulisemaks.

Seetõttu peaksite alustama programmeerimiskeelte õppimist C-keelega ja liikuma edasi C-perekonna keelte ilmumise järjekorras.

Sama kehtib ka keelte kirjeldamise kohta. Erinevatel keeltel on samad või väiksemad üksuste sood kui C-keelel. Tüüpide ja näidiste arv võib mõlemas suunas erineda: C++-l on rohkem tüüpe kui C-l, JavaScriptil aga vähem.

Eraldi mainimist väärib MySQL keel. Näib, et pole midagi ühist, kuid Matryoshka kirjeldab teda suurepäraselt ning temaga tutvumine muutub kiiremaks ja lihtsamaks. Mis on oluline, arvestades selle tähtsust veebi jaoks – tänapäevase programmeerimise söögitee. Ja seal, kus on MySQL, on ka teisi SQL-e. No kõikvõimalikke Fortran-Pascal-Pythoneid kirjeldab ka Matrjoška, ​​niipea kui need käed külge saavad.

Seega ootavad meid suured asjad – C-keele rakenduslik kirjeldus ja sellele järgnevate keelte ühtne kirjeldus. „Meie eesmärgid on selged, meie ülesanded on määratletud. Asuge tööle, seltsimehed! (Tormiline, pikaajaline aplaus, muutumas ovatsiooniks. Kõik tõusevad püsti.)"

Teie arvamusi kuulatakse suure tähelepanuga, teie abi pesanukkude veebilehe loomisel võetakse vastu suure tänuga. Täpsem teave raamatu kohta on veebisaidil, mis on nutikalt peidetud Matryoshka C-sse.

Allikas: www.habr.com

Lisa kommentaar