La oss prÞve Ä forestille oss kjemi uten Mendeleevs periodiske system (1869). Hvor mange elementer mÄtte huskes, og uten spesiell rekkefÞlge... (Da - 60.)
For Ä gjÞre dette, tenk bare pÄ ett eller flere programmeringssprÄk samtidig. Samme fÞlelser, samme kreative kaos.
Og nÄ kan vi gjenoppleve fÞlelsene til kjemikere fra XNUMX-tallet da de ble tilbudt all sin kunnskap, og litt mer, i ett periodisk system.

Boken "Matryoshka C. Lagdelt system av programsprÄk" presenterer alle enheter i C-sprÄket pÄ et Þyeblikk. Dette lar deg organisere dem, korrigere utdatert informasjon og til og med klargjÞre selve konseptet til programmet.
I dag trenger programmeringsinformasjon systematisering enda mer enn kjemiske elementer gjorde for 150 Är siden.
Den fÞrste nÞdvendigheten er undervisning. Mendeleev begynte Ä lage systemet sitt da han sto overfor spÞrsmÄlet om hvilket element han skulle begynne Ä forelese med: O, H, N, He, Au... Samtidig var det lettere for ham - han underviste i kjemi til de beste - studenter av St. Petersburg universitet. Og programmering lÊres allerede pÄ skolen og begynner snart i barnehagen.
Det andre behovet er en vitenskapelig tilnÊrming. Ved hjelp av det periodiske systemet ble nye grunnstoffer oppdaget og informasjon om gamle ble korrigert. Hun var med pÄ Ä lage modellen av atomet (1911). Og sÄ videre.
Det tredje behovet er Ă„ klargjĂžre konseptet for et program.
Moderne programmering har en fot fast pÄ 50-tallet av det XNUMX. Ärhundre. Den gang var programmer enkle, men maskiner og maskinsprÄk var komplekse, sÄ alt dreide seg om maskiner og sprÄk.
NÄ er alt omvendt: programmer er komplekse og primÊre, sprÄk er enkle og sekundÊre. Dette kalles den anvendte tilnÊrmingen, som alle ser ut til Ä vÊre kjent med. Men studenter og utviklere fortsetter Ä vÊre overbevist om at alt er likt.
Noe som bringer oss tilbake til den fÞrste forelesningen til Privatdozent Mendeleev. Hva skal jeg fortelle fÞrsteÄrsstudentene? Hvor er sannheten? Det er spÞrsmÄlet.
Boken "Matryoshka C" gir svaret pÄ dette spÞrsmÄlet. Lagdelt system for programsprÄk". Dessuten henvender det seg ikke bare til studenter, men ogsÄ til trente programmerere, siden det er de, det vil si vi, som mÄ sÞke sannheten og endre verdensbildet.
Det som fĂžlger er et sammendrag av boken.
1. Introduksjon
I 1969 ble C-sprÄket opprettet, som ble det grunnleggende programmeringssprÄket og har holdt seg slik i 50 Är. Hvorfor er det slik? FÞrst av alt, fordi C er anvendt sprÄket som ga programmet human se i stedet maskin. Denne prestasjonen ble sikret av sprÄk fra C-familien: C++, JavaScript, PHP, Java, C# og andre. For det andre er det et kort og vakkert sprÄk.
Imidlertid er C-sprÄket i seg selv vanligvis blandet med maskinmontÞr, og dermed komplisere og forvrenge oppfatningen. Den andre ytterligheten er pÄfÞringen av en viss "filosofi" pÄ sprÄket: prosedyremessig, objekt, funksjonell, kompilert, tolket, maskinskrevet, og sÄ videre. Dette tilfÞrer fÞlelser, men hjelper ikke med Ä beskrive sprÄket bedre.
Sannheten er i midten, og for C-sprÄket er det strengt tatt midt mellom filosofisk og maskinell oppfatning.
C-sprÄket er ikke selvstendig, det adlyder vanlig skriftsprÄk, og samtidig styrer det selve assembly-sprÄket. Denne posisjonen beskriver Talemodell av programmet, ifÞlge hvilken programmet er delt inn i tre underordnede typer: tale, kode, kommando. C-sprÄket er ansvarlig for den andre, kodetypen.
Etter Ä ha bestemt stedet for sprÄket i programmet, kan du organisere informasjon om det, som gjÞr Lagdelt programsprÄksystem, som representerer C-sprÄket i det periodiske systemets Änd - pÄ én side.
Systemet er bygget med hensyn til fellesskap av anvendte sprÄk, som oppstÄr fra deres taleunderordning. Ett sett med Matryoshka C-enheter lar deg beskrive og sammenligne forskjellige sprÄk, og lage en serie Matryoshka: C++, PHP, JavaScript, C#, MySQL, Python og sÄ videre. Det er verdig og riktig at forskjellige sprÄk er beskrevet av enheter av det grunnleggende sprÄket.
2. KAPITTEL 1. Talemodell av programmet. Fjern C
Det fÞrste kapittelet presenterer talemodell av programmet, som gjenspeiler en anvendt tilnÊrming. IfÞlge ham har programmet tre Äpenbare sekvensielle typer:
- tale - direkte tale fra programmereren som lĂžser problemet,
- kodet - koding av en lÞsning til en matematisk form pÄ C-sprÄk (eller et annet)
- og kommando - direkte maskinkommandoer.
Talemodellen forklarer hvorfor C er et enkelt og forstÄelig sprÄk. Xi er bygget i bildet og likheten til menneskelig tale som er kjent for oss.
Den fÞrste typen program er programmererens direkte tale. Tale tilsvarer menneskelig tenkning. Begynnende programmerere skriver programmer ved hjelp av tale - fÞrst pÄ russisk, deretter trinn for trinn oversetter handlingene til et kodesprÄk. Og det er nettopp pÄ denne modellen at C-sprÄket ble skapt.
Programmererens konklusjoner, uttrykt i tale, konverteres til en kodet numerisk form. Denne transformasjonen bÞr kalles speilbilde, siden tale og kode har samme natur (refleksjon - fÞdsel - kjÞnn). Dette er ganske Äpenbart hvis vi sammenligner tale (til venstre) og kode (til hÞyre) typene av programmet.

Det er merkelig at refleksjon skjer veldig enkelt - med bare to typer uttrykk.
Den moderne beskrivelsen av C-sprÄket (fra 1978) inneholder imidlertid ikke en tilstrekkelig navneliste verken for Ä beskrive sprÄket generelt, eller for refleksjonsoppgaven spesielt. Derfor er vi tvunget til Ä vÊre kreative og introdusere disse navnene.
Ordvalget skal vÊre presist og tydelig. Dette krevde en spesiell tilnÊrming, kort uttrykt som fÞlger: streng bruk av morsmÄlet. For engelskmennene ville det vÊrt engelsk, men vi er ikke engelskmenn. SÄ vi bruker det vi har og prÞver Ä snakke russisk.
Refleksjon utfĂžres av to typer uttrykk:
- beregning (HF) - reflekterer en endring i egenskapene til et objekt. Egenskapen til et objekt uttrykkes med et tall, sÄ er en handling pÄ en egenskap en handling pÄ et tall - en operasjon.
- underordning (Pch) - reflekterer en endring i rekkefĂžlgen av handlinger. Prototypen av Pch er en talekompleks setning, derfor begynner de fleste typer Pch med underordnede konjunksjoner "hvis", "ellers", "mens", "for". Andre typer PC-er utfyller dem.
Forresten, kan du tro at det i C-beskrivelsen ikke er noe navn for beregningsuttrykk - de kalles ganske enkelt "uttrykk"? Etter dette vil det ikke lenger vÊre overraskende at det ikke er noe navn og assosiasjon for typen underordning, og faktisk mangelen pÄ navn, definisjoner og generaliseringer generelt. Dette er fordi den berÞmte K/R («The C Language», Kernighan/Ritchie, 1978) ikke er en beskrivelse, men en guide til bruk av sprÄket.
Men jeg vil fortsatt gjerne ha en beskrivelse av sprÄket. Derfor blir han tilbudt Lagdelt programsprÄksystem.
3. KAPITTEL 2. Lagsystem. Kort C
Enhver beskrivelse mÄ vÊre nÞyaktig og ekstremt kortfattet. NÄr det gjelder et programsprÄk, er en frontal beskrivelse vanskelig.
Her har vi et program. Den bestĂ„r av moduler. Moduler bestĂ„r av subrutiner og samlinger (struktur). Underrutiner bestĂ„r av individuelle uttrykk: erklĂŠringer, beregninger, underordning. Det er sĂ„ mange som ti typer underordning. Underordning kobler sammen undernivĂ„er og underrutiner. Det er ogsĂ„ flere annonser. Deklarasjoner er imidlertid inkludert ikke bare i underrutiner og undernivĂ„er, men ogsĂ„ i moduler og samlinger. Og de fleste uttrykk bestĂ„r av ord som er sĂ„ vanskelige Ă„ beskrive at de som regel rett og slett oppgis i to lister â originale og avledede ord, som du vil bli kjent med gjennom hele innlĂŠringen og bruken av sprĂ„ket. La oss legge til skilletegn og en rekke andre uttrykk til dette.
I en slik presentasjon er det ikke lett Ä forstÄ hvem som sto pÄ hvem.
En direkte hierarkisk tilnÊrming til Ä beskrive et sprÄk ville vÊre altfor kompleks. Et rundkjÞringssÞk fÞrer til en beskrivelse av sprÄk basert pÄ dets talenatur og kommandoside. Dermed ble lagsystemet fÞdt, delvis sammenfallende med det periodiske systemet til Mendeleev, som ogsÄ er lag. Som det viste seg 42 Är etter publiseringen (1869), er periodisiteten til systemet assosiert med elektronisk lag (1911, Bohr-Rutherford modell av atomet). Dessuten er de lagdelte og periodiske systemene like i tabellformingen av alle enheter pÄ én side.
Beskrivelsen av sprÄkenheter er kort - kun 10 typer uttrykk og 8 typer andre enheter, samt meningsfulle og visuelle. Selv om det er uvanlig for det fÞrste bekjentskapet.
SprÄkenheter er delt inn i 6 nivÄer:
- enheter - tabellrader
- avdelinger - spesielle grupper av slekter (deler av fĂžrste linje)
- slekt - celler (hoveddelingsnivÄ)
- superarter - artsskillere (sjeldent nivÄ)
- typer - enhetsformler nederst i cellen eller separat
- mĂžnstre - selve enhetene (kun for ord)
Eksempelord beskriver ordbok - et separat delsystem som bestÄr av de samme seks nivÄene.
Talekomponenten i C-sprÄket er ganske Äpenbar, selv om den fortsatt fortjener beskrivelse. Men kommandodelen av sprÄket er nettopp relatert til kompileringskontroll, der den tredje typen program opprettes - kommando. Her kommer vi til det mest spennende aspektet ved C-sprÄket: skjÞnnhet.
4. FĂLGENDE KAPITTEL. Kjekk Si
C-sprÄket er grunnlaget for moderne programmering. Hvorfor? For det fÞrste pÄ grunn av den stÞrste korrespondansen til tale. For det andre fordi den pÄ en vakker mÄte omgikk begrensningene ved behandling av maskinnummer.
Hva var det egentlig Xi foreslo? Bilde og lag.
Ordet "image" er en oversettelse av det engelske ordet "type", som kommer fra det greske "prototype" - "type". PÄ det russiske sprÄket formidler ikke ordet "type" hjÞrnesteinen i konseptet som blir uttrykt; dessuten forveksles det med hjelpebetydningen "type".
Opprinnelig lÞste bildet et rent maskinelt beregningsproblem, og ble deretter en rullebane for fÞdselen av objektsprÄk.
Laget lÞste umiddelbart flere problemer - bÄde maskinelt og pÄfÞrt. Derfor vil vurderingen begynne med et enkeltoppgavebilde og gÄ videre til et fleroppgavelag.
Et av de ubehagelige trekkene ved historisk programmering er at de fleste konsepter, inkludert grunnleggende, er gitt uten definisjoner. "ProgrammeringssprÄket (navnet pÄ elver) har heltalls- og flytende talltyper..." og de skrapte videre. Det er ikke nÞdvendig Ä definere hva en "type" (bilde) er, fordi forfatterne selv ikke helt forstÄr dette og vil stille det ned "for klarhetens skyld." Hvis de festes til veggen, vil de gi en vag og ubrukelig definisjon. Det hjelper mye Ä gjemme seg bak fremmedord: for russiske forfattere - bak engelsk (type), for engelskmenn - bak fransk (subrutine), gresk (polymorfisme), latin (innkapsling) eller deres kombinasjoner (ad-hoc polymorfisme).
Men dette er ikke vÄr skjebne. VÄrt valg er definisjoner med hevet visir pÄ ren russisk.
bilde
bilde er et prefigurativt navn pÄ en mengde, som definerer 1) kvantitetens iboende egenskaper og 2) valg av operasjoner for kvantiteten.
Ordet "type" (type) tilsvarer den fĂžrste delen av definisjonen: "iboende egenskaper til en mengde." Men hovedbetydningen av bildet er i den andre delen: "utvalg av operasjoner til mengder."
Utgangspunktet for Ă„ introdusere et bilde i C er en normal beregning, for eksempel addisjonsoperasjonen.
Papir Matematikk, enten skrevet for hÄnd eller trykt, skiller ikke mye mellom typer tall, vanligvis forutsatt at de er reelle. Derfor er behandlingsoperasjonene deres entydige.
Maskin Matematikk deler strengt tall inn i heltall og brĂžker. Ulike typer tall lagres forskjellig i minnet og behandles av forskjellige prosessorinstruksjoner. For eksempel er instruksjonene for Ă„ legge til heltall og brĂžker to forskjellige instruksjoner som tilsvarer to forskjellige prosessornoder. Men det er ingen kommando for Ă„ legge til heltalls- og brĂžkargumenter.
Anvendt matematikk, det vil si C-sprÄket, skiller talltypene, men kombinerer operasjoner: addisjon for heltall og/eller brÞker skrives med ett handlingstegn.
En klar definisjon av konseptbildet lar oss definitivt snakke om to andre konsepter: verdi Đž operasjon.
StĂžrrelse og drift
verdi â nummeret som behandles.
Operasjon â behandle verdiene til startverdiene (argumenter) for Ă„ fĂ„ det endelige tallet (totalt).
StĂžrrelse og drift henger sammen. Hver operasjon er en mengde fordi den har et numerisk resultat. Og hver verdi er resultatet av Ă„ overfĂžre en verdi til/fra prosessorregisteret, det vil si resultatet av operasjonen. Til tross for dette forholdet, er det viktigste muligheten for deres separate beskrivelse, om enn med repetisjon av ett ord i forskjellige deler av ordboken, som er det som skjer i MA3.
MaskintilnÊrmingen delte alle tallene som ble brukt av programmereren inn i kommandoer О data. Tidligere var begge tall, for eksempel ble kommandoer skrevet i numeriske koder. Men pÄ anvendte sprÄk sluttet kommandoer Ä vÊre tall og ble i ord О handlingstegn. Bare "data" gjenstÄr som tall, men det er absurd Ä fortsette Ä kalle dem pÄ den mÄten, fordi i overgangen fra en maskin til et matematisk synspunkt, er tall mengder som er delt pÄ originalen (data) og siste (nÞdvendig). "Ukjent datum" vil hÞres dumt ut.
Teamene ble ogsÄ delt inn i to typer handlinger: matematisk og service. Matematiske handlinger - operasjoner. Vi kommer til de offisielle sakene senere.
I C-sprÄkene blir de vanlige papir- og maskinentydige, eller enkle, matematiske operasjonene nesten universelt multiple.
Flere operasjoner er flere operasjoner med samme navn med forskjellige typer argumenter og forskjellige, like i betydning, handlinger.
Heltallsargumenter tilsvarer en hel operasjon, og brÞkargumenter tilsvarer en brÞkoperasjon. Denne forskjellen er spesielt tydelig under divisjonsoperasjonen, nÄr uttrykket 1/2 gir totalt 0, ikke 0,5. En slik notasjon samsvarer ikke med reglene for papirmatematikk, men C-sprÄket streber ikke etter Ä overholde dem (i motsetning til Fortran) - det spiller i henhold til sine egne anvendt regler.
Ved blanding av heltall og brĂžker er det eneste riktige inkludert casting av argumentverdier â selektiv transformasjon av en verdi fra ett bilde til et annet. Faktisk, nĂ„r du legger til et heltall og et brĂžktall, er resultatet brĂžk, sĂ„ bildet av operasjonen plukker opp operasjonen med Ă„ konvertere et heltallsargument til en brĂžkverdi.
En rekke operasjoner gjenstÄr flereOg enkelt. Slike operasjoner er definert bare for én type argumenter: divisjonsrest - heltallsargumenter, stabling (bitvise operasjoner) - naturlige heltall. Ma3 indikerer mangfoldet av operasjoner med tegn (#^) som indikerer bildene som operasjonen er definert for. Dette er en viktig, men tidligere oversett egenskap ved enhver operasjon.
Alle funksjoner er vilkÄrlige enhetsoperasjoner. Unntaket er operatÞrene - funksjoner uten brakett, innebygd i sprÄket (originale operasjoner).
Assistanse
Assistanse - handling som fĂžlger med operasjonen.
Hvis vi anser operasjonen som hovedhandlingen, kan vi skille to medfĂžlgende som gir operasjonen og skiller seg fra den. Disse er 1) variabel kontroll og 2) underordning. Denne handlingen kalles assistanse.
Her mÄ vi avvike og si separat om russiske oversettelser av programmeringslÊrebÞker. Et nytt ord ble introdusert i teksten til K/R for Ä registrere handlinger uttalelse (uttrykk), som forsÞkte Ä dele begrepene maskinkommando inn i forskjellige handlinger: 1) operasjon, 2) erklÊring og 3) underordning (kalt "kontrollkonstruksjoner"). Dette forsÞket ble begravet av russiske oversettere, og erstattet "uttrykk" med ordet "operatÞr", som:
- har blitt synonymt med maskinordet "kommando",
- viste seg Ä vÊre synonymt med uttrykket "tegn pÄ handling",
- og fikk ogsÄ et ubegrenset antall tilleggsverdier. Det vil si at det har blitt til noe som ligner pÄ den engelske artikkelen «uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Vurder de medfĂžlgende handlingene, eller assistanse.
Variabel kontroll
Variabel kontroll (UP) - opprette/slette variable celler.
UE oppstÄr implisitt nÄr du erklÊrer en variabel, som allerede er skrevet av en annen grunn - for Ä indikere bildet av verdien. Bare én visning administreres eksplisitt tilleggsvariabler ved Ä bruke funksjonene malloc() og free().
Det skal bemerkes at implisitte handlinger er mer praktisk Ä skrive, siden de ikke krever Ä skrive noe i det hele tatt, men de er vanskeligere Ä forstÄ - de er vanskeligere Ä ta hensyn til og tolke.
Underordning
Underordning â koble til/deaktivere lagseksjoner.
C-sprÄket tilbÞd en anvendt metode for Ä kontrollere rekkefÞlgen av handlinger, forskjellig fra assembler - underordning. Den reflekterer og utvikler en talekompleks setning med en klar inndeling i hoveddelen (underordningssetning) og underordnet del (undernivÄ/underrutineavsnitt).
BÄde erklÊring og innlevering bygger i sin helhet pÄ konseptet sjiktet.
Lag
Lag er et begrenset enkeltnivÄ selektivt sett med uttrykk.
Laget tok eksplisitt og implisitt pÄ seg flere oppgaver samtidig:
- organisere programmet
- begrenser synligheten av navn (implisitt),
- hÄndtering av variabler (minneceller) (implisitt),
- definisjon av underordnede ledd for underordning,
- definisjoner av funksjoner og utvalg og andre.
Det var ikke noe lagbegrep i maskinsprÄk, sÄ det dukket ikke opp i K/R, og hvis noe ikke var der, ville det Ä introdusere det i pÄfÞlgende bÞker vÊre kjetteri og fritenkning. Derfor dukket ikke konseptet med et lag opp i det hele tatt, selv om det er ekstremt nyttig og ganske Äpenbart.
Uten et lag er det umulig Ä kort og tydelig forklare mange av handlingene og reglene i programmet. For eksempel, hvorfor er goto sÄ enkelt som tre kopek dÄrlig, og den vanskelige stunden er god. Du kan bare banne hjelpelÞst, slik Dijkstra gjorde («ferdigheten til programmerere er en funksjon som omvendt avhenger av hyppigheten av forekomst av goto-utsagn i programmene deres.» Kort sagt, bare geiter bruker goto. NivÄet av rettferdiggjÞrelse er Gud.) Riktignok er dette ikke sÄ skummelt hvis bÞkene dine Vi ikke trenger Ä forklare noe i det hele tatt, men som vi allerede har sagt, dette er ikke vÄr skjebne.
For Þvrig kan det antas at Dan Ritchie forlot goto nettopp som en nÞkkel for Ä sÞke etter et eller annet navnlÞst konsept, fordi det ikke var noe behov eller skjÞnnhet i uttrykket goto. Men det var behov for en enkel og forstÄelig forklaring pÄ de nye sprÄkprinsippene, som Richie selv ikke Þnsket Ä gi, og som nettopp er basert pÄ konseptet. sjiktet.
Avvik
Avvik â endre de vanlige egenskapene til det nye navnet.
Det viktigste avviket er nĂžyaktig relatert til lagegenskapene til programmet, og beskrives med ett ord "statisk", som har forskjellig betydning i hver type lag.
5. DET SISTE KAPITTEL. Felles for anvendte sprÄk
Anvendte sprÄk er figurativ sprÄk (som har et bilde, "skrivet"). De er basert pÄ eksplisitt eller implisitt bruk av bildet. Dessuten dukker det opp igjen en selvmotsigelse: et eksplisitt bilde er mer forstÄelig, men mindre praktisk, og omvendt.

(Bordoppsettet er ennÄ ikke levert, sÄ bordet er vist med bilde.)
Etter C tok utviklingen av anvendte sprÄk veien til Ä Þke deres figurativitet. Det viktigste for Ä forstÄ hÞye bilder er den direkte etterkommeren av C - C++-sprÄket. Han utvikler ideen om et vilkÄrlig utvalg av operasjoner for mengder og legemliggjÞr det pÄ grunnlag av det syntetiske uttrykksutvalget, som fÄr et nytt navn - objekt. C++ er imidlertid ikke sÄ kortfattet og uttrykksfull som C pÄ grunn av overbelastningen av nye samlingstyper og tilhÞrende regler. La oss forresten snakke om "overbelastning".
Overbelastning og polymorfisme
Ordet "overbelastning" er et utdatert maskinlĂŠringsbegrep for Ă„ skape flere operasjoner.
Maskinprogrammerere (system). pluralitet operasjoner kan godt vÊre irriterende: "Hva betyr dette tegnet (+): Ä legge til heltall, legge til brÞker eller til og med skifte?! I vÄr tid skrev de ikke slik!» Derav den negative konnotasjonen til det valgte ordet ("overkill", "trÞtt"). For en applikasjonsprogrammerer er flere operasjoner hjÞrnesteinen, hovedprestasjonen og arven til C-sprÄket, sÄ naturlig at de ofte ikke blir gjenkjent.
PÄ C++ sprÄk pluralitet utvidet ikke bare til de opprinnelige operasjonene, men ogsÄ til funksjoner - bÄde individuelle og kombinert i klasser - metoder. Med flere metoder kom muligheten til Ä overstyre dem i utvidede klasser, som vagt ble kalt "polymorfisme." Kombinasjonen av polymorfisme og overbelastning produserte en eksplosiv blanding som delte seg i to polymorfismer: «sann» og «ad-hoc». Det er bare mulig Ä forstÄ dette til tross for de tildelte navnene. Veien til annonse er brolagt med utenlandske navn.
En erklĂŠring av formen "overbelastning" er bedre uttrykt i ordet tilleggskunngjĂžring â legge til en erklĂŠring om en funksjon med samme navn med argumenter for et annet bilde.
En erklĂŠring av formen "polymorfisme" kalles bedre ny kunngjĂžring â en overlappende erklĂŠring i et nytt utvidelseslag av en funksjon med samme navn med argumenter for samme bilde.
Da vil det vÊre lett Ä forstÄ at de samme metodene for forskjellige bilder (argumenter) - i tillegg annonsert, og ett bilde - kunngjort pÄ nytt.
Russiske ord bestemmer.
Rullebane
Betraktning av begrepene svÊrt figurative sprÄk bekrefter viktigheten av en klar definisjon av grunnleggende begreper. Med C korrekt beskrevet, vil det vÊre enkelt og morsomt Ä lÊre hÞyfigurative sprÄk.
Dette er spesielt viktig for implisitte svÊrt figurative sprÄk (PHP, JavaScript). For dem blir betydningen av objekter (sammensatte bilder) enda hÞyere enn i C++, men selve konseptet med et bilde blir implisitt og unnvikende. Fra et bekvemmelighetssynspunkt har de blitt enklere, men fra et forstÄelsessynspunkt har de blitt vanskeligere.
Derfor bÞr du begynne Ä lÊre programmeringssprÄk med C-sprÄket og gÄ videre i den rekkefÞlgen som sprÄkene i C-familien vises i.
Det samme gjelder for Ä beskrive sprÄk. Ulike sprÄk har samme, eller mindre, sett med enhetskjÞnn enn C-sprÄket. Antall typer og eksempler kan variere i begge retninger: C++ har flere typer enn C, mens JavaScript har fÊrre.
MySQL-sprÄket fortjener spesiell omtale. Det ser ut til at det ikke er noe til felles, men han er perfekt beskrevet av Matryoshka, og det blir raskere og lettere Ä bli kjent med ham. Noe som er viktig, gitt dens betydning for nettet - spiseveien til moderne programmering. Og der det er MySQL, er det andre SQL-er. Vel, alle slags Fortran-Pascal-Pythoner er ogsÄ beskrevet av Matryoshka, sÄ snart de fÄr tak i det.
SÄ store ting venter pÄ oss - en anvendt beskrivelse av C-sprÄket og en enhetlig beskrivelse av sprÄkene som fÞlger det. «VÄre mÄl er klare, vÄre oppgaver er definert. Kom pÄ jobb, kamerater! (Stormfull, langvarig applaus, gÄr over til ovasjoner. Alle reiser seg.)"
Dine meninger vil bli lyttet til med stor oppmerksomhet, din hjelp til Ä lage nettsiden til hekkende dukker vil bli mottatt med stor takknemlighet. Mer fullstendig informasjon om boken er pÄ nettstedet, smart skjult i Matryoshka C.
Kilde: www.habr.com
