Einfach Erweitern


                                      



    




            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




 
Schluesselworte

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