Was ist real?
Weil Real nur für einen Dolmetscher definiert ist .
Ist Mandarin mehr oder weniger real als Englisch?
- Sicherlich ist Mandarin für einen Englisch sprechenden Menschen nicht besonders nützlich
- Ähnlich ist Englisch für einen Mandarin-Sprecher so viel Unsinn
- es sei denn, sie sprechen beide.
Real ist also nicht einmal die Frage. Lasst es uns umformulieren:
Warum wird Pseudocode anstelle einer formalen Sprache verwendet?
Ein einfaches VENN-Diagramm kann das Problem leicht hervorheben. Die Menge aller Menschen, die Englisch und Mandarin sprechen, ist die Teilmenge der Englisch oder Mandarin. Da es schwierig ist, Kenntnisse in einer beliebigen Sprache zu erlangen, ist die Schnittmenge im Allgemeinen viel kleiner als die Gewerkschaft.
Das Lehrbuch über Programmierung kann davon ausgehen, dass Sie mindestens eine natürliche Sprache verstehen, die Sprache, in der das Lehrbuch geschrieben ist. Es ist im Allgemeinen sicher, dies anzunehmen, da sonst ein anderes besser lesbares Lehrbuch ausgewählt worden wäre. Schließlich ist es schwierig genug, eine Sprache zu lernen - zwei sind schwieriger.
Dies gibt den ersten Grund für die Verwendung eines Pseudocodes an. Es maximiert das Publikum, das das Buch leicht lesen kann. Dies geschieht durch Befolgung etablierter Sprachkonventionen, die bereits in der natürlichen Sprache zu finden sind. Sagen Sie Rezepte aus dem Kochen, mathematischen Formeln usw. Jede Lücke kann durch eine schnelle Erklärung der natürlichen Sprache oder durch einen endgültigen Rückgriff auf unser visuelles System mit Bildern geschlossen werden.
Warum konnte die gemeinsame Sprache nicht die Programmiersprache sein? Ich überlasse es Ihnen zu überlegen, wie viel Mandarin (oder eine Sprache, die Sie noch nicht sprechen) Sie gelernt haben, indem Sie ein Buch über Programmierung gelesen haben, das anhand von Beispielen in einer vertrauten Programmiersprache geschrieben wurde.
Was ein Lehrbuch erreicht
Überlegen Sie als zweiten Grund, was ein Lehrbuch leisten muss:
- Erklären Sie, warum sie sich die Mühe machen würden, eine fremde Sprache zu lernen, anstatt nur ihre natürliche Sprache zu verwenden.
- Erklären Sie dem Leser eine fremde Sprache, damit er sie möglicherweise selbst sprechen kann.
Warum programmieren
Der größte Teil des Buches muss Sie davon überzeugen, warum Sie diese fremde Sprache oder eine ähnliche Sprache lernen und verwenden möchten. Dies bedeutet, das Wesentliche der Programmierung selbst zu diskutieren.
- Wie erkennen Sie ein Problem?
- Wie brechen Sie ein Problem auseinander?
- Wie erstellen Sie die Daten?
- Wie gestalten Sie die Prozesse?
- Wie verwalten Sie die Abhängigkeiten?
- Wie erkennen Sie Fehler?
- und mehr
Das meiste davon hat nichts mit den Maschinen selbst zu tun, es ist hauptsächlich eine Diskussion darüber, wie Fleischwaren funktionieren sollten, um ein Programm zu erstellen. Das ist ziemlich komplex, weil es zeigen muss, warum wir unsere menschlichen Weltraumziele verknüpfen, Weltraumprobleme programmieren und danach streben, sie zu lösen.
Programm beschreiben
Die zweite Lehrbuchleistung beschreibt eine Sprache. Jetzt können die meisten Programmiersprachen mit einer Grammatik und einigen semantischen Regeln beschrieben werden. Am flachen Ende befinden sich Sprachen wie JSON, die innerhalb von drei oder mehr Seiten ziemlich vollständig definiert werden können. Komplexere Sprachen benötigen eine größere Spezifikation, benötigen jedoch größtenteils kein umfassendes Verständnis, um nützlich zu sein. Was diese Beschreibungen sind, sind jedoch Pseudocode. Sie spezifizieren die formale Sprache in Form einer natürlichen Sprache. Der Unterschied besteht darin, dass diese Pseudocodes im Voraus festgelegt werden.
Angesichts der Tatsache, dass selbst formale Sprachen selbst (ausführbare) Pseudocodes sind, stellt sich die Frage, was bei der Beschreibung eines Algorithmus am wichtigsten ist. Der nächstgrößere Kontext.
- Der Algorithmus hat ein Ziel, das in diesem Zusammenhang angemessen ist:
- Dieser Kontext hat einige Einschränkungen.
- und der Algorithmus ist eine Beschreibung, wie diese Einschränkungen behandelt werden können, während das Ziel erreicht wird.
Zu keinem Zeitpunkt ist die Sprache, in der der Algorithmus geschrieben ist, wichtig. Wenn überhaupt, sind nur wenige Schlüsseloperationen entscheidend für den Erfolg der Algorithmen. Die Frage lautet dann:
- Ist es besser, ein Fleischwarenprogramm zu beschreiben, das die vollständige Spezifikation einer formalen Sprache wie C ++ / C # / Python / etc ... interpretieren kann, um den Algorithmus zu verstehen
- oder Definieren Sie einfach die 4 oder so Grundelemente, die zum Verständnis des Algorithmus erforderlich sind.
Angesichts der Tatsache, dass das Erlernen einer Sprache schwierig ist und der Leser eine Sprache gelernt haben muss, um den Algorithmus zu verstehen, was sollten Sie als Verfasser eines Lehrbuchs vom Leser verlangen?