Deutsch BASICs

Früher habe ich meinen Lehrern die Schuld daran gegeben, aber die Wahrheit ist, dass ich in Fremdsprachen einfach schlecht bin. Das gilt auch für Englisch.

Trotzdem ist es gerade in der Online-Welt unumgänglich diese Sprache zu verstehen und zu nutzen.
Und für die Programmierer beherrscht Englisch ohnehin die ganze Welt.

Die ganze Welt? Nein, Office 95 leistete erbitterten Widerstand…

Ich sehe es heute als Zeichen von sehr schlechtem Stil an, wenn in Programmen Variablen- oder Funktionsnamen NICHT-englisch benannt sind.

Aber tatsächlich hatte Microsoft einmal die absurde Idee, die Skript-Erweitung seiner Office-Palette in einige Landessprachen zu übersetzen.
Konkret sprechen wir von VBA, Visual Basic for Applications (bzw. für Applikationen).

Die lokalisierten Schlüsselwörter waren schon schlimm genug, aber das größte Verbrechen war, dass die origalen englischen Kommandos gar nicht mehr gültig waren.

Statt …

 1Select Case statusVar
 2  Case 1
 3    a = b
 4  Case 2
 5    c = d
 6  Case Else
 7    If statusVar < 0 Then
 8      e = f
 9    Else
10      e = g
11    End If
12End Select

… schrieb man tatsächlich:

 1Prüfe Fall statusVar
 2  Fall 1
 3    a = b
 4  Fall 2
 5    c = d
 6  Fall Sonst
 7    Wenn statusVar < 0 Dann
 8      e = f
 9    Sonst
10      e = g
11    Ende Wenn
12Ende Prüfe

Das ist eigentlich ein Kündigungsgrund, wenn man so etwas abliefert. Nicht nur, dass man die Möglichkeit verliert, dass ein Großteil der Programmierer der Welt diesen Code lesen kann, es macht es auch unmöglich, dass zwischen normalem VB Classic und VBA Codes ausgetauscht werden, oder dass man Excel-Tabellen über Landesgrenzen hinweg nutzen kann.

Denn das deutsche Excel sprach nur deutsches VBA, das englische nur englisch …

Zum Glück war der Spuk mit Office 97 wieder vorbei, aber der Schaden war bereits angerichtet:
Tatsächlich war es einer meiner ersten Jobs (als Praktikant) eine Tabelle aus Office 95 auf Office 97 mit VBA Makros zum Laufen zu bekommen.

Theoretisch gab es eine Konvertierungsfunktion in Office … die wie immer bei solchen Konstellationen nur einen Teil richtig übersetzte.


Ich hätte ja gerne mal eine lateinische Programmiersprache gesehen, wo IFs entfallen, weil man Verzweigungen über Endungen der Kommandos unterscheiden kann.

 1nihil augere(ref numerus a)
 2{
 3  a = a + 1;
 4}
 5
 6nihil aliguid_facere()
 7{
 8  ...
 9}
10
11...
12
13numerus x = 1;
14numerus y = 10;
15
16repete si(x < y)
17{
18  aliquid_fac();
19  auge(x);
20  augeat(y) si((x % 2) == 0);
21}

“Vergrößern” lautet im Infinitiv auf augere, und definiert die Funktion. Als unausweichliches Kommando, dient der Imperativ: “auge”. Will man die Funktion aber nur ausführen, wenn eine Bedingung erfüllt ist, kommt der Konjunktiv augeat zum Zuge, gefolgt von der Bedinung.

Leider kam es nie zu einer Referenzimplementierung dieser Idee.
… vielleicht sollte ich den Entwurf an Microsoft senden …


Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!

Meine Dokus über:
 
Externe Links zu: