Soll Quellcode in Lehrbüchern und dergleichen übersetzt werden?


16

Vor ein paar Wochen wurde meine Klasse beauftragt, das Buch Real World Haskell ins Portugiesische zu übersetzen. Während ich den Text und die Kommentare übersetzte, begann ich mich zu fragen, ob ich den Code auch übersetzen sollte, wie es der Lehrer vorschlug. Beispielsweise:

data BookInfo = Book Int String [String]
              Show ableiten

würde werden

data InfoLivro = Livro Int String [String]
               Show ableiten

Da ich keine softwarebezogenen Bücher auf Portugiesisch gelesen habe, weiß ich nicht, ob dies eine gängige Praxis ist und auch nicht, ob dies auf diese Weise erfolgen sollte. Am Ende ist der Code ein Sprachmix (vielleicht ist das Beispiel in Haskell nicht gut, da Sie Synonyme schnell erstellen können type CadeiaDeCaracteres = String, aber Sie verstehen, worauf es ankommt). Es spielt also keine Rolle, wie sehr Sie sich bemühen, Sie müssen sich auf die Erfahrung des Lesers mit einfachen englischen Wörtern verlassen.

Da ich das weiß, sehe ich keinen Sinn darin, Code zu übersetzen, da wir in den frühen Tagen unseres Codierungslebens gelernt haben, dass er in der universellen Sprache geschrieben sein sollte. Wenn jedoch der umgebende Text (z. B. Kommentare und Text selbst in einem Buch) übersetzt werden muss, was ist in dieser Angelegenheit möglich und machbar? Können Sie mir eine Anleitung geben, was zu tun ist?


9
Was erwartet der Ausbilder von Ihnen, um daraus zu lernen? Ja, Sie werden vielleicht ein wenig über Haskell lernen, aber es klingt, als ob es hauptsächlich ein Test für Ihre Englisch-Übersetzungsfähigkeiten ist. Möchte er nur eine Übersetzung für zukünftige Klassen, und er denkt, dass es der Weg ist, die Zeit aller Schüler in dieser Klasse zu verschwenden, um dies zu erreichen? Meine Wette: Alles, was Sie lernen werden, ist, warum das Übersetzen ein Spezialgebiet ist, das am besten von Experten ausgeführt wird.
Dori


@Dori da stimme ich voll und ganz zu. Leider funktioniert meine Universität so, zumindest im CS-Bereich.
Rapfaria

Sie sollten ihm so etwas sagen: "" Professor, Sie haben eine Antwort auf Ihre Frage. Sie möchten es lieber tun. Aprenda Inglês ou perecer. ""
Job

Antworten:


13

Meiner Meinung nach nein. Die meisten Programmierer sind gezwungen, Englisch zu lernen, ob sie es wollen oder nicht, und heutzutage ist es die Verkehrssprache der Software-Welt.

Nach meiner Erfahrung tendieren Bücher, die von Autoren in einer der stärkeren Sprachen geschrieben wurden, dazu, dies zu tun. Bisher habe ich die Praxis in Büchern in Deutsch, Französisch und Russisch gesehen (na ja, Russisch ist ein bisschen anders als Russisch) Fall, da sie auch andere Buchstaben verwenden). Als Faustregel gilt, dass dies von der Abhängigkeit des Landes von Englisch abhängt .

Der Text ist natürlich übersetzt, die größeren Kommentare auch (eine, die die Funktionsweise eines Programms genauer beschreibt), dann etwas seltener, kleinere Kommentare und Variablennamen. Ich habe auch den Fall gesehen, in dem Variablennamen übersetzt wurden, aber kleinere Kommentare in Englisch hinterlassen wurden. Ich glaube jedoch, dass der Autor in diesem speziellen Fall darauf vertraute, dass sein Publikum über funktionierende Englischkenntnisse verfügte.

Entschuldigung, wenn dies Ihr Dilemma nicht gelöst hat, aber es gibt immer noch keinen Konsens darüber: - /


11

Ich bin Brasilianer (wir sprechen hier Portugiesisch), und wenn ich zwischen der Original- oder der übersetzten Version wählen kann, nehme ich immer das Original, da fast jedes Buch für Leute übersetzt wird, die keine Programmierer sind, sodass Befehle und Ausdrücke verloren gehen ihre ursprüngliche Bedeutung nach der Übersetzung.

Ein weiterer Grund, um Bücher auf Englisch zu wollen, ist, dass alles im Web [oder die besten Dinge, wie diese Seite] auf Englisch geschrieben ist, so dass Sie mit dem englischen Begriff vertraut sind und in der Lage sind, den Code anderer Leute besser zu verstehen ... [da ein guter Programmierer zumindest von meinem POV aus auf Englisch codieren würde]

Wenn Sie Bücher auf Portugiesisch (oder in einer anderen Sprache) lesen möchten, ziehen Sie die Bücher vor, die in dieser Sprache (nicht übersetzt) ​​geschrieben sind.

Um es klar zu machen: Wenn Sie dieses Buch übersetzen wollen, versuchen Sie, den gesamten Code auf Englisch zu halten [Kommentare können übersetzt werden, aber keine Vars oder Funk] und versuchen Sie nicht, Sachen wie 'array' in 'arranjo' oder 'arranjo' zu übersetzen 'mouse' to 'rato' [zumindest würde ich den englischen Begriff vorziehen, die Leute in Portugal würden den zweiten vorziehen, denke ich].


3
+1 für die Notwendigkeit eines Experten in allen drei (Ausgangssprache, Zielsprache, Programmierung)
Frank Shearar

2

Als nicht-englischer Muttersprachler mag ich keinen übersetzten Code.

  1. Bildet eine gute Praxis. Als Profi ist nicht nur Englisch die Hauptsprache des Fachs, sondern auch Menschen mit unterschiedlichem Hintergrund, die denselben Code verwenden und daran arbeiten. Wenn Sie Code in einer anderen Sprache schreiben, verringert sich die Anzahl der Personen, die mit Ihrem Code arbeiten können, erheblich. Ich hatte Spaß daran, Code in einer anderen Sprache zu schreiben, und das ist schrecklich. Warum also nicht zu guten Gewohnheiten ermutigen?

  2. Es sieht hässlich aus. Die meisten Programmiersprachen verwenden Schlüsselwörter in Englisch, und mit einer guten Wahl für Bezeichner kann das Lesen eines Programms eine Erfahrung sein, die der natürlichen Sprache nahe kommt. Es sei denn, Sie verwenden eine andere Sprache für Bezeichner, wodurch es dem gleichzeitigen Lesen in zwei Sprachen ähnelt.

  3. Ich glaube nicht, dass es so viel hilft. Selbst für eine nicht Englisch sprechende Person ist das Englisch, das in einem regulären Programm für Identifikatoren verwendet wird, recht einfach und kann sehr schnell erlernt werden.


2

Ein guter Punkt gegen das Übersetzen von Codebeispielen ist, dass Sie sie in diesem Fall testen müssen , da erwartet wird, dass die übersetzten Codebeispiele genau wie die ursprünglichen korrekt sind.

Ist der Testaufwand in den Übersetzungskosten enthalten? Ich denke nicht, in den meisten Fällen.

Wenn Sie den übersetzten Code nicht testen, riskieren Sie, dass der Code beschädigt oder falsch ist, was die Reputation sowohl des übersetzten als auch des ursprünglichen Materials beeinträchtigt.

Wenn Sie die Codebeispiele nicht testen möchten, sollten Sie nur Kommentare übersetzen, aber den Code in keiner Weise ändern.

Eine andere zu berücksichtigende Sache ist die Tatsache, dass der ursprüngliche Autor höchstwahrscheinlich eine Codebasis hatte, vielleicht eine vollständige App oder Bibliothek, die als Ganzes kompiliert wird. Die Codebeispiele werden aus einer solchen Codebasis extrahiert und im gesamten Buch verteilt. Sie werden das nicht haben, also könnten Sie nach der Übersetzung der Codebeispiele Codebeispiele finden, die sich im übersetzten Buch aufgrund unterschiedlicher Übersetzungsentscheidungen in verschiedenen Teilen des Buches widersprechen, während sie im Originalbuch vorliegen nicht, weil sie aus derselben Codebasis extrahiert wurden.


0

Ich spreche keine andere Sprache als Englisch. (Nun, ich bin Latein in der High School. Nützlich, wenn ich jemals Lateinamerika besuche. :-) Vor diesem Hintergrund würde ich sagen:

Wie andere angemerkt haben, sind viele Informationen über das Programmieren im Internet und in Büchern in englischer Sprache verfügbar. Es wäre also sicher hilfreich, wenn Sie Englisch lernen würden.

Einige Computersprachen verwenden viele englische Wörter, wie z. B. Visual Basic. Andere verwenden meistens Symbole wie C / C ++ / C #. Wenn Sie also programmieren wollen, müssen Sie EINIGES Englisch lernen. Aber ich denke nicht, dass es viel ist. WENN, WÄHREND, ZURÜCK usw. Je nach Sprache zwischen 10 und 20 Wörtern und ein paar Dutzend. Visual Basic ist die wortreichste Sprache, die ich mir vorstellen kann. Ich habe gerade eine Liste durchgesehen und sie enthält schnell 160 reservierte Wörter. Wie END und WHILE und dann END WHILE als drei separate "Wörter" aufgelistet. Ich kann sehen, dass dies für einen Nicht-Englisch-Sprecher unpraktisch ist, aber diese Wörter werden oft mit Bedeutungen verwendet, die nur in lockerem Zusammenhang mit ihren gemeinsamen englischen Bedeutungen stehen. Es ist nicht viel schwieriger für einen Nicht-Engländer als für einen Engländer. Ebenso ist die Bedeutung von HANDLER oder CAST für einen neuen Programmierer, der Englisch spricht, wahrscheinlich nicht offensichtlicher als für einen neuen Programmierer, der Portugiesisch spricht. Wenn stattdessen einige dieser Dinge von Wörtern genannt worden wären, die auf Englisch bedeutungslos sind, als ob wir statt CAST FOOBAR gesagt hätten, hätte das mir das Erlernen des Programmierens erschwert? Ich bezweifle, dass es einen großen Unterschied gemacht hätte. Hätte es mir das schwerer gemacht, Programmieren zu lernen? Ich bezweifle, dass es einen großen Unterschied gemacht hätte. Hätte es mir das schwerer gemacht, Programmieren zu lernen? Ich bezweifle, dass es einen großen Unterschied gemacht hätte.

Sie erwähnen, dass einige Sprachen Optionen haben, um alternative Wörter für Schlüsselwörter auf die eine oder andere Weise zu definieren. Sie könnten also Wörter aus Ihrer eigenen Sprache als Synonyme für die englischen Schlüsselwörter definieren. Würde ich nicht. Jetzt haben Ihre Programme eine Reihe von nicht standardmäßigen Begriffen, die Sie erfunden haben. Jemand anders, der das Gleiche versucht, wird wahrscheinlich nicht genau die gleichen Wörter verwenden wie Sie. Wenn Sie also das Programm eines anderen lesen, müssen Sie herausfinden, was er mit seinen "Übersetzungen" gemeint hat. Ich nehme an, wenn jeder in der Firma den gleichen Satz verwendet, würden Sie sie erlernen und könnten leicht an den Programmen des jeweils anderen arbeiten. Aber was passiert, wenn Sie zu einem anderen Unternehmen wechseln oder Software aus dem Internet herunterladen? Mir scheint, Sie stellen sich nur eine Falle. Besser einfach die Standardwörter lernen.

Wenn Sie ein Programm auf Portugiesisch schreiben und die einzige Person, die es wahrscheinlich liest, andere Brasilianer sind und Sie alle vermutlich Portugiesisch sprechen, aber vielleicht nicht besonders fließend Englisch sprechen, ist es nur sinnvoll, Variablennamen auf Portugiesisch zu setzen. Ich verstehe nicht, was man davon hat, wenn man versucht, Variablennamen in einer Sprache zu erstellen, in der man nicht besonders gut ist.

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.