Matroesjka C. Gelaagd programmataalsysteem

Laten we ons de chemie proberen voor te stellen zonder het periodiek systeem van Mendelejev (1869). Hoeveel elementen moesten er in gedachten gehouden worden, en in willekeurige volgorde... (Toen - 60.)

Denk hiervoor eens aan een of meerdere programmeertalen tegelijk. Dezelfde gevoelens, dezelfde creatieve chaos.

En nu kunnen we de gevoelens van scheikundigen uit de XNUMXe eeuw opnieuw beleven toen hen al hun kennis, en nog wat meer, werd aangeboden in één Periodiek Systeem.

Matroesjka C. Gelaagd programmataalsysteem


Het boek “Matryoshka C. Gelaagd systeem van programmataal" presenteert alle eenheden van de C-taal in één oogopslag. Hiermee kunt u ze ordenen, verouderde informatie corrigeren en zelfs het concept van het programma verduidelijken.

Tegenwoordig heeft het programmeren van informatie nog meer systematisering nodig dan chemische elementen 150 jaar geleden.

De eerste noodzaak is lesgeven. Mendelejev begon zijn systeem te creëren toen hij voor de vraag stond met welk element hij moest beginnen les te geven: O, H, N, He, Au... Tegelijkertijd was het gemakkelijker voor hem - hij onderwees scheikunde aan de beste - studenten van Universiteit van Sint-Petersburg. En programmeren wordt al op school onderwezen en zal binnenkort op de kleuterschool beginnen.

De tweede behoefte is een wetenschappelijke benadering. Met behulp van het periodiek systeem werden nieuwe elementen ontdekt en informatie over oude gecorrigeerd. Ze hielp bij het creëren van het model van het atoom (1911). Enzovoort.

De derde behoefte is het verduidelijken van het concept van een programma.

De moderne programmering is met één voet blijven steken in de jaren vijftig van de twintigste eeuw. Destijds waren programma’s eenvoudig, maar machines en machinetalen waren complex, dus alles draaide om machines en talen.

Nu is alles andersom: programma's zijn complex en primair, talen zijn eenvoudig en secundair. Dit heet de toegepaste aanpak, waar iedereen bekend mee lijkt te zijn. Maar studenten en ontwikkelaars blijven ervan overtuigd dat alles hetzelfde is.

Dat brengt ons terug bij de eerste lezing van Privaatdozent Mendelejev. Wat moeten eerstejaarsstudenten vertellen? Waar is de waarheid? Dat is de vraag.

Het boek “Matryoshka C” biedt een antwoord op deze vraag. Gelaagd systeem van programmataal". Bovendien is het niet alleen gericht tot studenten, maar ook tot getrainde programmeurs, aangezien zij, dat wil zeggen wij, de waarheid moeten zoeken en het wereldbeeld moeten veranderen.

Wat volgt is een samenvatting van het boek.

1. Inleiding

In 1969 werd de C-taal gecreëerd, die de fundamentele programmeertaal werd en dat al 50 jaar zo blijft. Waarom is dit zo? In de eerste plaats omdat C dat is toegepast de taal waarin het programma werd gegeven menselijk in plaats daarvan bekijken machine. Deze prestatie werd veiliggesteld door talen uit de C-familie: C++, JavaScript, PHP, Java, C# en andere. Ten tweede is het een korte en mooie taal.

De C-taal zelf wordt echter meestal gemengd met machine-assembler, waardoor de perceptie ervan wordt gecompliceerd en vervormd. Het andere uiterste is het opleggen van een bepaalde ‘filosofie’ aan de taal: procedureel, object, functioneel, gecompileerd, geïnterpreteerd, getypt, enzovoort. Dit voegt emotie toe, maar helpt niet om de taal beter te beschrijven.

De waarheid ligt in het midden, en voor de C-taal bevindt deze zich strikt in het midden tussen filosofische en machinale perceptie.

De C-taal is niet onafhankelijk, hij gehoorzaamt de gewone schrijftaal en controleert tegelijkertijd de assembleertaal zelf. Dit standpunt beschrijft Spraakmodel van het programma, volgens welke het programma is verdeeld in drie ondergeschikte typen: spraak, code, commando. De C-taal is verantwoordelijk voor het tweede codetype.

Nadat u de plaats van de taal in het programma hebt bepaald, kunt u er informatie over organiseren Gelaagd programmataalsysteem, die de C-taal vertegenwoordigt in de geest van het periodieke systeem - op één pagina.

Het systeem is gebouwd rekening houdend met gemeenschappen van toegepaste talen, voortkomend uit hun spraakondergeschiktheid. Met één set Matryoshka C-eenheden kun je verschillende talen beschrijven en vergelijken, waardoor een reeks Matryoshka's ontstaat: C++, PHP, JavaScript, C#, MySQL, Python enzovoort. Het is waardig en correct dat verschillende talen worden beschreven door eenheden van de fundamentele taal.

2. HOOFDSTUK 1. Spraakmodel van het programma. Wissen C

Het eerste hoofdstuk presenteert spraakmodel van het programma, wat een toegepaste aanpak weerspiegelt. Volgens hem kent het programma drie voor de hand liggende opeenvolgende typen:

  1. spraak - directe spraak van de programmeur die het probleem oplost,
  2. gecodeerd - het coderen van een oplossing in een wiskundige vorm in C-taal (of een andere)
  3. en opdracht - directe machineopdrachten.

Het spraakmodel legt uit waarom C een eenvoudige en begrijpelijke taal is. Xi is gebouwd naar het beeld en de gelijkenis van de menselijke spraak die ons bekend zijn.

Het eerste type programma is de directe spraak van de programmeur. Spraak komt overeen met het menselijk denken. Beginnende programmeurs schrijven programma's met behulp van spraak - eerst in het Russisch en vervolgens stap voor stap door de acties in een codetaal te vertalen. En het is precies op dit model dat de C-taal is gemaakt.

De conclusies van de programmeur, uitgedrukt in spraak, worden omgezet in een gecodeerde numerieke vorm. Deze transformatie zou moeten worden genoemd reflectie, aangezien spraak en code dezelfde aard hebben (reflectie - geboorte - geslacht). Dit is vrij duidelijk als we de spraak- (aan de linkerkant) en code- (aan de rechterkant) typen van het programma vergelijken.

Matroesjka C. Gelaagd programmataalsysteem

Het is merkwaardig dat reflectie heel eenvoudig plaatsvindt - met slechts twee soorten uitdrukkingen.

De moderne beschrijving van de C-taal (uit 1978) bevat echter geen voldoende lijst met namen, noch om de taal in het algemeen, noch voor de reflectietaak in het bijzonder te beschrijven. Daarom zijn we gedwongen creatief te zijn en deze namen te introduceren.

De woordkeuze moet precies en duidelijk zijn. Dit vergde een bijzondere aanpak, kortweg als volgt uitgedrukt: strikt gebruik van de moedertaal. Voor de Engelsen zou het Engels zijn, maar wij zijn geen Engelsen. Dus we zullen gebruiken wat we hebben en proberen Russisch te spreken.

Reflectie wordt uitgevoerd door twee soorten expressies:

  1. berekening (HF) - weerspiegelt een verandering in de eigenschappen van een object. De eigenschap van een object wordt uitgedrukt door een getal, en een actie op een eigenschap is dan een actie op een getal: een bewerking.
  2. одчинение (Pch) - weerspiegelt een verandering in de volgorde van acties. Het prototype van Pch is een spraakcomplexe zin, daarom beginnen de meeste soorten Pch met ondergeschikte voegwoorden “als”, “anders”, “terwijl”, “voor”. Andere soorten pc's vullen deze aan.

Kun je trouwens geloven dat er in de C-beschrijving geen naam is voor berekeningsuitdrukkingen - ze worden eenvoudigweg "expressies" genoemd? Hierna zal het niet langer verrassend zijn dat er geen naam en associatie bestaat voor het soort ondergeschiktheid, en zelfs voor de schaarste aan namen, definities en generalisaties in het algemeen. Dit komt omdat de beroemde K/R (“The C Language”, Kernighan/Ritchie, 1978) geen beschrijving is, maar een gids voor het gebruik van de taal.

Ik zou echter toch graag een beschrijving van de taal willen hebben. Daarom wordt hij aangeboden Gelaagd programmataalsysteem.

3. HOOFDSTUK 2. Lagensysteem. Korte C

Elke beschrijving moet nauwkeurig en uiterst beknopt zijn. In het geval van een programmataal is een frontale beschrijving moeilijk.

Hier hebben we een programma. Het bestaat uit modules. Modules bestaan ​​uit subroutines en verzamelingen (structuur). Subroutines bestaan ​​​​uit individuele expressies: declaraties, berekeningen, ondergeschiktheid. Er zijn maar liefst tien soorten ondergeschiktheid. Ondergeschiktheid verbindt subniveaus en subroutines. Er zijn ook verschillende advertenties. Declaraties zijn echter niet alleen opgenomen in subroutines en subniveaus, maar ook in modules en verzamelingen. En de meeste uitdrukkingen bestaan ​​uit woorden die zo moeilijk te beschrijven zijn dat ze meestal eenvoudigweg in twee lijsten worden weergegeven: originele en afgeleide woorden, waarmee u tijdens het leren en gebruiken van de taal vertrouwd zult raken. Laten we hier leestekens en een aantal andere uitdrukkingen aan toevoegen.

Bij zo'n presentatie is het niet eenvoudig te begrijpen wie op wie stond.

Een directe hiërarchische benadering van het beschrijven van een taal zou te complex zijn. Een rotondezoektocht leidt tot een beschrijving van de taal op basis van het spraakkarakter en de commandozijde. Zo werd het Lagensysteem geboren, dat gedeeltelijk samenviel met het Periodieke Systeem van Mendelejev, dat ook zo is laag. Zoals 42 jaar na de publicatie ervan (1869) bleek, hangt de periodiciteit van het systeem samen met elektronische lagen (1911, Bohr-Rutherford-model van het atoom). Ook zijn de gelaagde en periodieke systemen vergelijkbaar wat betreft de tabelindeling van alle eenheden op één pagina.

De beschrijving van taaleenheden is kort: slechts 10 soorten uitdrukkingen en 8 soorten andere eenheden, maar ook betekenisvol en visueel. Hoewel ongebruikelijk voor de eerste kennismaking.

Taaleenheden zijn onderverdeeld in 6 niveaus:

  1. eenheden - tabelrijen
  2. afdelingen - speciale groepen geslachten (delen van de eerste lijn)
  3. geslacht - cellen (hoofdniveau van deling)
  4. superspecies - soortenscheiders (zeldzaam niveau)
  5. typen - eenheidsformules onderaan de cel of afzonderlijk
  6. patronen - de eenheden zelf (alleen voor woorden)

Voorbeeldwoorden beschrijven woordenboek - een afzonderlijk subsysteem bestaande uit dezelfde zes niveaus.

De spraakcomponent van de C-taal is vrij duidelijk, hoewel deze nog steeds beschrijving verdient. Maar het commandogedeelte van de taal houdt precies verband met compilatiecontrole, waarbij het derde type programma wordt gemaakt: commando. Hier komen we bij het meest opwindende aspect van de C-taal: schoonheid.

4. VOLGENDE HOOFDSTUKKEN. Knappe si

De C-taal is de basis van modern programmeren. Waarom? Ten eerste vanwege de grootste overeenkomst met spraak. Ten tweede omdat het op prachtige wijze de beperkingen van de verwerking van machinenummers omzeilde.

Wat heeft Xi precies voorgesteld? Afbeelding en laag.

Het woord "beeld" is een vertaling van het Engelse woord "type", dat afkomstig is van het Griekse "prototype" - "type". In de Russische taal geeft het woord ‘type’ niet de hoeksteen weer van het concept dat wordt uitgedrukt; bovendien wordt het verward met de hulpbetekenis ‘type’.

Aanvankelijk loste het beeld een puur machinaal rekenprobleem op, en werd vervolgens een startbaan voor de geboorte van objecttalen.

De laag loste onmiddellijk verschillende problemen op - zowel machinaal als aangebracht. Daarom begint de overweging met een afbeelding met één taak en gaat deze over naar een laag met meerdere taken.

Een van de onaangename kenmerken van historische programmering is dat de meeste concepten, inclusief basisconcepten, zonder definities worden gegeven. “De programmeertaal (naam van rivieren) heeft typen gehele getallen en drijvende getallen...” en ze krabbelden verder. Het is niet nodig om te definiëren wat een ‘type’ (beeld) is, omdat de auteurs dit zelf niet helemaal begrijpen en het ‘voor de duidelijkheid’ zullen verzwijgen. Als ze aan de muur worden vastgemaakt, geven ze een vage en nutteloze definitie. Het helpt veel om je te verschuilen achter buitenlandse woorden: voor Russische auteurs - achter Engels (type), voor Engelsen - achter Frans (subroutine), Grieks (polymorfisme), Latijn (inkapseling) of hun combinaties (ad-hoc polymorfisme).

Maar dit is niet ons lot. Onze keuze is definities met een verhoogd vizier in puur Russisch.

image

image is een prefiguratieve naam voor een hoeveelheid, die 1) de intrinsieke eigenschappen van de hoeveelheid en 2) de selectie van bewerkingen voor de hoeveelheid definieert.

Het woord “type” (type) komt overeen met het eerste deel van de definitie: “intrinsieke eigenschappen van een hoeveelheid.” Maar de belangrijkste betekenis van het beeld ligt in het tweede deel: “selectie van bewerkingen op hoeveelheden.”

Het uitgangspunt voor het introduceren van een afbeelding in C is een normale berekening, zoals de optelbewerking.

Papier Wiskunde, of het nu met de hand geschreven of gedrukt is, maakt niet veel onderscheid tussen soorten getallen, meestal ervan uitgaande dat ze echt zijn. Daarom zijn hun verwerkingsactiviteiten ondubbelzinnig.

machine Wiskunde verdeelt getallen strikt in gehele getallen en breuken. Verschillende soorten getallen worden verschillend in het geheugen opgeslagen en door verschillende processorinstructies verwerkt. De instructies voor het optellen van gehele getallen en breuken zijn bijvoorbeeld twee verschillende instructies die overeenkomen met twee verschillende processorknooppunten. Maar er is geen commando voor het toevoegen van integer- en fractionele argumenten.

Toegepast wiskunde, dat wil zeggen de C-taal, scheidt de soorten getallen, maar combineert bewerkingen: optelling voor gehele getallen en/of breuken wordt geschreven met één actieteken.

Een duidelijke definitie van het conceptbeeld stelt ons in staat om zeker over twee andere concepten te praten: waarde и оерация.

Omvang en werking

waarde — het nummer dat wordt verwerkt.

Operatie — het verwerken van de waarden van de beginwaarden (argumenten) om het uiteindelijke getal (totaal) te verkrijgen.

Omvang en werking zijn met elkaar verbonden. Elke bewerking is een hoeveelheid omdat deze een numeriek resultaat heeft. En elke waarde is het resultaat van het overbrengen van een waarde naar/van het processorregister, dat wil zeggen het resultaat van de bewerking. Ondanks deze relatie is het belangrijkste de mogelijkheid van een afzonderlijke beschrijving, zij het met de herhaling van één woord in verschillende delen van het woordenboek, wat gebeurt in MA3.

De machinebenadering verdeelde alle getallen die door de programmeur werden gebruikt in commando's и gegevens. Voorheen waren het allebei cijfers, opdrachten werden bijvoorbeeld in numerieke codes geschreven. In toegepaste talen waren commando's echter niet langer getallen, maar werden ze in woorden и actie tekenen. Alleen ‘data’ blijft als getallen over, maar het is absurd om ze zo te blijven noemen, omdat getallen bij de overgang van een machinaal naar een wiskundig perspectief grootheden zijn die gedeeld worden door het origineel (gegevens) en laatste (vereist). “Onbekend gegeven” zal stom klinken.

De teams waren ook verdeeld in twee soorten acties: wiskundig en service. Wiskundige acties - operaties. Op de officiële zaken komen we later terug.

In de C-talen worden de gebruikelijke papier- en machine-ondubbelzinnige of enkelvoudige wiskundige bewerkingen bijna universeel meervoudig.

Meervoudige bewerkingen zijn meerdere bewerkingen met dezelfde naam, met verschillende soorten argumenten en verschillende, qua betekenis vergelijkbare, acties.

Argumenten voor gehele getallen komen overeen met een volledige bewerking, en gebroken argumenten komen overeen met een gedeeltelijke bewerking. Dit verschil is vooral duidelijk tijdens de delingsoperatie, wanneer de uitdrukking 1/2 een totaal van 0 oplevert, en niet 0,5. Zo'n notatie komt niet overeen met de regels van de papieren wiskunde, maar de C-taal streeft er niet naar om eraan te voldoen (in tegenstelling tot Fortran) - het speelt volgens zijn eigen toegepast reglement.

In het geval van het mengen van gehele getallen en breuken wordt de enige juiste meegenomen argumentwaarden casten — selectieve transformatie van een waarde van het ene beeld naar het andere. Als je een geheel getal en een gebroken getal optelt, is het resultaat een breuk, dus het beeld van de bewerking pakt op de bewerking waarbij een geheel getalargument wordt omgezet in een breukwaarde.

Er resteren nog een aantal operaties meerdereEn enkel. Dergelijke bewerkingen zijn slechts voor één type argumenten gedefinieerd: deling rest - argumenten met gehele getallen, stapelen (bitsgewijze bewerkingen) - natuurlijke gehele getallen. Ma3 geeft de veelheid aan bewerkingen aan met tekens (#^) die de afbeeldingen aangeven waarvoor de bewerking is gedefinieerd. Dit is een belangrijke, maar eerder over het hoofd geziene eigenschap van elke operatie.

Alle functies zijn willekeurige eenheidsbewerkingen. De uitzondering zijn de operators - functies zonder beugel, ingebouwd in de taal (oorspronkelijke bewerkingen).

Bijstand

Bijstand - actie die de operatie begeleidt.

Als we de operatie als de hoofdactie beschouwen, kunnen we twee begeleidende acties onderscheiden die de operatie verzorgen en ervan verschillen. Dit zijn 1) variabele controle en 2) ondergeschiktheid. Deze actie heet bijstand.

Hier moeten we afdwalen en afzonderlijk iets zeggen over Russische vertalingen van programmeerboeken. In de tekst van de K/R werd een nieuw woord geïntroduceerd om acties vast te leggen verklaring (expressie), waarin werd geprobeerd de concepten van een machinecommando in verschillende acties te verdelen: 1) bediening, 2) declaratie en 3) ondergeschiktheid (zogenaamde "controleconstructies"). Deze poging werd begraven door Russische vertalers, waarbij “expressie” werd vervangen door het woord “operator”, dat:

  1. is synoniem geworden met het machinewoord ‘commando’,
  2. bleek synoniem te zijn met de uitdrukking “teken van actie”,
  3. en ontving ook een onbeperkt aantal extra waarden. Dat wil zeggen, het is iets geworden dat lijkt op het Engelse artikel “uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh”

Denk aan de bijbehorende acties, of bijstand.

Variabele controle

Variabele controle (UP) - variabele cellen maken/verwijderen.
UE komt impliciet voor bij het declareren van een variabele, die al om een ​​andere reden is geschreven: om het beeld van de waarde aan te geven. Er wordt slechts één weergave expliciet beheerd extra variabelen met behulp van de functies malloc() en free().

Opgemerkt moet worden dat impliciete acties handiger zijn om te schrijven, omdat ze helemaal niets vereisen, maar ze zijn moeilijker te begrijpen - ze zijn moeilijker om rekening mee te houden en te interpreteren.

Ondergeschiktheid

Ondergeschiktheid — laagsecties verbinden/uitschakelen.

De C-taal bood een toegepaste methode om de volgorde van acties te controleren, anders dan assembler-ondergeschiktheid. Het weerspiegelt en ontwikkelt een spraakcomplexe zin met een duidelijke verdeling in het hoofdgedeelte (ondergeschikte clausule) en het ondergeschikte gedeelte (subniveau/subroutinesecties).

Zowel de aangifte als de indiening zijn volledig op het concept gebaseerd laag.

Laag

Laag is een beperkte selectieve reeks expressies op één niveau.

De laag nam expliciet en impliciet meerdere taken tegelijk op zich:

  1. het organiseren van het programma
  2. het beperken van de zichtbaarheid van namen (impliciet),
  3. beheer van variabelen (geheugencellen) (impliciet),
  4. definitie van ondergeschikte clausules voor ondergeschiktheid,
  5. definities van functies en selecties en andere.

Er bestond geen concept van laag in machinetalen, dus het verscheen niet in K/R, en als iets er niet was, zou het introduceren ervan in volgende boeken ketterij en vrijdenken zijn. Daarom verscheen het concept van een laag helemaal niet, hoewel het buitengewoon nuttig en vrij voor de hand liggend is.

Zonder laag is het onmogelijk om veel van de acties en regels van het programma kort en duidelijk uit te leggen. Waarom is het bijvoorbeeld zo simpel als drie kopeken slecht, en de lastige tijd goed? Je kunt alleen maar hulpeloos vloeken, zoals Dijkstra deed (“de vaardigheid van programmeurs is een functie die omgekeerd afhangt van de frequentie waarmee goto-instructies in hun programma’s voorkomen.” Kortom, alleen geiten gebruiken goto. Het niveau van rechtvaardiging is God.) Toegegeven, dit is niet zo eng als je boeken helemaal niets hoeven uit te leggen, maar zoals we al hebben gezegd, dit is niet ons lot.

Overigens kan worden aangenomen dat Dan Ritchie goto juist verliet als sleutel voor het zoeken naar een naamloos concept, omdat er geen noodzaak of schoonheid zat in de uitdrukking goto. Maar er was behoefte aan een eenvoudige en begrijpelijke uitleg van de nieuwe taalprincipes, die Richie zelf niet wilde geven, en die precies gebaseerd zijn op het concept laag.

Afwijking

Afwijking — het wijzigen van de gebruikelijke eigenschappen van de nieuwe naam.

De belangrijkste afwijking houdt precies verband met de laageigenschappen van het programma en wordt beschreven met één woord ‘statisch’, dat in elk type laag een andere betekenis heeft.

5. HET LAATSTE HOOFDSTUK. Gemeenschappelijkheid van toegepaste talen

Toegepaste talen zijn dat wel figuurlijk talen (met een afbeelding, "getypt"). Ze zijn gebaseerd op het expliciete of impliciete gebruik van het beeld. Bovendien doet zich hier opnieuw een tegenstrijdigheid voor: een expliciet beeld is begrijpelijker, maar minder handig, en omgekeerd.

Matroesjka C. Gelaagd programmataalsysteem

(De tafelindeling is nog niet geleverd, daarom wordt de tafel getoond met een foto.)

Na C nam de ontwikkeling van toegepaste talen de weg in van het vergroten van hun figurativiteit. Het belangrijkste voor het begrijpen van hoge beelden is de directe afstammeling van C - de C++-taal. Hij ontwikkelt het idee van een willekeurige selectie van bewerkingen voor hoeveelheden en belichaamt dit op basis van de synthetische expressieselectie, die een nieuwe naam krijgt: object. C++ is echter niet zo beknopt en expressief als C vanwege de overdaad aan nieuwe verzamelingstypen en de bijbehorende regels. Laten we het trouwens hebben over "overbelasting".

Overbelasting en polymorfisme

Het woord ‘overbelasting’ is een verouderde machine learning-term voor creëren meerdere operaties.

Machine(systeem)programmeurs pluraliteit bewerkingen kunnen heel vervelend zijn: “Wat betekent dit teken (+): gehele getallen optellen, breuken optellen of zelfs verschuiven?! In onze tijd schreven ze niet zo!” Vandaar de negatieve connotatie van het gekozen woord (“overkill”, “moe”). Voor een applicatieprogrammeur zijn meerdere bewerkingen de hoeksteen, de belangrijkste prestatie en erfenis van de C-taal, zo natuurlijk dat ze vaak niet worden herkend.

In C++-taal pluraliteit niet alleen uitgebreid tot de oorspronkelijke bewerkingen, maar ook tot functies - zowel individueel als gecombineerd in klassen - methoden. Met meerdere methoden ontstond de mogelijkheid om ze in uitgebreide klassen te overschrijven, wat vaag 'polymorfisme' werd genoemd. De combinatie van polymorfisme en overbelasting produceerde een explosief mengsel dat zich opsplitste in twee polymorfismen: ‘waar’ en ‘ad-hoc’. Het is alleen mogelijk om dit te begrijpen ondanks de toegewezen namen. De weg naar advertenties is geplaveid met buitenlandse namen.

Een verklaring van de vorm “overbelasting” komt beter tot uiting in het woord aanvullende aankondiging — het toevoegen van een declaratie van een functie met dezelfde naam met argumenten van een ander beeld.

Een declaratie van de vorm ‘polymorfisme’ is beter te noemen heraankondiging — een overlappende declaratie in een nieuwe uitbreidingslaag van een functie met dezelfde naam met argumenten van dezelfde afbeelding.

Dan zal het gemakkelijk te begrijpen zijn dat dezelfde methoden voor verschillende afbeeldingen (argumenten) - bovendien aangekondigd, en één afbeelding - opnieuw aangekondigd.

Russische woorden beslissen.

Baan

Het overwegen van de concepten van zeer figuratieve talen bevestigt het belang van een duidelijke definitie van fundamentele concepten. Als C correct is beschreven, zal het leren van hoogfiguratieve talen gemakkelijk en plezierig zijn.

Dit is vooral belangrijk voor impliciete, zeer figuratieve talen (PHP, JavaScript). Voor hen wordt het belang van objecten (samengestelde afbeeldingen) nog groter dan in C++, maar het concept van een afbeelding wordt impliciet en ongrijpbaar. Vanuit het oogpunt van gemak zijn ze eenvoudiger geworden, maar vanuit het oogpunt van begrip zijn ze moeilijker geworden.

Daarom moet je beginnen met het leren van programmeertalen met de C-taal en verder gaan in de volgorde waarin de talen van de C-familie verschijnen.

Hetzelfde geldt voor het beschrijven van talen. Verschillende talen hebben dezelfde of kleinere reeks eenheidsgeslachten dan de C-taal. Het aantal typen en voorbeelden kan in beide richtingen verschillen: C++ heeft meer typen dan C, terwijl JavaScript er minder heeft.

De MySQL-taal verdient speciale vermelding. Het lijkt erop dat er niets gemeen is, maar Matryoshka beschrijft hem perfect, en hem leren kennen wordt sneller en gemakkelijker. Dat is belangrijk, gezien het belang ervan voor het web – de eetroute van moderne programmering. En waar MySQL is, zijn er andere SQL's. Nou ja, allerlei Fortran-Pascal-Pythons worden ook beschreven door Matryoshka, zodra ze het in handen krijgen.

Er staan ​​ons dus geweldige dingen te wachten: een toegepaste beschrijving van de C-taal en een uniforme beschrijving van de talen die daarop volgen. “Onze doelen zijn duidelijk, onze taken zijn gedefinieerd. Ga aan het werk, kameraden! (Stormachtig, langdurig applaus dat overgaat in ovatie. Iedereen staat op.)"

Er wordt met grote aandacht naar uw mening geluisterd, uw hulp bij het maken van de Nesting Dolls-website wordt met grote dankbaarheid ontvangen. Meer volledige informatie over het boek staat op de website, slim verborgen in Matryoshka C.

Bron: www.habr.com

Voeg een reactie