Matryoshka C. Geruzatutako programa-lengoaia-sistema

Saia gaitezen kimika imajinatzen Mendeleieven Taula Periodikoa (1869) gabe. Zenbat elementu izan behar ziren gogoan, eta ordena berezirik gabe... (Orduan - 60.)

Horretarako, pentsatu programazio-lengoaia bat edo batzuk aldi berean. Sentimendu berdinak, kaos sortzaile bera.

Eta orain, XIX.mendeko kimikariek beren ezagutza guztia, eta apur bat gehiago, Taula Periodiko bakarrean eskaini zitzaien sentimenduak berreskura ditzakegu.

Matryoshka C. Geruzatutako programa-lengoaia-sistema


"Matryoshka C. Layered system of program language"-k C hizkuntzaren unitate guztiak begirada batean aurkezten ditu. Horri esker, horiek antolatzeko, zaharkitutako informazioa zuzentzeko eta baita programaren kontzeptua bera argitzeko ere.

Gaur egun, informazioa programatzeko sistematizazioa behar du elementu kimikoek duela 150 urte baino are gehiago.

Lehen beharra irakastea da. Mendeleiev bere sistema sortzen hasi zen zein elementurekin irakasten hasi behar zen galderari aurre egin zion: O, H, N, He, Au... Aldi berean, errazagoa egin zitzaion -kimika irakatsi zien onenei-. San Petersburgoko Unibertsitatea. Eta programazioa dagoeneko eskolan ematen da eta laster hasiko da haurtzaindegian.

Bigarren beharra ikuspegi zientifikoa da. Taula Periodikoaren laguntzaz elementu berriak aurkitu ziren eta zaharrei buruzko informazioa zuzendu zen. Atomoaren eredua sortzen lagundu zuen (1911). Eta abar.

Hirugarren beharra programaren kontzeptua argitzea da.

mendeko 50eko hamarkadan oin bat trabatuta dauka programazio modernoak. Orduan, programak sinpleak ziren, baina makinak eta makina lengoaiak konplexuak ziren, beraz, dena makinen eta lengoaien inguruan zebilen.

Orain dena alderantziz da: programak konplexuak eta lehen mailakoak dira, hizkuntzak sinpleak eta bigarren mailakoak. Horri aplikatzen den ikuspegia deitzen zaio, badirudi denek ezagutzen dutela. Baina ikasleek eta garatzaileek dena berdina dela sinetsita jarraitzen dute.

Horrek Privatdozent Mendeleieven lehen hitzaldira garamatza. Zer esan lehen ikasleei? Non dago egia? Hori da galdera.

"Matryoshka C" liburuak galdera honi erantzuna eskaintzen dio. Programa-lengoaiaren sistema geruzatua". Gainera, ikasleei ez ezik, trebatutako programatzaileei ere zuzenduta dago, haiek baitira, hau da, gu, egia bilatu eta mundu ikuskera aldatu behar dugunak.

Jarraian liburuaren laburpena da.

1. Sarrera

1969an, C lengoaia sortu zen, oinarrizko programazio lengoaia bihurtu zena eta horrela mantendu da 50 urtez. Zergatik da hori horrela? Lehenik eta behin, C delako aplikatuta programa eman zuen hizkuntza gizatiarra ikusi beharrean makina. Lorpen hau C familiako lengoaiek bermatu zuten: C++, JavaScript, PHP, Java, C# eta beste batzuk. Bigarrenik, hizkuntza labur eta ederra da.

Hala ere, C lengoaia bera makina-muntatzailearekin nahasten da normalean, eta, ondorioz, bere pertzepzioa zaildu eta desitxuratu egiten da. Beste muturra hizkuntzari “filosofia” jakin bat ezartzea da: prozedurazkoa, objektuzkoa, funtzionala, konpilatua, interpretatua, mekanografiatua, etab. Horrek emozioa gehitzen du, baina ez du laguntzen hizkuntza hobeto deskribatzen.

Egia erdian dago, eta C hizkuntzarentzat pertzepzio filosofikoaren eta makinaren arteko erdi-erdian dago.

C hizkuntza ez da independentea, idatzizko hizkuntza arruntari men egiten dio eta, aldi berean, muntaia-lengoaia bera kontrolatzen du. Posizio honek deskribatzen du Programaren hizkeraren eredua, horren arabera, programa hiru menpeko motatan banatzen da: hizkera, kodea, komandoa. C hizkuntza da bigarrenaren arduraduna, kode motaz.

Programan hizkuntzaren lekua zehaztuta, horri buruzko informazioa antola dezakezu, eta horrek egiten du Geruzatutako programa-lengoaia sistema, C hizkuntza sistema periodikoaren izpirituan irudikatuz - orrialde batean.

Sistema kontuan hartuta eraikitzen da hizkuntza aplikatuen komunitateak, beren hizkeraren menpekotasunetik sortua. Matryoshka C unitate multzo batek hizkuntza desberdinak deskribatzeko eta alderatzeko aukera ematen du, matrioska sorta bat sortuz: C++, PHP, JavaScript, C#, MySQL, Python eta abar. Merezi eta zuzena da hizkuntza desberdinak oinarrizko hizkuntzaren unitateen arabera deskribatzea.

2. KAPITULUA 1. Programaren hizkeraren eredua. Garbitu C

Lehenengo kapituluak aurkezten du programaren hizkeraren eredua, ikuspegi aplikatua islatuz. Haren arabera, programak hiru sekuentzial mota ditu:

  1. hizkera - arazoa konpontzen duen programatzailearen hizkera zuzena,
  2. kodetua - soluzio bat forma matematiko batean kodetzea C hizkuntzan (edo beste edozein)
  3. eta komandoa - makinaren agindu zuzenak.

Hizketa-ereduak C hizkuntza sinple eta ulergarria zergatik den azaltzen du. Xi ezaguna zaigun giza hizkeraren irudian eta antzera eraikitzen da.

Lehenengo programa mota programatzailearen zuzeneko hizkera da. Mintzamena giza pentsamenduari dagokio. Programatzaile hasiberriek hizkera erabiliz programak idazten dituzte - lehenik errusieraz, eta gero urratsez urrats ekintzak kode-lengoaia batera itzuliz. Eta, hain zuzen, eredu horretan sortu zen C hizkuntza.

Programatzailearen ondorioak, hizkeran adierazita, kodetutako forma numeriko batean bihurtzen dira. Eraldaketa horri deitu behar zaio hausnarketa, hizkerak eta kodeak izaera bera baitute (hausnarketa - jaiotza - generoa). Hau nahiko nabaria da programaren hizkera (ezkerrean) eta kodea (eskuinean) motak konparatzen baditugu.

Matryoshka C. Geruzatutako programa-lengoaia-sistema

Bitxia da hausnarketa oso sinplea gertatzen dela, bi esamolde mota bakarrik.

Dena den, C hizkuntzaren deskribapen modernoak (1978koa) ez du izen-zerrenda nahikorik jasotzen ez hizkuntza orokorrean deskribatzeko, ez gogoeta egiteko bereziki. Hori dela eta, sormenak egitera eta izen hauek aurkeztera behartuta gaude.

Hitzen aukeraketa zehatza eta argia izan behar da. Honek hurbilketa berezi bat eskatzen zuen, laburki honela adierazita: jatorrizko hizkuntzaren erabilera zorrotza. Ingelesentzat ingelesa litzateke, baina gu ez gara ingelesak. Beraz, daukaguna erabiliko dugu eta errusieraz hitz egiten saiatuko gara.

Hausnarketa bi adierazpen motaren bidez egiten da:

  1. kalkulua (HF) - objektu baten propietateen aldaketa islatzen du. Objektu baten propietatea zenbaki baten bidez adierazten da, orduan propietate baten ekintza bat zenbaki baten ekintza bat da - eragiketa bat.
  2. menpekotasuna (Pch) - ekintzen ordenaren aldaketa islatzen du. Pch-ren prototipoa hizketa-perpaus konplexua da, beraz, Pch mota gehienak menpeko juntagailuekin hasten dira "baldin", "bestela", "bitartean", "for". Beste ordenagailu mota batzuk osatzen dituzte.

Bide batez, sinetsi al dezakezu C deskribapenean ez dagoela kalkulu-adierazpenen izenik - "adierazpide" besterik ez zaie deitzen? Horren ondoren, ez da gehiago harritzekoa izango menpekotasun motarako izenik eta elkarterik ez egotea, eta, hain zuzen, izen, definizio eta orokortzeen urritasuna orokorrean. Hau da, K/R famatua (“The C Language”, Kernighan/Ritchie, 1978) ez delako deskribapena, hizkuntza erabiltzeko gida bat baizik.

Hala ere, oraindik hizkuntzaren deskribapena eduki nahiko nuke. Horregatik eskaintzen zaio Geruzatutako programa-lengoaia sistema.

3. KAPITULUA 2. Geruza-sistema. Laburra C

Edozein deskribapen zehatza eta oso zehatza izan behar da. Programa-lengoai baten kasuan, aurrealdeko deskribapena zaila da.

Hemen programa bat dugu. Moduluz osatuta dago. Moduluak azpirrutinak eta bildumak (egitura) osatzen dituzte. Azpirrutinek adierazpen indibidualez osatuta daude: deklarazioak, kalkuluak, menpekotasuna. Hamar menpekotasun mota daude. Menpekotasunak azpimailak eta azpierrutinak lotzen ditu. Hainbat iragarki ere badaude. Hala ere, deklarazioak azpierrutinetan eta azpimailetan ez ezik, moduluetan eta bildumetan ere sartzen dira. Eta esamolde gehienak deskribatzeko hain zailak diren hitzez osatuta daude, non normalean bi zerrendetan ematen baitira: jatorrizko eta eratorritako hitzak, hizkuntzaren ikaskuntzan eta erabileran zehar ezagutuko dituzunak. Gehi ditzagun puntuazio-markak eta beste hainbat esamolde horri.

Halako aurkezpen batean, ez da erraza ulertzea nor noren gainean zegoen.

Hizkuntza bat deskribatzeko planteamendu hierarkiko zuzena konplexuegia litzateke. Bilaketa biribilak hizkuntzaren deskribapena dakar bere hizkeraren izaeraren eta agintearen alde oinarrituta. Horrela, Geruzen Sistema sortu zen, partzialki Mendeleieven Sistema Periodikoarekin bat eginez, hau ere geruza. Argitalpenetik 42 urtera (1869) gertatu zenez, sistemaren aldizkakotasuna elektronikoarekin lotzen da. geruzak (1911, Bohr-Rutherford atomoaren eredua). Era berean, geruzak eta aldizkako sistemak antzekoak dira orrialde bateko unitate guztien taula-antolamenduan.

Hizkuntza-unitateen deskribapena laburra da: 10 esamolde mota eta beste 8 unitate mota baino ez dira, baita esanguratsuak eta bisualak ere. Lehen ezagunarentzat ezohikoa izan arren.

Hizkuntza-unitateak 6 mailatan banatzen dira:

  1. unitateak - taula errenkadak
  2. sailak - genero talde bereziak (lehen lerroko zatiak)
  3. generoa - zelulak (zatiketa maila nagusia)
  4. superespezie - espezie bereizleak (maila arraroa)
  5. motak - unitate-formulak gelaxkaren behealdean edo bereizita
  6. ereduak - unitateak berak (hitzetarako soilik)

Hitz laginak deskribatzen ditu dictionary - sei maila berdinez osatutako azpisistema bereizia.

C hizkuntzaren hizkeraren osagaia nahiko agerikoa da, nahiz eta oraindik deskribapena merezi duen. Baina hizkuntzaren komando-zatia konpilazio-kontrolarekin erlazionatuta dago, eta horietan hirugarren programa mota sortzen da - komandoa. Hemen C hizkuntzaren alderdi zirraragarrienera iritsiko gara: edertasuna.

4. ONDORIOKO KAPITULUAK. Ederra Si

C lengoaia da programazio modernoaren oinarria. Zergatik? Lehenik eta behin, hizkeraren korrespondentzia handienagatik. Bigarrenik, makina-zenbakien prozesamenduaren mugak ederki saihestu zituelako.

Zer proposatu zuen Xik zehazki? Irudia eta geruza.

"Irudi" hitza ingelesezko "type" hitzaren itzulpena da, grezierazko "prototype" - "type"tik datorrena. Errusiar hizkuntzan, "mota" hitzak ez du adierazten ari den kontzeptuaren oinarria; gainera, "mota" esanahi laguntzailearekin nahasten da.

Hasieran, irudiak makina hutsezko kalkulu-arazo bat konpondu zuen, eta gero objektu-lengoaien sorrerarako pista bihurtu zen.

Geruzak berehala ebatzi zituen hainbat arazo - makina eta aplikatuta. Hori dela eta, gogoeta zeregin bakarreko irudi batekin hasiko da eta zeregin anitzeko geruza batera pasatuko da.

Programazio historikoaren ezaugarri desatseginetako bat da kontzeptu gehienak, oinarrizkoak barne, definiziorik gabe ematen direla. "Programazio-lengoaiak (ibaiaren izena) zenbaki osoak eta mugikorrak ditu..." eta gehiago marratu zuten. Ez da beharrezkoa "mota" (irudia) zer den definitzea, egileek eurek ez baitute hori guztiz ulertzen eta "argitasunaren mesedetan" isilduko dutelako. Horman itsatsita baldin badaude, definizio lauso eta alferrikakoa emango dute. Asko laguntzen du atzerriko hitzen atzean ezkutatzen: errusiar egileentzat - ingelesaren atzean (mota), ingelesentzat - frantsesa (azpirutina), greziera (polimorfismoa), latinaren (kapsulatzea) edo haien konbinazioen atzean (ad-hoc polimorfismoa).

Baina hau ez da gure patua. Gure aukera errusiera hutsezko bisera altxatutako definizioak dira.

irudia

irudia kantitate baten aurrefigurazio-izena da, 1) kantitatearen berezko propietateak eta 2) kantitatearen eragiketen hautaketa definitzen dituena.

"Mota" (mota) hitza definizioaren lehen zatiari dagokio: "kantitate baten berezko propietateak". Baina irudiaren esanahi nagusia bigarren zatian dago: "eragiketak kantitateen hautaketa".

Irudi bat C-n sartzeko abiapuntua kalkulu normal bat da, batuketa eragiketa adibidez.

Papera Matematikak, eskuz idatzita edo inprimatuta egon, ez du bereizketa handirik egiten zenbaki moten artean, normalean benetakoak direla suposatuz. Hori dela eta, haien prozesatzeko eragiketak ez dira anbiguoak.

makina Matematikak zorrozki zatitzen ditu zenbakiak zenbaki osoetan eta zatikietan. Zenbaki mota desberdinak memorian gordetzen dira eta prozesadorearen instrukzio ezberdinek prozesatzen dituzte. Adibidez, zenbaki osoak eta zatikiak gehitzeko instrukzioak bi prozesadore-nodo ezberdinei dagozkion bi instrukzio ezberdin dira. Baina ez dago argumentu osoak eta zatikiak gehitzeko komandorik.

Aplikatua matematikak, hau da, C hizkuntzak, zenbaki motak bereizten ditu, baina eragiketak konbinatzen ditu: zenbaki osoetarako eta/edo zatikietarako batuketa ekintza zeinu batekin idazten da.

Kontzeptuaren irudiaren definizio argiak beste bi kontzepturi buruz behin betiko hitz egiteko aukera ematen digu: balio и operazioa.

Magnitudea eta funtzionamendua

Balio — Prozesatzen ari den zenbakia.

eragiketa — Hasierako balioen (argumentuak) balioak prozesatzea azken zenbakia (guztira) lortzeko.

Magnitudea eta funtzionamendua elkarrekin lotuta daude. Eragiketa bakoitza kantitate bat da, zenbakizko emaitza duelako. Eta balio bakoitza prozesadore-erregistrora balio bat transferitzearen emaitza da, hau da, eragiketaren emaitza. Erlazio hori gorabehera, nagusiena haien deskribapen bereizia egiteko aukera da, hiztegiko atal ezberdinetan hitz bat errepikatuz bada ere, MA3-n gertatzen dena.

Makinaren ikuspegiak programatzaileak erabilitako zenbaki guztiak zatitu zituen komandoak и datuak. Aurretik, biak zenbakiak ziren, adibidez, komandoak zenbakizko kodeetan idazten ziren. Hala ere, hizkuntza aplikatuetan, aginduak zenbaki izateari utzi eta bihurtu ziren hitzetan и ekintza-seinaleak. Zenbaki gisa “datuak” baino ez dira geratzen, baina zentzugabea da horrela deitzen jarraitzea, izan ere, makinatik matematikaren ikuspunturako igarotzean, zenbakiak jatorrizkoarekin zatitzen diren kantitateak dira (datuak) eta azkena (beharrezkoak). "Datu ezezaguna" ergela izango da.

Taldeak ere bi ekintza motatan banatu ziren: matematikoak eta zerbitzuak. Ekintza matematikoak - eragiketak. Gauza ofizialei geroago helduko gara.

C lengoaietan, ohiko paper eta makina eragiketa matematiko anbiguorik edo bakarrak ia unibertsalki anitz bihurtzen dira.

Eragiketa anitz izen bereko hainbat eragiketa dira argumentu mota ezberdinekin eta esanahiaren antzeko ekintza ezberdinekin.

Osoko argumentuak eragiketa oso bati dagozkio, eta zatikiko argumentuak zatikiko eragiketa bati. Desberdintasun hau bereziki argia da zatiketa eragiketan, 1/2 adierazpenak guztira 0 ematen duenean, ez 0,5. Adierazpen hori ez dator bat papereko matematikaren arauekin, baina C hizkuntza ez da horiek betetzen saiatzen (Fortranek ez bezala) - berearen arabera jokatzen du. aplikatu arauak.

Zenbaki osoak eta zatikiak nahastearen kasuan, zuzen bakarra sartzen da argumentu-balioak botatzea — balio baten eraldaketa selektiboa irudi batetik bestera. Izan ere, zenbaki oso bat eta zatiki zenbaki bat gehitzean, emaitza zatikia da, beraz, eragiketaren irudia hartzen du argumentu oso bat zatiki balio bihurtzeko eragiketa.

Hainbat operazio geratzen dira pluralaEta bakarra. Horrelako eragiketak argumentu mota baterako bakarrik definitzen dira: zatiketa hondarra - argumentu osoak, pilaketa (bit-eragiketak) - zenbaki oso naturalak. Ma3-k eragiketa aniztasuna adierazten du zeinuekin (#^) eragiketa zein iruditarako zehaztu den adierazten duten. Eragiketa bakoitzaren propietate garrantzitsua baina aurretik ahaztua da.

Funtzio guztiak unitate-eragiketa arbitrarioak dira. Salbuespena operadoreak dira - parentesirik gabeko funtzioak, hizkuntzan eraikia (jatorrizko eragiketak).

Laguntza

Laguntza - eragiketarekin batera doan ekintza.

Eragiketa ekintza nagusitzat hartzen badugu, eragiketa ematen duten eta bertatik desberdintzen diren bi osagarri bereiz ditzakegu. Hauek 1) aldagaien kontrola eta 2) menpekotasuna dira. Ekintza honi deitzen zaio laguntza.

Hemen digress egin eta banan-banan esan behar dugu programazio liburuen errusierazko itzulpenei buruz. K/Rren testuan hitz berri bat sartu zen ekintzak erregistratzeko Komunikatua (adierazpena), makina-agindu baten kontzeptuak ekintza ezberdinetan banatzen saiatzen zena: 1) eragiketa, 2) deklarazioa eta 3) menpekotasuna ("kontrol-eraikuntzak" izenekoak). Saiakera hau errusiar itzultzaileek lurperatu zuten, "adierazpena" "operadore" hitzarekin ordezkatuz, hau da:

  1. "agindu" makina hitzaren sinonimo bihurtu da
  2. "ekintzaren seinale" esaldiaren sinonimo bihurtu zen.
  3. eta balio gehigarri kopuru mugagabea ere jaso zuen. Hau da, ingelesezko “uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh” artikuluaren antzeko zerbait bihurtu da.

Kontuan izan dabiltzan ekintzak, edo laguntza.

Kontrol aldakorra

Kontrol aldakorra (GOA) - gelaxka aldakorrak sortu/ezabatzea.
UE inplizituki gertatzen da aldagai bat deklaratzean, dagoeneko beste arrazoi batengatik idatzita dagoena - balioaren irudia adierazteko. Ikuspegi bakarra kudeatzen da esplizituki aldagai osagarriak malloc() eta free() funtzioak erabiliz.

Kontuan izan behar da ekintza inplizituak erosoagoak direla idazteko, ez baitute ezer idazterik behar, baina ulertzea zailagoa da -kontuan hartzea eta interpretatzea zailagoa da-.

Menpekotasuna

Menpekotasuna — konektatu/desgaitu geruza-atalak.

C hizkuntzak ekintzen ordena kontrolatzeko metodo aplikatu bat eskaintzen zuen, mihiztatzaile - menpekotasunetik desberdina. Hizketa-perpaus konplexua islatzen eta garatzen du, zati nagusia (menpeko perpausa) eta menpeko zatia (azpimaila/azpirutina atalak) argi eta garbi banatuta.

Aitorpena eta bidalketa kontzeptuaren gainean eraikita daude erabat слой.

Geruza

Geruza maila bakarreko esamolde sorta mugatua da.

Geruzak esplizituki eta inplizituki hainbat zeregin hartu zituen aldi berean:

  1. programa antolatzea
  2. izenen ikusgarritasuna mugatzea (inplizituki),
  3. aldagaien kudeaketa (memoria-zelulak) (inplizitua),
  4. menpeko perpausen definizioa menpekotasunerako,
  5. funtzioen eta hautaketen definizioak eta beste batzuk.

Makina-lengoaietan geruza kontzepturik ez zegoen, beraz, ez zen K/R-n agertzen, eta zerbait ez balego, ondorengo liburuetan sartzea heresia eta pentsamendu librea izango zen. Beraz, geruza kontzeptua ez zen batere agertu, nahiz eta oso erabilgarria eta nahiko agerikoa den.

Geruzarik gabe, ezinezkoa da programaren ekintza eta arau asko labur eta argi azaltzea. Esate baterako, zergatik den hiru kopeck bezain sinplea txarto, eta delikatua ona da. Ezinezkoa zin egin dezakezu, Dijkstrak egin zuen bezala ("programatzaileen trebetasuna beren programetan goto adierazpenen maiztasunaren araberakoa den funtzio bat da". Laburbilduz, ahuntzek bakarrik erabiltzen dute goto. Justifikazio-maila Jainkoa da.) Egia da, hau ez da hain beldurgarria zure liburuak bada. Ez dugu ezer azaldu beharrik, baina, lehen esan dugunez, hau ez da gure patua.

Bide batez, pentsa daiteke Dan Ritchie-k goto utzi zuela, hain zuzen, izenik gabeko kontzepturen bat bilatzeko gako gisa, goto esapidean ez zegoelako beharrik edo edertasunik. Baina Richie-k berak eman nahi ez zituen hizkuntzaren printzipio berrien azalpen sinple eta ulergarri baten beharra zegoen, hain zuzen ere kontzeptuan oinarritzen direnak. слой.

Desbideraketa

Desbideraketa — Izen berriaren ohiko propietateak aldatzea.

Desbideratze garrantzitsuena programaren geruzen propietateekin lotuta dago, eta "estatiko" hitz batekin deskribatzen da, geruza mota bakoitzean esanahi ezberdina duena.

5. AZKEN KAPITULUA. Aplikaturiko hizkuntzen komuntasuna

Hizkuntza aplikatuak dira figuratiboa hizkuntzak (irudi bat edukitzea, "mekanografiatua"). Irudiaren erabilera esplizituan edo inplizituan oinarritzen dira. Gainera, hemen berriro kontraesan bat agertzen da: irudi esplizitua ulergarriagoa da, baina ez hain erosoa, eta alderantziz.

Matryoshka C. Geruzatutako programa-lengoaia-sistema

(Taularen diseinua oraindik ez da entregatu, beraz, taula argazki batekin agertzen da.)

C-ren ondoren, hizkuntza aplikatuen garapenak bere figuratibitatea areagotzeko bidea hartu zuen. Irudi altua ulertzeko garrantzitsuena C - C++ hizkuntzaren ondorengo zuzena da. Kantitateetarako eragiketen hautaketa arbitrarioaren ideia garatzen du eta adierazpen sintetikoen hautapenean oinarrituta gorpuzten du, zeinak izen berri bat jasotzen du - objektua. Hala ere, C++ ez da C bezain zehatza eta adierazgarria, bilduma mota berrien eta haiei lotutako arauen gainkarga dela eta. Bide batez, hitz egin dezagun “gainkargaz”.

Gainkarga eta polimorfismoa

"Gainkarga" hitza sorkuntzarako ikaskuntza automatikoko termino zaharkitua da eragiketa anitz.

Makina (sistema) programatzaileak pluraltasuna eragiketak gogaikarria izan daitezke: “Zer esan nahi du zeinu honek (+): zenbaki osoak gehitzea, zatikiak gehitzea edo, are gehiago, aldatzea?! Gure garaian ez zuten horrela idazten!”. Hortik dator aukeratutako hitzaren konnotazio negatiboa (“gehiegikeria”, “nekatuta”). Aplikazio-programatzaile batentzat, eragiketa anitz dira oinarria, C lengoaiaren lorpen eta ondare nagusia, hain naturalak, non askotan ez baitira aintzat hartzen.

C++ hizkuntzan pluraltasuna jatorrizko eragiketetara ez ezik, funtzioetara ere hedatu zen - banakakoa eta klaseetan konbinatuta - metodoetara. Metodo anitzekin klase hedatuetan horiek gainidazteko gaitasuna etorri zen, "polimorfismoa" deitzen zitzaion modu lausoan. Polimorfismoaren eta gainkargaren konbinazioak bi polimorfismotan zatitu zen nahasketa leherkorra sortu zuen: "egia" eta "ad-hoc". Esleitutako izenak izan arren bakarrik uler daiteke hori. Iragarkirako bidea izen arrotzez beteta dago.

"Gainkarga" formako adierazpena hobeto adierazten da hitzean iragarki gehigarria — izen bereko funtzio baten adierazpena gehitzea beste irudi bateko argumentuekin.

"Polimorfismo" formako adierazpena hobeto deitzen da berriro iragarkia — Izen bereko funtzio baten hedapen geruza berri batean gainjarritako adierazpena irudi bereko argumentuak dituena.

Orduan erraza izango da ulertzea irudi ezberdinen metodo berdinak (argudioak) - gainera iragarrita, eta irudi bat - berriro iragarri.

Errusiako hitzek erabakitzen dute.

Pista

Hizkuntza oso figuratiboen kontzeptuak kontuan hartzeak oinarrizko kontzeptuen definizio argiaren garrantzia baieztatzen du. C behar bezala deskribatuta, irudi handiko hizkuntzak ikastea erraza eta atsegina izango da.

Hau bereziki garrantzitsua da hizkuntza oso figuratibo inplizituak (PHP, JavaScript). Haientzat, objektuen garrantzia (irudi konposatuak) are handiagoa da C++-n baino, baina irudiaren kontzeptua bera inplizitu eta iheskorra bihurtzen da. Erosotasunaren ikuspuntutik, sinpleagoak bihurtu dira, baina ulertzearen ikuspegitik, zaildu egin dira.

Hori dela eta, programazio-lengoaiak C hizkuntzarekin ikasten hasi eta C familiako hizkuntzak agertzen diren ordenan aurrera egin beharko zenuke.

Gauza bera gertatzen da hizkuntzak deskribatzearekin. Hizkuntza ezberdinek C hizkuntzak baino genero unitate berdina edo txikiagoa dute. Mota eta lagin kopurua bi norabidetan desberdina izan daiteke: C++ C-k C-k baino mota gehiago ditu, JavaScript gutxiago, berriz.

MySQL hizkuntzak aipamen berezia merezi du. Badirudi ez dagoela ezer komunean, baina ezin hobeto deskribatzen du Matrioskak, eta ezagutzea azkarrago eta errazagoa da. Garrantzitsua dena, sarerako duen garrantzia kontuan hartuta - programazio modernoaren jangela-bidea. Eta MySQL dagoen tokian, beste SQL batzuk daude. Bada, Fortran-Pascal-Pythons mota guztiak ere deskribatzen ditu Matrioskak, eskua hartu bezain pronto.

Beraz, gauza handiak itxaroten gaituzte: C hizkuntzaren deskribapen aplikatua eta jarraian datozen hizkuntzen deskribapen bateratua. «Gure helburuak argiak dira, gure zereginak zehaztuta daude. Hasi lanari, kamaradak! (Ekaitz txalo luzea, txalo bihurtuz. Denak zutik jartzen dira.)"

Zure iritziak arreta handiz entzungo dira, habia-panpinen webgunea sortzeko zure laguntza esker onez jasoko da. Liburuari buruzko informazio osatuagoa webgunean dago, Matryoshka C-n trebeki ezkutatuta.

Iturria: www.habr.com

Gehitu iruzkin berria