Author: Kay
Schluehr
Date: 25.05.2006
Version: Noch nicht alles 1A -
Für "EinfachErweitern" 2.0 und 3.0
Gib
Obacht! Letzte Änderung: 13.08.2008
Teuton
ist eine deutsche Programmiersprache, geschrieben für deutsche
Menschen. Teuton ist jene bislang ungeschriebene Programmiersprache,
die vermutlich jeder betrunkene Student einmal entwickeln wollte, der
gerade eben das Oktoberfest besucht oder auch sonst zu viel Weissbier
getrunken hat. Teuton besitzt keine besonderen Merkmale ausser jenes,
dass es deutsch ist. Die Idee habe ich von Andy Dent aufgegriffen, der
in einem
Weblog
Eintrag auf Artima eines der Leitthemen seiner kosmopolitische
Sprache
CEDSimply zur Diskussion gestellt hat.
Zeige
auf das Verzeichnis, in dem Teuton abgelegt ist und rufe Deine
Applikation wie folgt auf:
teuton\python run_teuton.py
<MeinDeutschtoenendesSkript.py>
Vorsicht bei der Wahl des Skriptes. Es ist der englischen Sprache
wirklich nur sehr bedingt mächtig.
#
for ~ fuer
# in ~ im | in
# range ~ intervall
# print ~ drucke
fuer i im intervall(9)[::-1]:
drucke i
# while ~ solange
# True ~ Wahr
# try ~ versuche
# except ~ ausser
# ZeroDivisionError ~ NullDivisionsFehler
# return ~ zurueck
solange Wahr:
versuche:
1/0
ausser NullDivisionsFehler:
zurueck
Beachte, dass Teuton die
beiden Schlüsselworte "im" und "in" alternativ zu Pythons singulärem
"in" anbietet. Du kannst also abhängig vom grammatikalischen Fall (
Dativ im obigen Beispiel ) die richtige deutschsprachige Form
verwenden. Teuton nähert sich damit einer
menschlichen
Schnittstelle an und meidet den Weg der "minimalen Schnittstelle".
Eine Programmiersprache,
die deutsch ganannt sein will, darf auf Umlaute freilich nicht
verzichten. Die Schlüsselworte fuer und zurueck
unterstellen ihre eigentliche Natur noch der 7-Bit ASCII Orthodoxie.
Hingegen lässt sich auch schreiben
#
-*- coding: iso-8859-1 -*-
schön = Wahr
häßlich = Falsch
für bäh in [schön, häßlich]:
drucke bäh
def sovielwiemöglich():
"gib"
zurück "was mir gehört"
und in der Konsole:
teu>
ätschibätsch = "Siehste!"
teu> drucke ätschibätsch
Siehste!
Man beachte, dass
dass und
daß intern genau gleich behandelt
werden. Es ist also
schön
immer auch
schoen und wenn
schoen ein gültiger Name ist, so
ist es auch
schön und
umgekehrt.
Teutons
Implementierung basiert darauf, englische Worte der ursprünglichen
Python durch deutsche Übertragungen zu ersetzen. Dieses sind zumindest
alle Schlüsselworte, wie auch häufig verwendete Namen der
Standardbibliothek. Dass dies nicht perfekt umgesetzt ist, versteht
sich, angesichts des Umfangs der Sprache und der Bibliotheken, von
selbst. Dies bedürfte einer Schar sehr geduldiger Übersetzer oder
einer
sehr ausgefeilten KI, die nicht nur über ein Wörterbuch und
Sprachgefühl verfügt um damit eine jeweils konzise und gebräuchliche
Übersetzung zu finden, sondern darüber hinaus sinnvolle Abkürzungen
erschaffen kann.
Es folgt eine Tabelle von Übertragungen vom Englischen ins Deutsche.
Englisch
Deutsch
del
entf
print
drucke
continue
weiter
return
zurueck
exec
erledige
yield
ergibt
import
import
raise
behandle
from
von
assert
behaupte
if
wenn
elif
wennsonst
else
sonst
while
solange
for
fuer
try
versuche
except
ausser
class
klasse
and
und
or
oder
not
nicht
in
in
/ im
finally
schliesslich
break
abbrechen
def
def
pass
pass
Builtins /
Die Eingebauten
ArithmeticError
ArithmetischerFehler
ArithmeticError
ArithmetischerFehler
AssertionError
AnnahmeFehler
AttributeError
AttributFehler
DeprecationWarning
VeraltetWarnung
EOFError
EOFFehler
Ellipsis
Ellipse
EnvironmentError
UmgebungsFehler
Exception
Ausnahme
False
Falsch
FloatingPointError
FliesskommaFehler
FutureWarning
ZukunftsWarnung
IOError
EAFehler
ImportError
ImportFehler
IndentationError
EinruckungsFehler
IndexError
IndexFehler
KeyError
SchluesselFehler
KeyboardInterrupt
TastaturUnterbrechung
LookupError
NachsehenFehler
MemoryError
SpeicherFehler
NameError
NamensFehler
None
Nichts
NotImplemented
NichtImplementiert
NotImplementedError
NichtImplementiertFehler
OSError
BetriebssystemFehler
OverflowError
UeberGrenzeFehler
OverflowWarning
UeberGrenzeWarnung
PendingDeprecationWarning
PendingDeprecationWarnung
ReferenceError
ReferenzFehler
RuntimeError
LaufzeitFehler
RuntimeWarning
LaufzeitWarnung
StandardError
StandardFehler
StopIteration
StopIteration
SyntaxError
SyntaxFehler
SyntaxWarning
SyntaxWarnung
SystemError
SystemFehler
SystemExit
SystemAusgang
TabError
TabFehler
True
Wahr
TypeError
TypFehler
UnboundLocalError
UngebundenLokalFehler
UnicodeDecodeError
UnicodeDecodierungsFehler
UnicodeEncodeError
UnicodeCodierungsFehler
UnicodeError
UnicodeFehler
UnicodeTranslateError
UnicodeUerbersetzungsFehler
UserWarning
BenutzerWarnung
ValueError
WertFehler
Warning
Warnung
WindowsError
FensterFehler
ZeroDivisionError
NullDivisionsFehler
_
_
__debug__
__debug__
__doc__
__doc__
__import__
__import__
__name__
__name__
abs
abs
apply
verwende
basestring
basisstring
bool
bool
buffer
puffer
callable
aufrufbar
chr
chr
classmethod
klassenmethode
cmp
vgl
coerce
coerce
compile
kompiliere
complex
komplex
copyright
copyright
credits
wuerdigung
delattr
entfattr
dict
lexikon
dir
verz
divmod
divmod
enumerate
aufzaehlung
eval
eval
execfile
execfile
exit
raus
file
datei
filter
filter
float
fliesskomma
frozenset
frozenset
getattr
nimmattr
globals
globals
hasattr
hatattr
hash
hash
help
hilfe
hex
hex
id
id
input
eingabe
int
ganzzahl
intern
intern
isinstance
istinstanz
issubclass
istunterklasse
iter
iter
len
laenge
license
lizenz
list
liste
locals
lokal
long
lang
map
map
max
max
min
min
object
objekt
oct
oct
open
oeffne
ord
ord
pow
hoch
property
eigenschaft
quit
schliesse
range
intervall
raw_input
raw_input
reduce
reduce
reload
reload
repr
repr
reversed
reversed
round
runde
set
menge
setattr
setattr
slice
slice
sorted
sorted
staticmethod
statischemethode
str
str
sum
summe
super
ober
tuple
tupel
type
typ
unichr
unichr
unicode
unicode
vars
variablen
xrange
xintervall
zip
zip