Blockprogrammierung

Bild
Hallo! Ich werde den Artikel mit einem kleinen Exkurs beginnen. Waren Sie enttäuscht, als Sie zum ersten Mal auf Programmierung stießen? Ich ging davon aus, dass die Erstellung von Programmen durch die Interaktion mit einem komplexen, aber sehr interessanten Werkzeug erfolgt, mit dem ich meine Lieblingssache (Konstruktoren sammeln) auf einer neuen Ebene erledigen kann. Stattdessen musste ich lernen, wie man Textdateien schreibt, die aus verschiedenen Operatoren, Klammern, Zeichenfolgen und anderen Textkonstrukten bestehen. Jahrzehnte vergingen, ich lernte programmieren und hatte diese Enttäuschung bereits vergessen, aber als ich die Nachrichten über Google Blockly und Scratch im Netzwerk sah, fühlte ich Nostalgie ...

Diese Tools sind so interessant, ohne zu behaupten, professionell zu sein! Keine Texte und Zusammenstellungen - Sie ziehen Blöcke und erhalten sofort das Ergebnis. Kann das für Profis gemacht werden? Ich bin sicher, dass Sie können! Und in diesem Artikel möchte ich meine Vision davon ausdrücken, wie.

Was ist der Punkt?


Wenn wir uns von der Testmethode zum Schreiben von Programmen entfernen, müssen wir die Struktur des Programmcodes und seinen Typ trennen ...

Wie ist es?


Dazu müssen wir zunächst die Quellcodes in einer anderen Form speichern. Sie sollten eine Beschreibung der Anweisungen und Programmdaten in einer der vorhandenen Formen der Datenspeicherung sein, z. B. json, xml oder eine andere. Diese Datei (Abbildung 1, links) kann ein ziemlich hässliches Aussehen haben und unterliegt keiner vernünftigen Möglichkeit, sie direkt zu bearbeiten. In einer Programmierumgebung wird sie jedoch in Blockcode umgewandelt (Abbildung 1, rechts).

Bild

Die Programmierumgebung selbst befasst sich nicht mit Textcodes, sondern mit den "Blöcken", aus denen der Programmcode aufgebaut ist.

Was wird es uns geben?


1. Erstens werden wir unbedeutende Unterschiede in der Syntax verschiedener Sprachen beseitigen. Beispielsweise werden Codeblöcke in C ++ durch geschweifte Klammern getrennt, und Ruby achtet auf Schlüsselwörter ... Im Editor können Sie beide Programmtypen konfigurieren, daran ändert sich nichts. Mit den persönlichen Anzeigeeinstellungen kann der Entwickler das Programm nach Belieben anzeigen. Darüber hinaus können wir beliebige Zeichen in der Benennung verwenden, einschließlich Leerzeichen.

Bild

2. Zweitens erhöht sich die Geschwindigkeit beim Schreiben eines Programms. Um eine for-Anweisung in einer C-ähnlichen Sprache zu schreiben, müssen wir den for-Text selbst schreiben, dann die Klammern, Parameter, Semikolons, geschweiften Klammern und die Eingabetaste drücken. In unserer Version fügt die Programmierumgebung durch Klicken auf eine bestimmte Tastenkombination einen Zyklus ein und muss nur seine Parameter eingeben. Wenn Sie beispielsweise „f“ drücken, wird die for-Schleife anstelle des Cursors eingesetzt und Sie können die Anzahl der Wiederholungen und den Namen des Zählers per Tabellierung eingeben, indem Sie am Ende die Eingabetaste drücken.

Bild

3. Drittens wird es möglich sein, die Unabhängigkeit von der Sprache des Programmierers sicherzustellen. Sprachoperatoren können durch einige Zeichen angezeigt werden, oder Schlüsselwörter können in der Muttersprache des Programmierers angezeigt werden. Wenn er möchte, dass die Operatoren in Englisch, Russisch oder einer anderen Sprache angerufen werden, wählt er diese Sprache in den Einstellungen des Editors aus und die Namen der Operatoren ändern sich "on the fly". Die Namen von Objekten und Methoden sind komplizierter. Wenn das Programm jedoch von russischen Entwicklern entwickelt wird, können Sie alles auf Russisch benennen. Wenn Sie dieses Szenario auswählen, besteht keine Diskrepanz zwischen den Namen der Operatoren und den Namen der Objekte und Methoden. Alles wird auf Russisch sein. Dies kann das Lernen für Schüler und Erwachsene vereinfachen, die mit Englisch nicht vertraut sind. Außerdem ist es in multinationalen Teams möglich, zwei Namen für die Benennung von Objekten und Methoden zu verwenden - in Englisch und in der Sprache des Entwicklers.

Bild

4. Viertens kann die Struktur des Programms aktualisiert werden. Wenn in der neuen Version des Standards eine neue Funktion angezeigt wird, die das Erscheinungsbild von Blockdesigns ändert, können Patches für alte Programme veröffentlicht werden, die sie automatisch in ein neues Erscheinungsbild bringen. In Abbildung 4 sehen Sie, welche alten Sprachkonstrukte von der Programmierumgebung in eine neue Form umgewandelt werden können.

Bild

Bild

5. Fünftens wird es möglich sein, die Struktur des Programms auf bequeme Weise darzustellen. Zum Beispiel in Form eines dreidimensionalen Raums, durch den Sie wie Computerspiele navigieren und die Beziehung dreidimensionaler Klassen und Objekte bearbeiten können.

Programmierumgebung


Auf diese Weise kann das Programm nicht mehr in einem einfachen Texteditor geändert werden. Zum Bearbeiten des Programms benötigen Sie eine spezielle Programmierumgebung. Die Entwicklung der ersten Version dieser Programmierumgebung ist schwieriger als bei herkömmlichen Sprachen, es gibt jedoch Möglichkeiten, den Einstieg zu vereinfachen. Sie können beispielsweise mit dem Datendatei-Editor beginnen, mit dem Sie Dateien in jedem Format (XML, JSON, YamL usw.) auf dieselbe Weise bearbeiten können - mithilfe von Blöcken. In diesem Fall bleibt dem Benutzer die Notwendigkeit erspart, die Syntax dieser Dateien zu studieren, und er kann sie bearbeiten, indem er lernt, Datendateien nur in diesem Programm zu bearbeiten.

Dann besteht die Aufgabe darin, einen Compiler zu entwickeln, der während der Bearbeitung "on the fly" ein Programm erstellen kann. In Zukunft wird es einfacher sein, Funktionen zur automatischen Vervollständigung bereitzustellen und der Entwicklungsumgebung Funktionen hinzuzufügen, die "tiefe" Kenntnisse des Programmcodes erfordern, da Sie keine Textcodes analysieren müssen. Darüber hinaus „weiß“ die Programmierumgebung alles, was für eine bessere Syntaxhervorhebung und -umgestaltung über das Programm benötigt wird, da alle dafür erforderlichen Daten für den Programmierer unsichtbar in der Programmdatendatei gespeichert werden können.

Fazit


Ich bin sicher, dass die beschriebene Programmiermethode den Programmierern enorme Möglichkeiten eröffnen und die Anwendungsentwicklung erheblich beschleunigen und vereinfachen wird. Einer auf dem Feld ist jedoch kein Krieger. Die Entwicklung eines solchen Produkts erfordert einen leistungsstarken Ansatz und Ressourcen. Ich bin ein Einzelgänger und arbeite aus der Ferne - dieses Projekt ist zu schwierig für mich ... Wenn Sie sich für ihn interessieren würden, könnten wir vielleicht zusammenarbeiten?

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


All Articles