Frage

Das ist etwas, was ich immer gefragt haben, und ich kann nicht jede Erwähnung es überall online finden. Wenn ein Geschäft aus, sagt Japan, Code schreibt, würde ich in der Lage sein, es in Englisch zu lesen? Oder Sprachen wie C, PHP, etwas, haben japanische Übersetzungen, die sie schreiben?

Ich denke, was ich fragen, ist tut jeder einzelne Codierer in der Welt wissen genug Englisch exakt die gleichen reservierten Wörter zu verwenden, die ich tun?

Möchten Sie diesen Code:

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

Anzeige genau das gleiche wie ich es jetzt in Englisch bin zu sehen, oder würden einige andere nicht-englischsprachigen Person sehen, die Worte „wenn“, „Switch“, „case“, „default“, „print“ und "else" in ihrer Muttersprache?

EDIT - ja, das ist ernst. Ich wusste nicht, ob andere Lokalisierungen von einer anderen Sprache als Schlüsselwörter haben. oder wenn es sogar unterschiedliche Lokalisierungen überhaupt.

War es hilfreich?

Lösung

Wenn ich gut verstanden, die Frage ist eigentlich: „nicht jeder einzelne Codierer in der Welt wissen genug Englisch exakt die gleichen reservierten Wörter zu verwenden, wie ich tun?“

Nun .. Englisch ist nicht das Thema hier aber Programmiersprache reservierte Worte. Ich meine, als ich begann vor etwa 10 Jahren, habe ich keine Ahnung von Englisch hatte, und noch war ich in der Lage einfache Dinge zu programmieren, indem die Programmiersprache zu lernen, auch wenn ich nicht wusste, was sie (in englischer Sprache) gemeint. Wie in der Tat dazu beigetragen, das mir Englisch zu lernen.

Zum Beispiel. Ich kenne eine „iteración“ (Iteration natürlich) zu tun, musste ich schreiben:

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

Für mich ist die „für“, die „;“ und die „++“, wo einfach Fremdwörter oder Symbole. Später erfahre ich, dass „für“ bedeuten „para“ und „während“ gemeint „mientras“ etc., aber in der Zwischenzeit habe ich nicht Englisch wissen müssen, aber in meinem Fall, was ich brauchte wissen sollte „C“.

Natürlich, wenn ich brauchte mehr Dinge zu lernen, hatte ich Englisch zu lernen, für die Dokumentation in dieser Sprache geschrieben wird.

So lautet die Antwort: Nein, ich sehe nicht, wenn, während für usw. in meiner Muttersprache. Ich sehe sie in Englisch, aber sie wollte nicht eine andere Sache zu mir, dass sie für die Programmiersprache wiederum bedeutete.

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

Ich denke, das ist, was wir „Abstraktion“ nennen

Andere Tipps

Ich habe Probleme Referenzen zu finden, aber ich bin von drei Geschichten erinnert.

Ein Lisp Hacker verteidigt sinnlose Funktionen wie „cdr“ und „Auto“, indem sie auf der Programmierung in der Nicht-Muttersprache zu vergleichen: http://people.csail.mit.edu/gregs /ll1-discuss-archive-html/msg01171.html

Wenn Yukihiro Matsumoto ( "Matz") begann Ruby-Entwicklung verwendete er Englisch keywords , obwohl er in der japanischen alle Unterlagen schreibt! . Es gab keine englische Dokumentation für Ruby für ein paar Jahre, und nur sehr wenige Amerikaner der Sprache. Aber jetzt ist es eine Weltklasse-Sprache, und es die Tatsache, dass es in Japan geboren wurde, ist nur noch von historischem Interesse. Wenn die Sprache gewesen war Schlüsselwörter in Hiragana verwenden, wäre es eine viel schwierigere Zeit an Popularität gewinnt gehabt hat.

ich einen Aufsatz einmal gelesen - vielleicht jemand anderes es finden kann, ist Google heute keine Hilfe - das schlug vor, dass die Übersetzung Keywords war fehlgeleitet, weil die Worte nicht wirklich English-- sind sie sind Jargon. Nicht nur, dass (verwenden, um die Beispiele oben) para und gießt nicht ganz hat die genaue Bedeutung, dass für hat in Englisch, zu Nicht-Programmierer der Ausdruck „for-Schleife“ ist jibberish. Auch müssen die Amerikaner eine neue Bedeutung erfahren. So übersetzt die oberflächliche Bedeutung der Worte in einer anderen Sprache ist mehr wie Herstellung einer Quer Sprache pun anstatt tatsächlich hilfreich sein.

In der Programmiersprache Java müssen einige Verfahren genannt werden (zumindest teilweise) wegen der Java Beans Konvention, die englische Sprache verwendet wird.

Diese Konvention verlangt, dass eine Eigenschaft X über ein Paar getX hergestellt werden () und setX () Methoden. Hier in Französisch-Kanada, wo einige Entwickler sind verpflichtet, in dem Französisch Sprache zu codieren, dies an folgenden Travestie führt:

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

Ich habe wirklich nicht gedacht, zu viel über die Programmierung in der japanischen vor, aber hier gehen wir, mit dem Codebeispiel Frage.

Mit nur die Sprachanweisungen in Japanisch mit den Variablen in englischer Sprache:

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

Wie viele Menschen bereits erwähnt, in den meisten Programmiersprachen Sie müssen nur ein paar Stichworte lernen, so spielt es keine Rolle, dass viel, wenn sie in Englisch ist (oder eine andere Sprache als sie, was das betrifft). Es ist nur ein Symbol, das Sie mit etwas Konstrukt verknüpfen. Zum Beispiel in VB haben Sie „dann“, die in vielen C-Stil Sprachen wären „{“ und es macht keinen großen Unterschied in der Lesbarkeit machen (na ja, zumindest das ist, wie ich es sehe, ein Non-Englisch sein Muttersprachler).

Aber wo Dinge können manchmal behaart, und wo die Wahl der (natürlichen) Sprache Angelegenheiten ist Identifikatoren bei der Benennung. Wenn die Namen von Variablen, Funktionen, Klassen, etc., hat nicht einen aussagekräftigen Namen für Sie, weil die Sprachbarriere, nach selbst den einfachsten Code kann ziemlich schwierig sein.

Ich erinnere mich jemand einmal gab mir einen kurzen Ausschnitt aus Actionscript von einem Blog gemacht. Die Namen waren in deutschen und da ich kein Wort dieser Sprache sprechen, Sachen gewesen sein könnten var_123, var_562 oder func_333 auch genannt (und wahrscheinlich wäre es einfacher gewesen, für mich, die Namen zu erinnern, oder zumindest einen haben, Chance, sie Recht, ohne das Kopieren und Einfügen Rechtschreibung). Da dies ein kurzer war, in sich geschlossene Schnipsel, ich einen Online-Übersetzer diese Vars und Funktionen sinnvolle Namen in meiner Muttersprache (Spanisch) und danach zu vergeben, war alles klar. Der Punkt ist, dass der Code tatsächlich einfach war, aber ich konnte nur Sinn aus ihm heraus, ohne zu viel (unnötig) zusätzliche Anstrengungen unternehmen, um nur, wenn ich die Sprachbarriere überwunden haben.

Seitdem habe ich für die Benennung von Identifikatoren zu verwenden Englisch geschaltet. Ob Sie es mögen oder nicht, es ist die „Koine“ für die Programmierung, Technik und allgemein technischen Sachen. Die meisten der APIs sind in Englisch geschrieben und so ist die meisten Dokumentation (und wahrscheinlich die besten Ressourcen Sie sind auch in englischer Sprache finden können). Als schön beiseite, hält es Ihren Code im Einklang mit dem Code, den Sie wahrscheinlich sind, um die Interaktion mit, und ich denke, es ist kompakter und prägnante als andere Sprachen wie Spanisch zu sein scheint (was sonst wäre meine erste Wahl sein).

Natürlich, wenn Sie nicht zumindest ein wenig Englisch verstehen können, bleibt das Problem das gleiche, es ist also keine perfekte Lösung. Aber, da eine Reihe von Entwicklern aus vielen verschiedenen Ländern, sind die Chancen, dass die gemeinsame Sprache für sie (durch den Code und natürlich auch andere Mittel) zu kommunizieren Englisch. Also, die Wahl Englisch ist vielleicht die beste Option, auch wenn es nicht die perfekte Lösung für dieses Problem wäre.

Die Programmiersprache definieren Schlüsselwörter und Standardklassennamen, und es ist am beste Praxis benutzerdefinierte Typen, Variablen und Funktionen auch englische Namen (als Nicht-Muttersprachler ich sagen kann, -) zu geben.

Also ja, wenn alles gut ist, werden Sie in der Lage sein, den Code zu lesen.

Allerdings Sprachen wie Java und Perl des vollständigen Unicode-Satz für Bezeichner erlauben, so dass, wenn jemand seine Klassennamen in Kanji schreibt, werden Sie haben wahrscheinlich ein Problem.

Update: Für Perl gibt es eine Witz Modul das Ihnen erlaubt, Perl in lateinischer Sprache zu schreiben. Aber es ist wirklich nur, dass ein Witz. Niemand nutzt Dinge wie diese ernst.

Zweite Update: Die Idee der lokalisierten Programmiersprachen ist das nicht lächerlich. Excel-Makro-Sprache lokalisiert ist, aber zum Glück ist es in einer kanonischen Sprache (Englisch) in der Datei gespeichert, so dass die Lokalisierung ist nur eine Schicht auf der Oberseite der normalen Sache. Solche Dinge nur Sinn für kleine „Programme“, für „echte“ Programme machen es schwer zu halten wird.

Eigentlich gibt sind Nicht-Englisch-basierte Programmiersprachen (Wikipedia)

Ich bin Norwegian aber ich habe durchweg Englisch für alle Code außer Ausgabe verwendet (einige dumme Code aus der Schule zu ignorieren). Eigentlich in der Regel ich alles in Englisch schreiben und dann übersetzen es meine Muttersprache, mit gettext (oder etwas).

Ich bin Engländer und ein Problem, das wir oft in laufen ist der amerikanische / britische Rechtschreibung Zusammenstoß. Dies geschieht häufig mit der Programmierung verwandten Begriffen wie Initialise () oder initialisieren (), Analysieren () oder Analysieren () usw. Dies kann (hat) zu Problemen führen zu zwingenden Methoden versuchen, und ist manchmal schwer zu erkennen.

Da der Rahmen (in unserem Fall C #) von den Amerikanern entwickelt wurde, fanden wir, dass es am besten ist, konsequent zu sein und amerikanische Schreibweisen zu verwenden. Wir sogar Farbe annehmen.

Wir haben eine Mischung von Nationalitäten in unseren Entwicklungsteams und die meisten nicht-britische Menschen neigen dazu, in Richtung amerikanische Schreibweisen natürlich.

Apple war einmal in Französisch und Japanisch Dialekte zur Verfügung. Ich weiß nicht, warum es zurückgezogen wurde.

Ich habe VBA in spanisch-ähnlichen Befehle übersetzt gesehen. es ist eines der hässlichsten Dinge je gesehen. Ich würde mich schämen, so etwas wie dieses auf meinem Computer zu haben.

PD: Ich bin zufällig zu denken, dass Spanisch eine viel schönere Sprache als Englisch ist; aber übersetzen ist FALSCH

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

Doch der Sprache die Schlüsselwörter zu verstehen, ist nur ein kleiner Teil des Codes zu verstehen. Variablennamen, Funktionsnamen und Kommentare alle Risiko in der Muttersprache des Autors zu sein.

Bearbeiten : Ich habe geflasht-zurück zu meiner Jugend, wo ich in den Mapping-Tabellen meines TRS-80 ging eingebautes BASIC die Schlüsselwörter auf Französisch zu wechseln. Ich konnte alle Schlüsselwörter ändern, aber ich konnte nicht von ihnen größer. Hergestellt für lustige Programme.

Sie nicht Spaß daraus machen. Vor einigen Jahren hatte Microsoft angekündigt, G # (Deutsch Sharp) - C # mit deutschen Keywords und API. Natürlich war es ein Aprilscherz, sondern die gesamte Seite über das sah so real und professionelle (und war auf microsoft.com). Scary.

Bei der Arbeit verwenden wir zwei Feldbussystemen entwickelt sowohl im deutschsprachigen Raum, die eine beängstigende Mischung aus Deutsch und Englisch für Bezeichner haben, darunter auch einige schöne falsche Freunde. Es ist ein Chaos.

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

In mehrere VBA Projekt, das ich gearbeitet habe (ja, sehr früh in meiner Karriere) hatten wir die Office-Version zu ermitteln, die auf dem Computer des Benutzers installiert wurden, und die Formeln in dem speradsheets verwendet entsprechend ändern.

Wie ich auf Portugiesisch „SUM“ programmieren würde in „SOMA“ übersetzt werden und so weiter und so fort. Ich kann einfach nicht die notwendige Arbeit vorstellen, das in mehreren Sprachen geschehen. Hat jemand mit diesem Problem gelitten?

Die einzige Sprache ich lokalisierte Säge ist Excel mit Makros. Wenn Sie versuchen, eine Spalte eine italienische Version von Office zusammenzufassen haben Sie SOMMA(A1:A10) und nicht SUM zu schreiben. Das ist eine Schande.

By the way, nur weil es Spaß macht, hier ist, wie Sie Ihren Code wie mit italienischen Keywords aussehen sollte:

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

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

Glücklicherweise ist dies nicht eine allgemeine Praxis, und auch nicht-englische Muttersprachler wie ich Gott danken, dass es eine Standardsprache für Keywords ist:

  • es ist einfacher zu teilen Sie arbeiten.
  • verhindert Dokumentation nicht zu einem größeren Alptraum, dass es ohnehin schon ist.
  • englische Wörter und Sätze sind in der Regel kurz und syntaktisch pragmatisch. In der Literatur sind lateinische Sprachen viel schöner, aber für technische Sachen, Englisch Felsen.

Und wo zu stoppen? Können Sie sich ein C in der antiken griechischen vorstellen?

Schlüsselwörter müssen in einer Sprache bleiben, und gut, es begann mit Englisch, lassen Sie es auch so bleiben. Dies könnte schlechteste (asiatische Sprache?) Hat. Und so müssen wir Methoden und Kommentare auf Englisch schreiben. Ok, mehr Arbeit für uns, aber zumindest die internationale Code-Basis bleibt deckungsgleich ist.

Es gibt jedoch einen Fall, in dem mit Muttersprache Methodennamen und Kommentare können eine gute Übung sein: in Drittweltland. Ich bin in ein paar Monaten nach Senegal geht ein Django-Projekt zu verwalten. Senegal haben eine riesige analphabetization Rate und dafür ist es schon toll, dass sie spead Energie in die Verbesserung der sie Programmierkenntnisse. Französisch ist die Muttersprache hier, so dass es ineffizient wäre, sie zu zwingen, Computing und eine neue Zunge zugleich zu lernen.

BTW, das wäre der Code mit Französisch Schlüsselwort sein:

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

Nicht, dass das Übersetzen der Schlüsselwörter haben nichts mit der Übersetzung der Strings zu tun. Natürlich haben wir „hallo, es“ in unserer Sprache übersetzt. Europäische Coder sogar dazu neigen, L18N viel mehr als amerikanischer sot nutzen, um ihren Service kann ein breiteres Publikum erreichen.

Im Allgemeinen die meisten Programmierer Anpassung an die englische Form. Ich habe gelernt, zu programmieren, als ich 7 Jahre alt war und nur sprach Hebräisch (die von rechts nach links) zur Verfügung und ohne Englisch, die es ganz eine faszinierende Erfahrung.

Das Problem würde Sie in der Regel erhalten, ist mit der Dokumentation, Variablen und Funktionsnamen. Ich habe meinen Anteil an Variablen in anderen Sprachen mit Englisch Alphabet gesehen.

Die einzige Sprache, die ich mit diesem eigentlich vertraut bin habe gute alte Logo übersetzt wurde (noch erstaunlich bis heute).

Als ich ein Kind war, dass wir nach Frankreich gingen, und in einem Museum gingen wir an, ich erinnere mich, einen Display zu finden, die Sie gezeigt, wie man Computerprogramme schreiben. Die Sprache war eine Art von BASIC-Variante und ich erinnere mich genau es statt für die Verwendung von POUR, und so weiter. Ich war 7 Jahre alt und hatte nur BASIC gerade gelernt, und es schien mir ganz natürlich, dass das Französisch ihren eigenen Dialekt wie diese haben würde !!

Ich denke, es wurde möglicherweise LSE , dass ich gesehen habe?

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

Wenn Sie also ein Skript in der amerikanischen Version zu schreiben, es dann in der Französisch-Version öffnen, werden alle Schlüsselwörter und integrierte Funktion Namen werden in Französisch. Aber warum wird es nicht laufen ?! Aha! Die Französisch-Version verwendet „“ als das Komma, und daher Zweideutigkeit verwendet zu vermeiden ‚;‘ In den separaten Funktionsargumente - „“, wo die amerikanische Version verwendet und „“ bezeichnet. Diese Umwandlung müssen Sie sich selbst tun.

So können Sie durch die unglaublich schlechte Skript Editing-Oberfläche arbeiten (Sie können keine Skripts als Textdateien schreiben), all diese Dinge zu beheben. Es läuft! Toll! Die Ergebnisse sind alle falsch! Ach nein! Aha! Das Jan-7-2004 Datum, das Sie in der amerikanischen Version eingegeben wird als Juli-1-2004 interpretiert - offenbar Termine werden nicht nur angezeigt, sondern gespeichert in locale-abhängigen Reihenfolge. ich scherzend Sie ? Nr.

[Anmerkung:. Filemaker 8 und 9 können gesund sein - ich arbeitete immer nur mit 3 bis 7]

Ihre Frage ist interessant im Hinblick auf Perl, weil es Syntax ausgelegt ist, folgen (Englisch) für natürliche Sprache. Ich frage mich, ob das macht es schwieriger für nicht-englischen Muttersprachler ...

Natürlich, Perl und Perlers verweigern durch konventionelle Regeln zu spielen. Mad Wissenschaftler Damian Conway schrieb der Lingua :: Romana :: Perligata Modul welche die schwarze Magie der Quellenfilter verwendet, damit Sie Perl in Latein schreiben!

Hier in Australien müssen wir noch buchstabieren Farbe wie Farbe . Allerdings mache ich es ärgerlich, wenn andere (Australian) Entwickler, arbeitet an einem australischen Projekt entscheiden, dass interne Variablennamen, die amerikanische Art und Weise geschrieben werden müssen, finden.

Es wäre sinnlos, IMHO, eine Sprache i18n Syntax . Es wäre einfach jede Art von Portabilität töten.

Die einzige Ausnahme sind pädagogische Sprachen wie LOGO. Sie wurden für eine einfache Lernen konzipiert, so Portabilität ist kein Thema.

lese ich eine Menge Code, aber das Problem ist immer mit variablen / Methodennamen und Kommentaren, wenn sie auf ihrer eigenen Sprache, ihren Code kommentieren, eine Sprache, Sonderzeichen wie Japanisch oder Kyrillisch verwendet wird, wir sind in Schwierigkeiten! aber die Schlüsselwörter denke ich, sie in Englisch bleiben, wie sie sind.

in Italienisch

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

Um die Sorgen von einigen früheren Plakat bestätige, dass ich ein Fortran-Code mit einem Makro gesehen habe sind alle Schlüsselwörter von Englisch auf Französisch zu übersetzen. Lassen Sie mich nicht auf diese fortzusetzen.

ich auch mit einem Code gleichzeitig enthält Identifikatoren in Italienisch, Deutsch, Englisch und Französisch hatte zu arbeiten, nicht nur weil es in vielen verschiedenen Orten entwickelt, sondern auch, weil der Hauptentwickler gedacht, es hat Spaß gemacht und half ihm nicht zu duplizieren Bezeichnernamen (natürlich mit einer Routine 2000 Zeilen lang ....)

Ich denke, Basic lokalisiert wurde. Basic wurde verwendet, um in Word Makros zu schreiben, bevor VBA verwendet wurde.

Wenn ich es richtig erinnere, nur Word-Basic in der englischen Version geschrieben auf alle lokalisierten Version ausführen würde. Wenn Sie eine niederländische Version schreiben würde, könnte man nur führen Sie es auf einem niederländischen Wort.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top