Codierung in anderen (gesprochenen) Sprachen


105

Das habe ich mich immer gefragt, und ich kann es online nirgendwo erwähnen. Wenn ein Geschäft aus beispielsweise Japan Code schreibt, kann ich ihn dann auf Englisch lesen? Oder haben Sprachen wie C, PHP oder andere japanische Übersetzungen, die sie schreiben?

Ich denke, was ich frage ist, ob jeder einzelne Codierer auf der Welt genug Englisch kann, um genau die gleichen reservierten Wörter zu verwenden, die ich tue?

Würde dieser Code:

If (i < size){
    switch
        case 1:
            print "hi there"
        default:
            print "no, thank you"
} else {
    print "yes, thank you"
}

Zeigen Sie genau das an, was ich gerade auf Englisch sehe, oder würde eine andere nicht englischsprachige Person die Wörter "if", "switch", "case", "default", "print" und " sonst "in ihrer Muttersprache?

EDIT - ja, das ist ernst. Ich wusste nicht, ob verschiedene Lokalisierungen einer Sprache unterschiedliche Schlüsselwörter haben. oder wenn es überhaupt unterschiedliche Lokalisierungen gibt.


3
Folgerungsfrage: Gibt es Mainstream-Sprachen, deren Schlüsselwörter nicht auf Englisch sind (selbst wenn die Sprache ursprünglich an einem Ort erfunden wurde, an dem Englisch keine Muttersprache ist)?
Jon Schneider

Diese Frage erinnert mich an ein Gespräch, das ich einmal mit einem (Ausländer) geführt habe, der dachte, Gottes Hauptsprache sei Englisch, daher sollten andere Menschen es lernen, damit ihre Gebete verstanden werden können. (Ich will trotzdem nicht unhöflich sein, interessante Frage)
Wallyqs

Und ich dachte, Gott sei allmächtig!
Autodidact

Gott kennt nur eine Sprache. Es ist ein obskurer Dialekt eines inzwischen ausgestorbenen mesopotamischen Dorfes. Deshalb beantwortet er Ihre Gebete nicht und warum passieren guten Menschen schlechte Dinge (er wird nur so verwirrt).
Anthony

1
Oh, und jetzt, wo ich einige der Antworten gelesen habe ... Gute Frage. Ich habe immer angenommen, dass es lokalisierte Versionen von Computercode gibt, aber wenn ich darüber nachdenke, wären bestimmte Konventionen ein Albtraum (von rechts nach links oder vertikal ausgerichtet) und andere nur schwer zu berücksichtigen (insbesondere: Zeilen) in PHP mit einem Semikolon beenden. Dies basiert auf dem westlichen Brauch, vollständige Klauseln mit einem Semikolon zu beenden. Stellen Sie sich vor, Sie versuchen, für Interpunktionsbräuche zu lokalisieren. Vielleicht haben Sie sogar die coole spanische Leitmarke.
Anthony

Antworten:


159

Wenn ich es gut verstanden habe, lautet die Frage tatsächlich: "Kennt jeder einzelne Codierer auf der Welt genug Englisch, um genau die gleichen reservierten Wörter wie ich zu verwenden?"

Naja .. Englisch ist hier nicht das Thema, aber programmiersprachenreservierte Wörter. Ich meine, als ich vor ungefähr 10 Jahren anfing, hatte ich keine Ahnung von Englisch, und trotzdem konnte ich einfache Dinge programmieren, indem ich die Programmiersprache lernte, selbst wenn ich nicht wusste, was sie bedeuteten (auf Englisch). Tatsächlich hat mir das geholfen, Englisch zu lernen.

Beispielsweise. Ich weiß, dass ich eine "iteración" machen muss (Iteration natürlich), die ich schreiben musste:

 for( i = 0 ; i < 100 ; i++ ) {}

Für mich das "für", das ";" und das "++", wo einfache Fremdwörter oder Symbole. Später erfahre ich, dass "für" "para" und "während" "mientras" usw. bedeutete, aber in der Zwischenzeit musste ich kein Englisch, aber in meinem Fall musste ich "C" wissen.

Wenn ich mehr lernen musste, musste ich natürlich Englisch lernen, da die Dokumentation in dieser Sprache verfasst ist.

Die Antwort lautet also: Nein, ich sehe nicht, ob, für usw. in meiner Muttersprache. Ich sehe sie auf Englisch, aber sie bedeuteten mir nichts anderes, was sie wiederum für die Programmiersprache bedeuteten.

Ist wie switch-Anweisung in bash: case .. esac. Was ist "esac" ... für mich das Ende der switch-Anweisung in bash.

Ich denke, das nennen wir "Abstraktion".


10
Übrigens ist 'esac' nur rückwärts. Ich konnte nicht sagen, ob Sie vorgaben, nicht zu wissen, ob Sie einen Punkt machen sollen oder nicht, aber ich konnte sehen, wie verwirrend das für nicht englischsprachige Personen wäre.
pbh101

9
Sicher, wie fi von if ist, aber irgendwann haben sie nur die Bedeutung "Sie beenden eine switch-Anweisung, indem Sie 'esac' schreiben" ... Sind sie nicht verwirrend oder nicht, aber sie bedeuten es nicht alles in Englisch. Aber sie haben eine Bedeutung in C oder Bash oder Pascal. Das ist der Punkt. Wir lernen die Programmiersprache.
OscarRyz

5
Beachten Sie, dass in Excel diese Makros in die Landessprache übersetzt werden und "if" in Französisch zu "si" wird, wodurch die Tools absolut unbrauchbar werden.
E-Satis

9
Sie würden immer die beste Antwort von einem nicht-englischen Muttersprachler erhalten. Ich bin Schottin und Englisch zu lernen war auch für mich schwierig ;-)
Davie

9
+1 Als ich anfing zu programmieren, wusste ich nicht einmal, wie man goto richtig ausspricht. Aber später, als ich erfuhr, was es bedeutete, grinste es mich an.
Hamish Grubijan

28

In der Java-Sprache müssen einige Methoden aufgrund der JavaBeans-Konvention (zumindest teilweise) in der englischen Sprache benannt werden.

Diese Konvention erfordert, dass eine Eigenschaft X über ein Paar von getX () - und setX () -Methoden eingerichtet wird. Hier in Französisch-Kanada, wo einige Entwickler verpflichtet sind, in französischer Sprache zu codieren, führt dies zu folgender Travestie:

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

9
Oh Cripes! Die Bürokratie gewinnt wieder! :(
AR.

3
Ja, in französischen Schulen bringen sie dir das so bei. Das ist so scheiße, dass die Schüler nie das verwenden, was sie im Unterricht getan haben, um in der realen Welt zu programmieren, und sich schnell selbst anlehnen, um es in einfachem Englisch zu schreiben.
E-Satis

An meiner Uni verwendeten einige Dozenten Finnisch im Beispielcode, und das Ergebnis war im Allgemeinen noch unangenehmer, selbst wenn ich ihre grundsätzlichen Gründe dafür verstand. Glücklicherweise ist "in der realen Welt" (zumindest im privaten Sektor) fast unbekannt. Englisch FTW (soweit es die Programmierung betrifft).
Jonik

2
@ Jonik: Zumindest musstest du dich nicht über ASCII / Extended Charset streiten. An einigen Stellen (hier) gab es eine große Debatte über die Benennung Ihrer Bezeichner a) auf Englisch, b) auf Tschechisch ohne Akzente, c) auf Tschechisch mit den Akzenten (die meisten können Sie ohne tschechisches Tastaturlayout nicht eingeben , wunderbar für die Wartbarkeit durch andere).
Piskvor verließ das Gebäude

@Piskvor, tatsächlich, wenn Sie finnische Namen verwenden, gibt es ein ähnliches Dilemma, ob Sie spezielle Zeichen (äöå) verwenden oder durch ein & o ersetzen sollen (und wenn Sie sie verwenden, treten wahrscheinlich Probleme mit Zeichensätzen auf). Aber ja, zum Glück musste ich seit mindestens 7 Jahren kein Finnisch mehr im Code verwenden. :)
Jonik

27

Ich habe Probleme, Referenzen zu finden, aber ich erinnere mich an drei Geschichten.

Ein Lisp-Hacker verteidigt bedeutungslose Funktionen wie "cdr" und "car", indem er sie mit der Programmierung in Ihrer nicht-muttersprachlichen Sprache vergleicht: http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg01171. html

Als Yukihiro Matsumoto ("Matz") mit der Entwicklung von Ruby begann, verwendete er englische Schlüsselwörter , obwohl er die gesamte Dokumentation auf Japanisch schrieb! . Es gab ein paar Jahre lang keine englische Dokumentation für Ruby und nur sehr wenige Amerikaner, die diese Sprache verwendeten. Aber jetzt ist es eine Weltklasse-Sprache, und die Tatsache, dass sie in Japan geboren wurde, ist nur von historischem Interesse. Wenn die Sprache Schlüsselwörter in Hiragana verwendet hätte, wäre es viel schwieriger gewesen, an Popularität zu gewinnen.

Ich habe einmal einen Aufsatz gelesen - vielleicht kann ihn jemand anderes finden, Google ist heute keine Hilfe -, der darauf hinwies, dass die Übersetzung von Schlüsselwörtern falsch war, weil die Wörter nicht wirklich englisch sind - sie sind Jargon. Nicht nur (um die obigen Beispiele zu verwenden) para und pour haben nicht ganz die genaue Bedeutung, die für Englisch hat, für Nicht-Programmierer ist der Ausdruck "for loop" jibberisch. Auch Amerikaner müssen eine neue Bedeutung lernen. Die oberflächliche Bedeutung der Wörter in eine andere Sprache zu übersetzen bedeutet also eher, ein sprachübergreifendes Wortspiel zu machen, als tatsächlich hilfreich zu sein.


25

Ich habe vorher wirklich nicht zu viel über das Programmieren auf Japanisch nachgedacht, aber jetzt geht es los, indem wir das Codebeispiel der Frage verwenden.

Verwenden Sie nur die Sprachanweisungen auf Japanisch mit den Variablen auf Englisch:

// In Japanese, it makes more sense to put the keywords/modifiers as
// postfix expressions rather than prefix expressions.
(i < size)か {
     (l[i])は {
     1だ:
         「もしもし。」を書く;
     省略時値:
         「いいえ、いいですよ。」を書く;
     }
} ない {
     「はい、ありがとうございます。」を書く;
}

Die Punktkommas zu (;) Ich denke .. = D
José Leal

1
Eigentlich dachte ich, wenn Sie in der Lage wären, auf Japanisch zu codieren, könnten Sie Dinge wie → 定 問 上 下 special als spezielle Wörter verwenden. Können Sie sich ein Lisp auf Japanisch vorstellen? ((Rember (→ (a lat) (問 ((空? lat) (引用 ())) (又 ...
wallyqs

1
Wenn Sie in Postfix schreiben wollen, können Sie es auch zu einem Forth-Dialekt machen, ね? :-)
Ken

Wird dies überhaupt kompiliert? : \
NoobEditor

13

Wie viele Leute bereits betont haben, müssen Sie in den meisten Programmiersprachen nur ein paar Schlüsselwörter lernen, sodass es nicht so wichtig ist, ob sie auf Englisch (oder einer anderen Sprache als Ihrer) sind. Es ist nur ein Symbol, das Sie mit einem Konstrukt verknüpfen. Zum Beispiel haben Sie in VB "THEN", was in vielen Sprachen im C-Stil "{" wäre und keinen großen Unterschied in der Lesbarkeit macht (zumindest sehe ich das so, wenn ich kein Englisch bin) Muttersprachler).

Aber wo es manchmal haarig werden kann und wo die Wahl der (natürlichen) Sprache wichtig ist, liegt die Benennung von Bezeichnern. Wenn die Namen von Variablen, Funktionen, Klassen usw. aufgrund einer Sprachbarriere keinen aussagekräftigen Namen für Sie haben, kann es ziemlich schwierig sein, selbst dem einfachsten Code zu folgen.

Ich erinnere mich, dass mir jemand einmal einen kurzen Ausschnitt aus Actionscript aus einem Blog gegeben hat. Die Namen waren auf Deutsch und da ich kein Wort dieser Sprache spreche, hätte das Zeug auch var_123, var_562 oder func_333 heißen können (und wahrscheinlich wäre es für mich einfacher gewesen, mich an die Namen zu erinnern oder zumindest eine zu haben Chance, sie richtig zu schreiben, ohne sie zu kopieren und einzufügen). Da dies ein kurzer, in sich geschlossener Ausschnitt war, benutzte ich einen Online-Übersetzer, um diesen Variablen und Funktionen in meiner Muttersprache (Spanisch) aussagekräftige Namen zu geben, und danach war alles klar. Der Punkt ist, dass der Code eigentlich einfach war, aber ich konnte ihn nur ohne allzu großen (unnötigen) zusätzlichen Aufwand verstehen, als ich die Sprachbarriere überwunden hatte.

Seitdem habe ich auf Englisch umgestellt, um Bezeichner zu benennen. Ob Sie es mögen oder nicht, es ist das "Koine" für Programmierung, Engineering und allgemein technische Dinge. Die meisten APIs sind in Englisch geschrieben, ebenso die meisten Dokumentationen (und wahrscheinlich sind die besten Ressourcen, die Sie finden können, auch in Englisch). Abgesehen davon hält es Ihren Code kohärenter mit dem Code, mit dem Sie wahrscheinlich interagieren, und ich denke, dass er kompakter und prägnanter ist als andere Sprachen wie Spanisch (was sonst meine natürliche Wahl wäre).

Wenn Sie nicht mindestens ein bisschen Englisch verstehen, bleibt das Problem natürlich das gleiche, daher ist es keine perfekte Lösung. Angesichts einer Reihe von Entwicklern aus vielen verschiedenen Ländern besteht jedoch die Möglichkeit, dass die gemeinsame Sprache für die Kommunikation (über Code und natürlich andere Mittel) Englisch ist. Daher ist die Wahl von Englisch vielleicht die beste Option, auch wenn dies nicht die perfekte Lösung für dieses Problem wäre.


Ja. Ein kleines Problem dabei ist, wenn der Codierer nicht weiß, wie man englische Vars-Namen richtig schreibt. Das Schlimmste, was ich gesehen habe, ist "String EmployiNeim", hehe (nahh, nur ein Scherz), aber ich habe schon früher Dinge gesehen, die dem sehr nahe kommen.
OscarRyz

Für einen nicht-englischen Muttersprachler beherrschen Sie die Sprache überraschend gut. Herzlichen Glückwunsch, Englisch ist ein sehr seltsames Tier, selbst für uns Muttersprachler.
Nicholas Flynt

10

Die Programmiersprache definiert Schlüsselwörter und Standardklassennamen, und es wird empfohlen, benutzerdefinierte Typen, Variablen und Funktionen auch mit englischen Namen zu versehen (als Nicht-Muttersprachler kann ich das sagen ;-).

Also ja, wenn alles in Ordnung ist, können Sie den Code lesen.

Sprachen wie Java und Perl erlauben jedoch den vollständigen Unicode-Satz für Bezeichner. Wenn also jemand seine Klassennamen in Kanji schreibt, haben Sie wahrscheinlich ein Problem.

Update: Für Perl gibt es ein Witzmodul , mit dem Sie Perl in Latein schreiben können. Aber es ist wirklich nur das, ein Witz. Niemand nimmt solche Dinge ernst.

Zweites Update: Die Idee lokalisierter Programmiersprachen ist nicht so lächerlich. Die Makrosprache von Excel ist lokalisiert, aber zum Glück ist sie in einer kanonischen Sprache (Englisch) in der Datei gespeichert, sodass die Lokalisierung nur eine Ebene über dem Normalen liegt. Solche Dinge sind nur für kleine "Programme" sinnvoll, für "echte" Programme wird es schwierig, sie zu warten.


7

Tatsächlich gibt es einige nicht auf Englisch basierende Programmiersprachen (Wikipedia)

Ich bin Norweger, aber ich habe immer Englisch für den gesamten Code verwendet, außer für die Ausgabe (ohne dummen Code aus der Schule). Eigentlich schreibe ich normalerweise alles auf Englisch und übersetze es dann mit gettext (oder so) in meine Muttersprache.


6

Ich bin Brite und ein Problem, auf das wir oft stoßen, ist der amerikanische / britische Rechtschreibkonflikt. Dies tritt häufig bei programmierbezogenen Begriffen wie Initialisieren () oder Initialisieren (), Analysieren () oder Analysieren () usw. auf. Dies kann (hat) zu Problemen beim Versuch führen, Methoden zu überschreiben, und ist manchmal schwer zu erkennen.

Da das Framework (in unserem Fall C #) von Amerikanern entworfen wurde, haben wir festgestellt, dass es am besten ist, konsistent zu sein und amerikanische Schreibweisen zu verwenden. Wir übernehmen sogar Farbe.

Wir haben eine Mischung von Nationalitäten in unseren Entwicklungsteams und die meisten Nicht-Briten tendieren natürlich zu amerikanischen Schreibweisen.


4

AppleScript war einst in französischen und japanischen Dialekten verfügbar. Ich weiß nicht, warum es zurückgezogen wurde.


Wahrscheinlich, weil es in einer Internet-Ära schwierig war, Code zu teilen ... VBA wurde ebenfalls übersetzt. Schlechte Idee.
PhiLho

4

Wie wäre es, Symbole ersetzen zu können?

Nachdem ich Sprachen wie Brainf ** k und Whitespace gesehen hatte, dachte ich daran, eine Sprache wie diese zu erstellen: Sie wäre identisch mit C, außer dass Sie schließende Klammern zum Öffnen verwenden, öffnende Klammern zum Schließen verwenden und die Bedeutungen von + und -, * und / austauschen ,; und:,> und <usw.

Das Konzept ist nichts weiter als ein spielerisch veränderter C-Compiler. Wenn Sie jedoch Schlüsselwörter anders denken, müssen Sie einige Grundannahmen überdenken, wenn Sie noch nie an solche Dinge gedacht haben. Ex:

int foo)int i, char c( }
    int six = 2 / 3:
    int two = six + 4:
    if )i > 0( }
        printf)"i is negative"(:
    {
{

2
Hey, ich mag diesen Smiley.
Aib

4

Ich bin in einem französischen Team, das ein Softwaresystem in C # entwickelt. Trotz der Tatsache, dass die Schlüsselwörter der Programmiersprache angeblich Englisch sind, kann ich mir vorstellen, dass Sie große Schwierigkeiten haben würden, den Code zu lesen, da alle Funktionsnamen, Variablen, Codekommentare, Datenbanktabellen und -spalten, technischen Spezifikationen, Protokolle usw. enthalten sind Französisch, einschließlich der schönen Akzentzeichen ç, é, è, ù usw. Ich bin mir nicht einmal sicher, ob das System aufgrund von Lokalisierungsfehlern überhaupt anderswo ausgeführt werden würde, z. B. wenn das Komma als Standard-Dezimaltrennzeichen verwendet wird.

Ansonsten ist WinDev eine beliebte Programmierplattform in Frankreich und seine Programmiersprache WLanguage enthält Schlüsselwörter in Französisch oder Englisch. Siehe Beispiel hier: Linktext


resharper fängt jeden länderspezifischen Mist auf :) Verwenden Sie den 1-Monats-Test, um Ihre Codebasis zu bereinigen.
v.oddou

4

Die einzige Sprache, die ich lokalisiert sah, ist Excel mit seinen Makros. Wenn Sie versuchen, eine Spalte mit einer italienischen Version von Office zu summieren, müssen Sie schreiben SOMMA(A1:A10)und nicht SUM. Das ist eine Schande.

Übrigens, nur weil es Spaß macht, sollte Ihr Code mit italienischen Schlüsselwörtern folgendermaßen aussehen:

se (i < size){
    commuta
        caso 1:
            stampa "hi there"
        normalmente:
            stampa "no, thank you"
} altrimenti {
    stampa "yes, thank you"
}

3

Ich habe gesehen, wie VBA in spanisch-ähnliche Befehle übersetzt wurde. Es ist eines der hässlichsten Dinge, die jemals gesehen wurden. Ich würde mich schämen, so etwas auf meinem Computer zu haben.

PD: Ich denke zufällig, dass Spanisch eine viel schönere Sprache ist als Englisch. aber übersetzen ist FALSCH


Ich weiß nicht, ob dies bei neueren MS-Office-Versionen immer noch der Fall ist, aber die älteren konnten keine Skripte ausführen, die für eine andere Lokalisierung geschrieben wurden.
EricSchaefer

1
Die einzige Art und Weise , dass Englisch ist „besser“ als Spanisch ist , dass Englisch eine größere Vokabular hat, so dass es in einem wenig kürzer zu schreiben , das ich Englisch als zweite Sprache zu lernen , würde es hassen. Spanisch ist viel logischer!
Chip Uni

Spanisch hat (wie die meisten Sprachen) einen weitaus größeren Wortschatz als Englisch; aber Englisch macht es einfach, neue Wörter zu erfinden und trotzdem verstanden zu werden. Das macht es sehr prägnant und einfach in technischen Fragen zu verwenden. Englisch ist auch viel zwingender und bevorzugt einfache Sätze (wenn überhaupt, um Mehrdeutigkeiten zu vermeiden), vielleicht macht es das für die prozedurale Programmierung „natürlicher“. Beachten Sie auch, dass ich niemals sagen würde, dass Englisch "besser" ist als jede andere Sprache. BASIC basiert jedoch auf Englisch, was zu einem unlesbaren Durcheinander führt.
Javier

"Spanisch (wie die meisten Sprachen) hat einen weitaus größeren Wortschatz als Englisch": nicht wahr. Englisch ist bekannt dafür, mehr Wörter als jede andere Sprache zu haben, ungefähr 250.000 gegenüber 100.000 für Spanisch
Luigi Plinge

Eine der Lektionen hier ist rein kommerziell; Sie können die Unterstützung für Lokalisierungen in Sprachen, in denen die VBE-Programmiergemeinschaft wahrscheinlich weniger als 1.000 Personen weltweit umfasst, nicht aufrechterhalten. Microsoft tat dies in den 1990er Jahren und zog sich dann schnell zurück. Einige der Lektionen werden auf viel größere Gemeinschaften wie Spanisch übertragen. Zum einen können Sie Ihr Skript nicht für Personen freigeben, die nicht dieselbe lokalisierte Version der Sprache haben.
Tripleee

3

Nun, wie andere betonten, würden die Schlüsselwörter und Systemaufrufe wahrscheinlich auf Englisch bleiben.

Das Verständnis der Schlüsselwörter der Sprache ist jedoch nur ein kleiner Teil des Verständnisses des Codes. Variablennamen, Funktionsnamen und Kommentare können in der Muttersprache des Autors verfasst sein.

Bearbeiten : Ich habe gerade einen Rückblick auf meine Jugend gegeben, als ich in den Mapping-Tabellen meines integrierten TRS-80-BASIC die Schlüsselwörter auf Französisch umstellte. Ich konnte alle Schlüsselwörter ändern, aber keines größer machen. Gemacht für lustige Programme.


Tatsächlich. "Wir werden nur [lokale Sprache einfügen] für alles verwenden, von Variablennamen bis zu Kommentaren - es ist nur eine winzige App, wer würde sie ändern?" Einige Jahre später, anderswo: "Ja, es gibt Kommentare. Wenn ich nur wüsste, was '// Meg tudom enni az üveget, nem árt nekem' bedeutet ..." (lang geändert zur Betonung)
Piskvor verließ das Gebäude

Ich erinnere mich, dass im College jemand in DOS gegangen war und einige der Befehle und Nachrichten so geändert hatte, dass sie obszön waren, und es funktionierte immer noch
JoelFan

3

Mach dich nicht darüber lustig. Vor einigen Jahren hatte Microsoft G # (German Sharp) - C # mit deutschen Schlüsselwörtern und API angekündigt. Natürlich war es ein Aprilscherz, aber die gesamte Website darüber sah so real und professionell aus (und war auf microsoft.com). Unheimlich.

Bei der Arbeit verwenden wir zwei Feldbussysteme, die beide im deutschsprachigen Raum entwickelt wurden und eine beängstigende Mischung aus Deutsch und Englisch für Identifikatoren aufweisen, darunter einige nette falsche Freunde. Es ist ein Chaos.

Nein, englische Schlüsselwörter und Bezeichner sind in Ordnung. Obwohl einige argumentieren könnten, ob es Farbe oder Farbe sein sollte :)


3

In mehreren VBA-Projekten, an denen ich gearbeitet habe (ja, sehr früh in meiner Karriere), mussten wir die Office-Version erkennen, die auf dem Computer des Benutzers installiert war, und die in den Speradrammen verwendeten Formeln entsprechend ändern.

Da ich auf Portugiesisch programmiere, müsste "SUM" in "SOMA" übersetzt werden und so weiter und so fort. Ich kann mir einfach nicht vorstellen, wie viel Arbeit nötig ist, um dies in mehreren Sprachen zu erreichen. Hat noch jemand unter diesem Problem gelitten?


3

Es gibt einige Sprachen, die Schlüsselwörter übersetzt haben. Zum Beispiel Excel-Formeln. Wenn Sie einige Berechnungen in eine Tabelle schreiben, erfolgt dies in Ihrer Sprache.

Glücklicherweise ist dies keine allgemeine Praxis, und selbst nicht englischsprachige Personen wie ich danken Gott sei Dank, dass es eine Standardsprache für Schlüsselwörter gibt:

  • Es ist einfacher, Ihre Arbeit zu teilen.
  • Es verhindert, dass die Dokumentation zu einem größeren Albtraum wird, als es bereits ist.
  • Englische Wörter und Sätze sind normalerweise kurz und syntaktisch pragmatisch. In der Literatur sind lateinische Sprachen viel schöner, aber für technische Dinge sind englische Felsen.

Und wo soll ich aufhören? Können Sie sich ein C in Altgriechisch vorstellen?

Schlüsselwörter müssen in einer Sprache bleiben, und nun, es begann mit Englisch, lass es so bleiben. Dies hätte am schlimmsten sein können (asiatische Sprache?). Und so müssen wir Methoden und Kommentare auf Englisch schreiben. Ok, mehr Arbeit für uns, aber zumindest die internationale Codebasis bleibt kongruent.

Es gibt jedoch einen Fall, in dem die Verwendung von Methodennamen und Kommentaren in Muttersprachen eine gute Praxis sein kann: im Land der Dritten Welt. Ich gehe in einigen Monaten nach Senegal, um ein Django-Projekt zu leiten. Senegal hat eine enorme Analphabetisierungsrate, und deshalb ist es schon großartig, dass sie Energie in die Verbesserung ihrer Programmierkenntnisse stecken. Französisch ist hier die Muttersprache, daher wäre es ineffizient, sie zu zwingen, gleichzeitig Computer und eine neue Sprache zu lernen.

Übrigens, das wäre Ihr Code mit französischen Schlüsselwörtern:

Si (i < taille) {
    cas par cas :
        cas 1:
            afficher "salut"
        défaut:
            afficher "non merci"
} sinon {
    afficher "oui, merci"
}

Nicht dass die Übersetzung der Schlüsselwörter nichts mit der Übersetzung der Zeichenfolgen zu tun hätte. Natürlich haben wir "Hallo, da" in unsere Sprache übersetzt. Europäische Programmierer verwenden I18N sogar viel häufiger als amerikanische, da ihr Dienst ein breiteres Publikum erreichen kann.


2

Im Allgemeinen passen sich die meisten Programmierer der englischen Form an. Ich habe das Programmieren gelernt, als ich 7 Jahre alt war und nur Hebräisch (von rechts nach links) und ohne Englisch gesprochen habe, was es zu einer faszinierenden Erfahrung gemacht hat.

Das Problem, das normalerweise auftritt, ist die Dokumentation, Variablen und Funktionsnamen. Ich habe meinen Anteil an Variablen in anderen Sprachen mit englischem Alphabet gesehen.

Die einzige Sprache, mit der ich vertraut bin und die tatsächlich übersetzt wurde, war das gute alte Logo (bis heute erstaunlich).


Shalom Uri, Es gibt auch die hebräische Programmiersprache (HPL) auf Sourceforge. Wie LOGO richtet es sich an junge Computerbenutzer.
TonJ

2

Als ich ein Kind war, gingen wir nach Frankreich und in ein Museum, in das wir gingen, erinnere ich mich, dass ich ein Display gefunden habe, das Ihnen zeigte, wie man Computerprogramme schreibt. Die Sprache war eine Art BASIC-Variante, und ich erinnere mich noch genau daran, wie POUR anstelle von FOR verwendet wurde, und so weiter. Ich war 7 Jahre alt und hatte gerade erst BASIC gelernt, und es schien mir völlig natürlich, dass die Franzosen ihren eigenen Dialekt wie diesen haben würden !!

Ich denke, es könnte LSE gewesen sein , das ich gesehen habe?


2

Die Skriptsprache von Filemaker ist lokalisiert. Die Skripte (und Daten!) Werden in einer schrecklichen "sorta kanonischen" Form gespeichert.

Wenn Sie also ein Skript in der amerikanischen Version schreiben und es dann in der französischen Version öffnen, werden alle Schlüsselwörter und integrierten Funktionsnamen in Französisch angezeigt. Aber warum läuft es nicht?! Aha! Die französische Version verwendet "," als Dezimalpunkt, und um Mehrdeutigkeiten zu vermeiden, wird ";" Funktionsargumente zu trennen - wo die amerikanische Version "." verwendet. bzw. ",". Diese Konvertierung müssen Sie selbst vornehmen.

Sie arbeiten also über die unglaublich schlechte Skriptbearbeitungsoberfläche (Sie können keine Skripte als Textdateien schreiben), um all diese Probleme zu beheben. Es läuft! Toll! Die Ergebnisse sind alle falsch! Ach nein! Aha! Das Datum vom 7. Januar 2004, das Sie in der amerikanischen Version eingegeben haben, wird als Juli bis 1-2004 interpretiert. Anscheinend werden Daten nicht nur angezeigt, sondern in der vom Gebietsschema abhängigen Reihenfolge gespeichert . Ich scherzend Sie ? Nein.

[Hinweis: Filemaker 8 und 9 sind möglicherweise vernünftig - ich habe immer nur mit 3 - 7 gearbeitet.]


Autsch! Klingt so, als ob Sie dies auf thedailywtf.com
André

2

Ihre Frage ist in Bezug auf Perl interessant, da die Syntax der (englischen) natürlichen Sprache folgt. Ich frage mich, ob das es für nicht englischsprachige Personen schwieriger macht ...

Natürlich weigern sich Perl und Perlers, nach herkömmlichen Regeln zu spielen. Der verrückte Wissenschaftler Damian Conway hat das Lingua :: Romana :: Perligata- Modul geschrieben, das die schwarze Magie von Quellfiltern verwendet, damit Sie Perl in Latein schreiben können!


Das glaube ich nicht. Die Sonde ist, dass Sie, obwohl Sie Englisch sprechen, nicht sagen können, während (cond) jump_to: label ... zu Perl. Ich meine, wie ein Goto oder so.
OscarRyz

Die meisten von Perls 'natürlicher Sprache wie' Redewendungen wie "open () oder die ()" sind für mich als deutscher Sprecher ganz natürlich. Ich denke, Englisch und Deutsch sind ähnlich genug
Bjelli

2

Hier in Australien müssen wir noch Farbe wie Farbe buchstabieren . Ich finde es jedoch ärgerlich, wenn andere (australische) Entwickler, die an einem australischen Projekt arbeiten, entscheiden, dass interne Variablennamen auf amerikanische Weise geschrieben werden müssen.


1

Es wäre sinnlos, IMHO, eine Sprache i18n Syntax . Es würde einfach jede Art von Portabilität zerstören.

Die einzige Ausnahme bilden Bildungssprachen wie LOGO. Sie wurden entwickelt, um das Lernen zu erleichtern, sodass Portabilität kein Problem darstellt.


1
Wenn Sie ein größeres Publikum haben, z. B. Personen, die Formeln in Excel aufschreiben oder kleine Effekte für ihre Präsentation erstellen, müssen Sie in Betracht ziehen, i18n für "reservierte" Wörter zu implementieren ...
rshimoda

1

Ich habe viel Code gelesen, aber das Problem liegt immer bei Variablen- / Methodennamen und Kommentaren. Wenn sie ihren Code in ihrer eigenen Sprache mit speziellen Sprachzeichen wie Japanisch oder Kyrillisch kommentieren, sind wir in Schwierigkeiten! Aber die Schlüsselwörter, von denen ich denke, dass sie so wie sie sind auf Englisch bleiben.


1

auf Italienisch

se (i < dimensione){
    scegli
        caso 1:
            stampa "ciao"
        mancante:
            stampa "no, grazie"
} altrimenti {
    stampa "sì, grazie"
}

Um die Sorgen eines früheren Posters zu bestätigen, habe ich einen Fortran-Code mit einem Makro-Include gesehen, der alle Schlüsselwörter vom Englischen ins Französische übersetzt. Gestatten Sie mir, nicht weiterzumachen.

Ich musste auch mit einem Code arbeiten, der gleichzeitig Bezeichner in Italienisch, Deutsch, Englisch und Französisch enthielt, nicht nur, weil er an vielen verschiedenen Orten entwickelt wurde, sondern auch, weil der Hauptentwickler es für Spaß hielt und ihm half, Bezeichnernamen nicht zu duplizieren ( natürlich mit einer Routine von 2000 Zeilen lang ....)


0

Ich denke, WordBasic wurde lokalisiert. WordBasic wurde verwendet, um Makros für in Word zu schreiben, bevor VBA verwendet wurde.

Wenn ich mich richtig erinnere, würde nur WordBasic, das in der englischen Version geschrieben wurde, auf allen lokalisierten Versionen ausgeführt. Wenn Sie eine niederländische Version schreiben würden, könnten Sie sie nur für ein niederländisches Wort ausführen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.