Deutsch oder Englisch

Schön an Inform 7 ist, das es sich fast liest wie herkömmliches Englisch:

The basement is a room. The box is a portable container in the basement. It is locked and closed.

Instead of attacking the box with the crowbar when the player does not have the power ring, say "That might work, but you're not strong enough."

Das sieht aber nur so aus. In Wirklichkeit gehören die Wörter room, is, portable, container, in, locked, closed, instead, attacking, with, when und so weiter zur Programmiersprache – die eben nur aussieht wie Englisch. Wie in einer natürlichen Sprache gibt es dabei mehrere Möglichkeiten, denselben Sachverhalt auszudrücken; man kann seine Sprache also in gewissen Grenzen variieren. Aber die Grenzen sind enger, als man im erstem Moment denkt. Dennoch macht es die Ähnlichkeit mit der Sprache Englisch leicht, einfachen Code zu schreiben.

Wenn man Spiele auf Deutsch schreiben will, fällt das besonders auf. Im Moment sieht das nämlich – mit der eingebundenen Erweiterung GerX – so aus (Beispiele aus der Dokumentation von GerX):

The Keller is a male room.

The Kiste is a female container in the Keller, fixed in place.

The gruen Apfel is a male edible thing in the Kiste. The printed name is "grün[^] Apfel". Understand "gruen" as the Apfel.

The Oelkanne is a female thing in the Keller. The printed name is "Ölkanne".

A Karotte is a kind of thing. It is female and edible. The printed plural name is "Karotten". Understand "Karotte" and "Moehre" as a Karotte. Understand "Karotten" and "Moehren" as the plural of Karotte.

In the Kiste are six Karotte.

Ein Englischlehrer kann das nicht mitmachen; Informatiklehrer mit anderen Fächern steht das aber frei. Alternativ kann man aber auch streng zwischen dem programminternen Bezeichner eines Objekts (auf Englisch) und dessen ausgegebenem Namen (auf Deutsch) unterscheiden:

The basement is a room.
The printed name is "Keller[m]".
Understand "Keller[m]" as the basement.
 
The box is a container in the basement, fixed in place.
The printed name is "Kasten[m]". 
Understand "Kasten[m]" as the box.
 
The green apple is an edible thing in the box. The printed name is "grün[^] Apfel[m]".
Understand "gruen" and "Apfel[m]" as the apple.
 
A carrot is a kind of thing. It is usually edible.
The printed name is "Karotte[f]". The printed plural name is "Karotten".
Understand "Karotte[f]" and "Moehre[f]" as a carrot. Understand "Karotten" and "Moehren" as the plural of a carrot.
 
In the box are six carrots.

Die erste Form, die Mischform, ist dabei die üblichere. Ich habe bisher mit Schülern nur englische Spiele geschrieben; wenn ein deutsches Spiel herauskommen muss, würde ich mit Schülern auf die zweite setzen. Den Code finde ich übersichtlicher (wenn auch länger), und die Unterscheidung zwischen Objektbezeichner und ausgegebenem Namen ist aus informatischer Sicht ohnehin sinnvoll.

Schreibe einen Kommentar