print(1)Hinweis: Die hier vorgestellten Codes sind Pseudo-Codes und stellen nicht die Blitzprog-Sprache dar.
print(2)
print(3)
Jeder erfahrene Programmierer würde diesen Code in eine For-Schleife umwandeln:
for i = 1 to 3Dies ist die einfachste Möglichkeit, einen Prozess abstrakt zu beschreiben.
print(i)
Etwas komplexer wird es in diesem Fall:
class Vector3Erster Versuch:
int x
int y
int z
function add(vec)
self.x = x + vec.x
self.y = y + vec.y
self.z = z + vec.z
class Vector3Hier wurde der Dreizeiler für die Deklaration der drei Integervariablen zu einer Zeile zusammengefasst. An dieser Stelle kann man sich bereits darüber streiten, welches die höhere Lesbarkeit mit sich bringt. Da x, y und z in diesem Kontext zusammenhängen, ist es aus meiner Sicht logischer, diese auch in einer Zeile zu schreiben. Außerdem verbessert sich die Wartbarkeit, da bei einer Änderung des Datentyps nur eine Zeile umgeschrieben werden muss (C++ Templates würden hier ebenfalls hilfreich sein).
int x, y, z
function add(vec)
self.x += vec.x
self.y += vec.y
self.z += vec.z
Nun zu Abstraktionsstufe 2:
class Vector3(DataType = int)Zwei weitere Verbesserungen: Erstens wurde der Datentyp verallgemeinert, so dass die 3D-Vektorklasse nun auch mit anderen Datentypen wie z.B. float nutzbar ist. Zweitens wurde die Zuweisung bzw. di Addition der xyz-Variablen in einer - für die meisten Leser - bisher noch unbekannten Syntax zusammengefasst. Der Compiler erkennt, dass die erste Variable des Objekts self (in diesem Fall x) mit der ersten Variablen des zweiten Objekts vec (dessen x) addiert werden muss. Bei der zweiten und dritten Variable ist der Vorgang äquivalent. Zum Schluss möchte ich noch zeigen, wie dieser Code nun in bp (Abkürzung für die Blitzprog-Programmiersprache) aussehen würde:
DataType x, y, z
function add(vec)
self.[x, y, z] += vec.[x, y, z]
class Vector3Dies sind nur kleine Beispiele einer Abstraktion im Vergleich zu dem, was später möglich sein wird.
init value
self.[x, y, z] = value
add vec
self.[x, y, z] += vec.[x, y, z]
Keine Kommentare:
Kommentar veröffentlichen