Matroschka C. Schichtprogramm-Sprachsystem

Versuchen wir uns eine Chemie ohne das Periodensystem von Mendeleev (1869) vorzustellen. Wie viele Elemente mussten beachtet werden, und zwar in zufälliger Reihenfolge ... (Dann - 60.)

Denken Sie dazu einfach an eine oder mehrere Programmiersprachen gleichzeitig. Die gleichen Gefühle, das gleiche kreative Durcheinander.

Und jetzt können wir die Gefühle der Chemiker des 19. Jahrhunderts erleben, als ihnen all ihr Wissen und ein wenig von oben in einem Periodensystem angeboten wurde.

Bild


Das Buch „Matryoshka C. Schichtsystem der Programmiersprache “repräsentiert alle Einheiten der C-Sprache auf einen Blick. Auf diese Weise können Sie sie organisieren, veraltete Informationen korrigieren und sogar das Konzept des Programms klarstellen.

Programmierinformationen müssen heute noch stärker systematisiert werden als chemische Elemente vor 150 Jahren.

Das erste Bedürfnis ist das Unterrichten. Mendeleev begann mit der Entwicklung seines Systems, als er sich die Frage stellte, mit welchem ​​Element er Vorlesungen halten sollte: O, H, N, He, Au ... Gleichzeitig war es für ihn einfacher - er unterrichtete die Chemie der besten Studenten der Universität St. Petersburg. Und Programmieren wird bereits in der Schule unterrichtet und wird bald im Kindergarten beginnen.

Die zweite Notwendigkeit ist ein wissenschaftlicher Ansatz. Mit dem Periodensystem wurden neue Elemente entdeckt und Informationen über alte korrigiert. Sie half bei der Erstellung des Atommodells (1911). Usw.

Die dritte Notwendigkeit ist die Klärung des Konzeptes eines Programms.

Moderne Programmierung mit einem Fuß in den 50er Jahren des 20. Jahrhunderts. Dann waren die Programme einfach und Maschinen und Maschinensprachen komplex, so dass sich alles um Maschinen und Sprachen drehte.

Jetzt ist das Gegenteil der Fall: Programme sind komplex und primär, Sprachen sind einfach und sekundär. Dies nennt man den angewandten Ansatz, mit dem jeder vertraut zu sein scheint. Aber Studenten und Entwickler überzeugen weiterhin davon, dass alles gleich ist.

Das bringt uns zurück zum ersten Vortrag des Privatdozenten Mendeleev. Was soll ich Neulingen sagen? Wo ist die Wahrheit? Das ist die Frage.

Das Buch „Matryoshka C. Schichtsystem der Programmiersprache. " Darüber hinaus richtet es sich nicht nur an Studenten, sondern auch an ausgebildete Programmierer, da sie nach der Wahrheit suchen und die Weltanschauung umkehren müssen, dh wir.

Das Folgende ist eine Zusammenfassung des Buches.

1. Einleitung


1969 wurde die C-Sprache geschaffen, die zur grundlegenden Programmiersprache geworden ist und seit 50 Jahren bei ihr bleibt. Warum ist das so? Erstens, weil C eine angewandte Sprache ist, die dem Programm ein menschliches Aussehen anstelle eines maschinellen gab . Dieser Erfolg wurde durch Sprachen aus der C-Familie behoben: C ++, JavaScript, PHP, Java, C # und andere. Zweitens ist es eine kurze und schöne Sprache.

Die C-Sprache selbst wird jedoch normalerweise mit dem Maschinenassembler gemischt, wodurch die Wahrnehmung kompliziert und verzerrt wird. Ein weiteres Extrem ist die Auferlegung einer bestimmten „Philosophie“ auf die Last der Sprache: prozedural, objektiv, funktional, kompiliert, interpretiert, getippt und so weiter. Dies fügt Emotionen hinzu, hilft aber nicht, die Sprache besser zu beschreiben.

Die Wahrheit liegt in der Mitte und für die C-Sprache - genau in der Mitte zwischen philosophischer und maschineller Wahrnehmung.

Die C-Sprache ist nicht unabhängig, sie gehorcht der gewöhnlichen schriftlichen Sprache und steuert gleichzeitig die Assembler-Sprache selbst. Diese Position beschreibt das Sprachmodell des Programms , nach dem das Programm in drei untergeordnete Typen unterteilt ist: Sprache, Code, Befehl. Die C-Sprache ist für die zweite Codeform verantwortlich.

Nachdem der Platz der Sprache im Programm bestimmt wurde, ist es möglich, Informationen darüber auf einer Seite anzuordnen, was durch das Schichtsystem der Programmiersprache erfolgt , das die C-Sprache im Geiste des Mendelejew-Systems darstellt.

Das System wird unter Berücksichtigung der Gemeinsamkeit angewandter Sprachen aufgebaut, die sich aus ihrer Sprachunterordnung ergeben. Mit einem Satz Matryoshka C-Einheiten können Sie verschiedene Sprachen beschreiben und vergleichen und eine Reihe von Matryoshkas erstellen: C ++, PHP, JavaScript, C #, MySQL, Python usw. Es ist würdig und richtig, dass verschiedene Sprachen durch Einheiten der Grundsprache beschrieben werden.

2. KAPITEL 1. Das Sprachmodell des Programms. Löschen Sie C.


Im ersten Kapitel wird das Sprachmodell des Programms vorgestellt , das den angewandten Ansatz widerspiegelt. Ihm zufolge hat das Programm drei offensichtliche sequentielle Typen:

  1. Sprache - direkte Sprache eines Programmierers, der ein Problem löst,
  2. Code - Codierung der Lösung in mathematischer Form in C (oder einem anderen)
  3. und Befehl - sofortige Maschinenbefehle.

Das Sprachmodell erklärt, warum C eine einfache und verständliche Sprache ist. C basiert auf dem uns vertrauten Bild und der Ähnlichkeit der menschlichen Sprache.

Die erste Art von Programm ist die direkte Sprache des Programmierers. Die Sprache entspricht dem menschlichen Denken. Mit Hilfe der Sprache schreiben unerfahrene Programmierer Programme - zuerst auf Russisch, dann Schritt für Schritt, um Aktionen in eine Codesprache zu übersetzen. Und genau nach diesem Modell wurde die C-Sprache erstellt.

Die durch Sprache ausgedrückten Schlussfolgerungen des Programmierers werden in eine numerische Codeform umgewandelt. Diese Transformation sollte als Reflexion bezeichnet werden , da Sprache und Code dieselbe Natur haben (Reflexion - Geburt - Geschlecht). Dies ist ziemlich offensichtlich, wenn wir die Sprach- (links) und Codetypen (rechts) des Programms vergleichen.

Bild

Es ist merkwürdig, dass die Reflexion sehr einfach erfolgt - mit nur zwei Arten von Ausdrücken.

Die moderne Beschreibung der C-Sprache (ab 1978) enthält jedoch keine ausreichende Liste von Namen zur Beschreibung der Sprache im Allgemeinen oder für die Aufgabe der Reflexion im Besonderen. Deshalb sind wir gezwungen, kreativ zu sein und diese Namen einzuführen.

Die Wortwahl muss genau und klar sein. Dies erforderte einen speziellen Ansatz, der wie folgt zusammengefasst wurde - die strikte Verwendung der Muttersprache. Für die Engländer wäre es Englisch, aber wir sind keine Engländer. Also verwenden wir das, was wir haben und werden versuchen, Russisch zu sprechen.

Die Reflexion erfolgt durch zwei Arten von Ausdrücken:

  1. Berechnung (HF) - spiegelt die Änderung der Eigenschaften des Subjekts wider. Die Eigenschaft eines Objekts wird durch eine Zahl ausgedrückt, dann ist die Aktion auf die Eigenschaft die Aktion auf die Zahl - die Operation.
  2. Einreichung (Pch) - spiegelt eine Änderung in der Reihenfolge der Aktionen wider. Ein PC-Prototyp ist ein Sprachsatz mit einem komplexen Satz. Daher beginnen die meisten PC-Typen mit untergeordneten Gewerkschaften „wenn“, „sonst“, „tschüss“, „für“. Andere Arten von PCs ergänzen sie.

Können Sie übrigens glauben, dass es in der Beschreibung von C keinen Namen für die Ausdrucksberechnung gibt - werden sie einfach "Ausdrücke" genannt? Danach wird das Fehlen eines Namens und einer Assoziation für die Art der Einreichung und in der Tat der Mangel an Namen, Definitionen und Verallgemeinerungen nicht länger überraschen. Dies liegt daran, dass das berühmte K / R ("C-Sprache", Kernigan / Ritchie, 1978) keine Beschreibung, sondern eine Anleitung zur Verwendung der Sprache ist.

Ich hätte jedoch gerne eine Beschreibung der Sprache. Daher wird es vom Layer-Programmiersprachen-System angeboten .

3. KAPITEL 2. Schichtsystem. Kurz C.


Jede Beschreibung sollte genau und extrem kurz sein. Bei einer Programmsprache ist eine Frontalbeschreibung schwierig.

Hier haben wir ein Programm. Es besteht aus Modulen. Module bestehen aus Unterprogrammen und Sammlungen. Unterprogramme bestehen aus separaten Ausdrücken: Deklarationen, Berechnungen, Übermittlungen. Einreichungen - bis zu zehn Arten. Untergebene verbinden Unterebenen und Unterprogramme. Es gibt auch mehrere Anzeigen. Deklarationen sind jedoch nicht nur in Unterprogrammen und Unterebenen enthalten, sondern auch in Modulen und Sammlungen. Und die meisten Ausdrücke bestehen aus Wörtern, die so schwer zu beschreiben sind. Daher werden sie normalerweise einfach in zwei Listen angegeben - den Quell- und abgeleiteten Wörtern, mit denen Sie sich während des Studiums und der Anwendung der Sprache vertraut machen müssen. Fügen Sie dazu Satzzeichen und eine Reihe von Ausdrücken hinzu.

In dieser Aussage ist es nicht leicht zu verstehen, wer auf wem stand.

Ein direkter hierarchischer Ansatz zur Sprachbeschreibung wird zu komplex sein. Die Suche nach Kreisverkehrspfaden führt zu einer Beschreibung der Sprache anhand ihrer Sprachnatur und Befehlsseite. So wurde das Schichtsystem geboren, das teilweise mit dem Periodensystem des Mendelejew zusammenfällt, das auch ein Schichtsystem ist. Wie sich 42 Jahre nach seiner Veröffentlichung (1869) herausstellte, ist die Periodizität des Systems mit elektronischen Schichten verbunden (1911, Bohr-Rutherford-Atommodell). Die Ebenen- und Periodensysteme werden auch durch die tabellarische Platzierung aller Einheiten auf einer Seite verknüpft.

Die Beschreibung der Spracheinheiten ist kurz - nur 10 Arten von Ausdrücken und 8 Arten anderer Einheiten sowie aussagekräftig und visuell. Obwohl ungewöhnlich für eine erste Bekanntschaft.

Die Spracheinheiten sind in 6 Stufen unterteilt:

  1. Trupps - Tabellenreihen
  2. Abteilungen - spezielle Gruppen von Gattungen (Teile der ersten Zeile)
  3. Art - Zellen (Hauptteilungsebene)
  4. Unterarten - Artenunterteiler (seltene Stufe)
  5. Ansichten - Einheitsformeln am unteren Rand der Zelle oder separat
  6. Muster sind Einheiten selbst (nur Wörter)

Wortbeispiele werden von einem Wörterbuch beschrieben - einem separaten Subsystem, das aus denselben sechs Ebenen besteht.

Die Sprachkomponente der C-Sprache ist ziemlich offensichtlich, obwohl sie noch eine Beschreibung verdient. Der Befehlsteil der Sprache ist jedoch nur mit der Kompilierungssteuerung verbunden, bei der ein dritter Programmtyp erstellt wird - der Befehl. Hier kommen wir zur aufregendsten Seite von C - Schönheit.

4. NÄCHSTE KAPITEL. Schöne si


Die C-Sprache liegt der modernen Programmierung zugrunde. Warum? Erstens aufgrund der konsequentesten Rede. Zweitens, weil es die Einschränkungen der maschinellen Verarbeitung von Zahlen gut umgangen hat.

Was genau hat Xi angeboten? Bild und Ebene.

Das Wort "Bild" ist eine Übersetzung des englischen Wortes "Typ", das vom griechischen "Prototyp" - "Prototyp" stammt. Im Russischen vermittelt das Wort „Typ“ nicht den Eckpfeiler des ausgedrückten Konzepts, sondern vermischt sich mit der offiziellen Bedeutung von „Ansicht“.

Das Bild löste zunächst die rein maschinelle Aufgabe des Rechnens und wurde dann zur Landebahn für die Geburt der Objektsprachen.

Die Schicht löste sofort mehrere Probleme - sowohl maschinell als auch angewendet. Daher beginnt die Überprüfung mit einem Einzelaufgabenbild und wechselt zur Multitasking-Ebene.

Eines der unangenehmen Merkmale der historischen Programmierung ist, dass die meisten Konzepte, einschließlich der grundlegenden, ohne Definitionen angegeben werden. "Die Programmiersprache (der Name der Flüsse) hat eine ganze und schwebende Art von Zahlen ..." - und zerkratzt. Was ein "Typ" (Bild) ist, muss nicht bestimmt werden, da die Autoren selbst dies nicht vollständig verstehen und "aus Gründen der Klarheit" vertuscht werden. Wenn sie an der Wand befestigt sind, geben sie eine vage und nutzlose Definition. Es hilft, sich hinter Fremdwörtern zu verstecken: für russische Autoren - für Englisch (Typ), für Englisch - für Französisch (Unterprogramm), Griechisch (Polymorphismus), Latein (Kapselung) oder deren Kombinationen (Ad-hoc-Polymorphismus).

Aber das ist nicht unser Schicksal. Unsere Wahl - Definitionen mit erhöhtem Visier in reinem Russisch.

Bild


Ein Bild ist ein prädiktiver Name einer Menge, der 1) die richtigen Eigenschaften einer Menge und 2) die Auswahl von Operationen für eine Menge definiert.

Das Wort "Typ" (Typ) entspricht dem ersten Teil der Definition: "Eigene Eigenschaften einer Menge". Die Hauptbedeutung des Bildes liegt jedoch im zweiten Teil: „Auswahl von Operationen zu Mengen“.

Ausgangspunkt für die Einführung eines Bildes in der Sprache C ist die übliche Berechnung, beispielsweise die Additionsoperation.

Handgeschriebene oder gedruckte Papiermathematik macht keinen großen Unterschied zwischen den Arten von Zahlen und betrachtet sie normalerweise als real. Daher sind ihre Verarbeitungsvorgänge eindeutig.

Die Maschinenmathematik trennt Zahlen streng in ganze Zahlen und gebrochene Zahlen. Verschiedene Arten von Zahlen werden unterschiedlich im Speicher gespeichert und von verschiedenen Prozessoranweisungen verarbeitet. Zum Beispiel sind das Hinzufügen von Ganzzahlen und Bruchzahlen zwei verschiedene Befehle, die zwei verschiedenen Prozessorknoten entsprechen. Der Befehl zum Hinzufügen von Ganzzahl- und Bruchargumenten fehlt jedoch.

Angewandte Mathematik, dh die C-Sprache, trennt die Arten von Zahlen, kombiniert jedoch Operationen: Die Addition für Ganzzahlen und / oder Bruchzahlen wird mit einem Aktionszeichen geschrieben.

Eine klare Definition des Konzeptbildes ermöglicht es Ihnen, definitiv über zwei andere Konzepte zu sprechen: Größe und Betrieb .

Wert und Betrieb


Der Wert ist die Nummer, die verarbeitet wird.

Operation - Verarbeiten der Werte der Anfangswerte (Argumente), um die Gesamtzahl (Summe) zu erhalten.

Die Größe und der Betrieb sind miteinander verbunden. Jede Operation ist eine Größe, da sie eine numerische Summe hat. Und jeder Wert ist das Ergebnis des Sendens des Wertes an das Prozessorregister / vom Prozessor, dh das Ergebnis der Operation. Trotz dieser Verbindung ist die Hauptsache die Möglichkeit ihrer getrennten Beschreibung, wenn auch mit der Wiederholung eines Wortes in verschiedenen Teilen des Wörterbuchs, was in ma3 vorkommt.

Der Maschinenansatz teilte alle vom Programmierer verwendeten Zahlen in Befehle und Daten auf . Zuvor waren beide Zahlen, zum Beispiel wurden Befehle in numerischen Codes geschrieben. In angewandten Sprachen waren die Teams jedoch keine Zahlen mehr und wurden zu Worten und Zeichen des Handelns . Nur "Daten" blieben Zahlen, aber um sie weiterhin so lächerlich zu nennen, denn wenn man von einem Computer zu einem mathematischen Gesichtspunkt wechselt, sind Zahlen Größen, die die anfänglichen ( Daten ) und endgültigen ( gesuchten ) teilen. "Unbekannt gegeben" - das klingt albern.

Teams werden auch in zwei Arten von Aktionen unterteilt: Mathematik und Service. Mathematische Aktionen - Operationen. Wir werden uns später an den Service wenden.

In C-Sprachen werden die üblichen eindeutigen oder einzelnen mathematischen Operationen auf Papier und Maschine fast ausnahmslos mehrfach.

Mehrere Operationen - mehrere Operationen mit demselben Namen mit unterschiedlichen Bildern von Argumenten und unterschiedlichen Aktionen mit ähnlicher Bedeutung.

Ganzzahlige Argumente entsprechen der gesamten Operation, gebrochen - gebrochen. Dieser Unterschied wird besonders deutlich bei der Divisionsoperation, wenn der Ausdruck 1/2 insgesamt 0 und nicht 0,5 ergibt. Eine solche Aufzeichnung entspricht nicht den Regeln der Papiermathematik, aber die C-Sprache versucht nicht, sie einzuhalten (im Gegensatz zu Fortran) - sie spielt nach ihren eigenen angewandten Regeln.

Beim Mischen von ganzen Zahlen und Bruchzahlen ist die einzig richtige Reduzierung der Argumentwerte enthalten - eine Auswahlkonvertierung des Werts von einem Bild in ein anderes. In der Tat ist das Ergebnis beim Hinzufügen einer Ganzzahl und einer Bruchzahl ein Bruch, sodass das Bild der Operation die Operation zum Konvertieren des Ganzzahlarguments in einen Bruchwert auswählt .

Eine Reihe von Operationen bleibt nicht mehrfach, sondern einzeln . Solche Operationen werden nur für einen Argumenttyp definiert: Der Rest der Division sind ganzzahlige Argumente, das Styling (bitweise Operationen) sind natürliche ganze Zahlen. Ma3 gibt die Vielzahl von Operationen durch Zeichen (# ^) an, die die Muster angeben, für die die Operation definiert ist. Dies ist eine wichtige, aber zuvor übersehene Eigenschaft jeder Operation.

Alle Funktionen sind beliebige Einheitenoperationen. Die Ausnahme bilden Operatoren - in die Sprache integrierte Funktionen ohne Klammern (anfängliche Operationen).

Förderung


Hilfe ist eine begleitende Handlung.

Wenn wir die Operation als Hauptaktion betrachten, können wir zwei Begleitpersonen unterscheiden, die die Operation bereitstellen und sich von dieser unterscheiden. Dies sind 1) variable Kontrolle und 2) Einreichung. Diese Aktion wird als Promotion bezeichnet .

Hier ist es notwendig, russische Übersetzungen von Programmierlehrbüchern abzulenken und separat zu sagen. Im K / P-Text wurde eine neue Wortanweisung (Ausdruck) eingeführt, um Aktionen aufzuzeichnen, mit denen versucht wurde, die Konzepte eines Maschinenbefehls in verschiedene Aktionen zu unterteilen: 1) eine Operation, 2) eine Ansage und 3) eine Übermittlung (als "Kontrollstrukturen" bezeichnet). Dieser Versuch wurde von russischen Übersetzern begraben und ersetzte den "Ausdruck" durch das Wort "Operator", der:

  1. wurde zum Synonym für das Maschinenwort "Team"
  2. stellte sich als Synonym für den Ausdruck "Zeichen der Aktion" heraus,
  3. und erhielt auch eine unbegrenzte Anzahl von zusätzlichen Werten. Das heißt, es wurde eine Ähnlichkeit mit dem englischen Artikel "äh ...".

Berücksichtigen Sie die damit verbundenen Aktivitäten oder Erleichterungen .

Variablenverwaltung


Variablenverwaltung (UE) - Erstellen / Löschen von Variablenzellen.
UP tritt implizit auf, wenn eine Variable deklariert wird, die bereits aus einem anderen Grund geschrieben wurde - um das Bild einer Menge anzuzeigen. Mit den Funktionen malloc () und free () wird nur ein Typ einer inkrementellen Variablen explizit gesteuert.

Es sollte beachtet werden, dass implizite Aktionen für das Schreiben bequemer sind, da sie überhaupt nichts schreiben müssen, aber schwieriger zu verstehen sind - sie sind schwieriger zu berücksichtigen und zu interpretieren.

Einreichung


Übermittlung - Aktivieren / Deaktivieren von Ebenenabschnitten.

Die C-Sprache schlug einen anderen Weg als den Assembler vor, einen angewandten Weg, um die Reihenfolge der Aktionen zu steuern - die Übermittlung. Es reflektiert und entwickelt einen komplexen Sprachsatz mit einer expliziten Unterteilung in den Hauptteil (Satzübermittlung) und den untergeordneten Teil (Unter- / Unterprogrammabschnitte).

Sowohl die Ankündigung als auch die Einreichung basieren vollständig auf dem Konzept einer Ebene .

Schicht


Eine Ebene ist ein begrenzter, einstufiger selektiver Ausdruckssatz.

Die Schicht übernahm explizit und implizit die gleichzeitige Ausführung mehrerer Aufgaben:

  1. Straffung des Programms,
  2. Namenssichtbarkeitsbeschränkung (implizit),
  3. Verwaltung von Variablen (Speicherzellen) (implizit),
  4. Definition von untergeordneten Abschnitten für die Unterordnung,
  5. Definitionen von Funktionen und Sammlungen und anderen.

In Maschinensprachen gab es kein Konzept für eine Ebene, daher erschien es nicht in K / P, und wenn etwas nicht vorhanden war, wäre die Einführung in nachfolgende Bücher Häresie und Freidenker. Daher erschien das Konzept einer Ebene überhaupt nicht, obwohl es äußerst nützlich und ziemlich offensichtlich ist.

Ohne eine Ebene ist es unmöglich, viele der Aktionen und Regeln des Programms kurz und klar zu erklären. Zum Beispiel, warum es schlecht und schwierig ist, einfach wie drei Kopeken zu gehen, während es gut ist. Sie können nur hilflos schwören, wie es Dijkstra getan hat ("Die Qualifizierung von Programmierern ist eine Funktion, die umgekehrt von der Häufigkeit des Auftretens von goto-Anweisungen in ihren Programmen abhängt." Kurz gesagt, nur Ziegen verwenden goto. Rechtfertigungsgrad ist Gott.) Richtig, es ist nicht so schlecht, wenn Ihre Bücher , , , .

Übrigens kann davon ausgegangen werden, dass Den Ritchie goto genau als Schlüssel für die Suche nach einem unbenannten Konzept verlassen hat, da der goto-Ausdruck weder notwendig noch schön war. Es bestand jedoch die Notwendigkeit einer einfachen und verständlichen Erklärung der neuen Prinzipien der Sprache, die Richie selbst nicht geben wollte und die nur auf dem Konzept einer Schicht beruhen .

Abweichung


Abweichung - Ändern der üblichen Eigenschaften eines neuen Namens.

Die wichtigste Abweichung bezieht sich nur auf die Ebeneneigenschaften des Programms und wird durch ein Wort „statisch“ beschrieben, das für jeden Ebenentyp unterschiedliche Bedeutungen hat.

5. DAS LETZTE KAPITEL. Gemeinsame Anwendungssprachen


( , «»). . : — , , .

Bild

( , .)

. — ++. - , — . ++ , , . , «».

Überlastung und Polymorphismus


Das Wort Überladung ist ein veralteter Begriff in einem Maschinenansatz, der die Erstellung mehrerer Operationen bezeichnet .

Maschinen- (System-) Programmierer könnten sich über die Vielzahl von Operationen ärgern: „Was bedeutet dieses Vorzeichen (+): Addition von ganzen Zahlen, Addition von Bruchzahlen oder sogar eines Offsets ?! Heutzutage haben sie nicht so geschrieben! " Daher die negative Konnotation des ausgewählten Wortes ("Büste", "müde"). Für einen Anwendungsprogrammierer sind mehrere Operationen der Eckpfeiler, die Hauptleistung und das Erbe der C-Sprache, so natürlich, dass sie oft nicht realisiert werden.

In C ++ Pluralitäterweitert nicht nur auf die ursprünglichen Operationen, sondern auch auf die Funktionen - sowohl einzelne als auch in Methoden gruppierte - Methoden. Zusammen mit mehreren Methoden wurde es möglich, sie in erweiterten Klassen neu zu definieren, was vage als "Polymorphismus" bezeichnet wurde. Die Kombination von Polymorphismus und Überladung ergab eine explosive Mischung, die sich in zwei Polymorphismen zerstreute: "wahr" und "ad-hoc". Sie können dies trotz der zugewiesenen Namen nur herausfinden. Ausländische Namen ebneten den Weg zur Werbung.

Die Deklaration der Form "Überladung" wird besser durch das Wort add ausgedrückt - eine Deklaration der gleichnamigen Funktion mit den Argumenten eines anderen Bildes.

Eine Anzeige der Form „Polymorphismus“ wird besser als Wortdeklaration bezeichnet- Überlappende Deklaration in einer neuen Erweiterungsebene der gleichnamigen Funktion mit Argumenten desselben Bildes.

Dann ist es leicht zu verstehen, dass die gleichnamigen Methoden verschiedener Bilder (Argumente) neu deklariert werden und ein Bild neu deklariert wird .

Russische Wörter entscheiden.

Landebahn


Die Berücksichtigung der Konzepte hochfigurativer Sprachen bestätigt die Bedeutung einer klaren Definition grundlegender Konzepte. Wenn C richtig beschrieben ist, wird das Erlernen hochgeformter Sprachen einfach und unterhaltsam sein.

Dies ist besonders wichtig für implizite stark figurative Sprachen (PHP, JavaScript). Für sie wird die Bedeutung von Objekten (zusammengesetzten Bildern) noch höher als in C ++, aber das Konzept eines Bildes wird implizit und schwer fassbar. Unter dem Gesichtspunkt der Zweckmäßigkeit sind sie einfacher geworden, aber unter dem Gesichtspunkt des Verständnisses ist es komplizierter.

Daher sollten Sie Programmiersprachen mit der Sprache C lernen und in der Reihenfolge fortfahren, in der die Sprachen der C-Familie erscheinen.

Gleiches gilt für Sprachbeschreibungen. Verschiedene Sprachen haben die gleiche oder eine kleinere Menge von Gattungseinheiten als die C-Sprache. Die Anzahl der Arten und Proben kann in beide Richtungen unterschiedlich sein: C ++ hat mehr Arten als C, JavaScript hat weniger.

Die MySQL-Sprache verdient besondere Erwähnung. Es scheint - nichts gemeinsam, aber Matryoshka beschreibt ihn perfekt, und das Kennenlernen wird schneller und einfacher. Was angesichts seiner Bedeutung für das Web wichtig ist - die Kantine der modernen Programmierung. Wo MySQL ist, gibt es andere SQL. Nun, alle Arten von Fortran-Pascal-Pythons werden auch von Matryoshka beschrieben, sobald ihre Hände reichen.

, — . « , . , ! (, , . .)»

, . , .

Source: https://habr.com/ru/post/de452328/


All Articles