教科書などのソースコードは翻訳すべきですか?


16

数週間前、私のクラスは「Real World Haskell」という本をポルトガル語に翻訳するように割り当てられました。テキストとコメントの翻訳を行ったとき、インストラクターが示唆したように、コードも翻訳すべきかどうか疑問に思い始めました。例えば:

データBookInfo = Book Int文字列[文字列]
              派生ショー

になるだろう

データInfoLivro = Livro Int文字列[文字列]
               派生ショー

私はポルトガル語でソフトウェア関連の本を読んだことがないので、それが一般的な慣習であるかどうかはわかりません。最終的に、コードは言語ミックスです(おそらく、Haskellの例は、のようtype CadeiaDeCaracteres = Stringに同義語をすばやく作成できるため、良い点ではありませんが、ポイントを得ることができます)。ですから、あなたがどれほど一生懸命努力するかは問題ではありません。読者は、ある種の基本的な英語の単語について、読者の以前の経験に頼らなければなりません。

これを知っているので、コードを翻訳することに意味はありません。なぜなら、コーディングライフの初期の段階ではコードはユニバーサル言語で書かれるべきだからです。それにもかかわらず、周囲のテキスト(たとえば、コメント、および本のテキスト自体)を翻訳する必要がある場合、この問題で何が可能かつ実行可能ですか?何をすべきかのガイダンスを教えてもらえますか?


9
インストラクターはこれから何を学ぶことを期待していますか?はい、Haskellについて少し学ぶかもしれませんが、ほとんどが英語の翻訳スキルのテストのようです。彼は将来のクラスの翻訳だけを望んでいますか、そして彼はこのクラスのすべての学生の時間を無駄にすることがそれを達成する方法であると思いますか?私の賭け:学ぶのは翻訳が専門家によって最もよく行われる専門分野である理由だけです。
ドリ


@通私は完全に同意します。残念なことに、少なくともCS分野では、それが私の大学の仕組みです。
ラファリア

あなたは彼にこのような何かを教えてください: "" "" "VOCE ESTA realmente loucoのEu preferiria dormirコムSUAメイ行うqueのFAZER ISSO AprendaイングレスOU perecer教授。。。"
ジョブ

回答:


13

私の意見では、いいえ。ほとんどのプログラマーは、英語を学ぶことを望むかどうかにかかわらず強制されており、今日ではソフトウェアの世界の共通語となっています。

しかし、私の経験では、より強力な言語の著者によって書かれた本はそうする傾向があります-これまでのところ、ドイツ語、フランス語、ロシア語の本の練習を見てきました(まあ、ロシア語は異なるアルファベットを使用しているため)。国の英語依存度に依存するのは経験則です。

テキストはもちろん翻訳され、より大きなコメント(プログラムの動作をより詳細に説明するもの)、それからやや珍しい、より小さなコメントと変数名も翻訳されます。また、変数名が翻訳されたケースを見てきましたが、英語では小さなコメントが残っていました。しかし、著者は、その特定のケースでは、聴衆が英語の知識を持っていると期待していたと思います。

これがあなたのジレンマを解決しなかった場合は申し訳ありませんが、これに関するコンセンサスはまだありません:-/


11

私はブラジル人です(ここではポルトガル語を話します、ofc)。オリジナル版と翻訳版のどちらかを選択できるときは、常にオリジナルを使用します。ほとんどの本はプログラマーではない人に翻訳されているため、コマンドと表現が失われます翻訳後の元の意味。

英語の本が必要なもう1つの理由は、Web [またはこのサイトのような最高のもの]のすべてが英語で書かれているため、英語の用語に精通し、他の人のコードをよりよく理解できることです... [少なくとも私のPOVから、優秀なプログラマーが英語でコーディングするため]

ポルトガル語(または別の言語)で本を読む必要がある場合は、その言語で書かれたもの(翻訳されていない)をお勧めします。

明確にするために:その本を翻訳する場合は、すべてのコードを英語のままにしてください(コメントは翻訳される可能性がありますが、varsまたはfuncsは翻訳されない)。 「マウス」から「ラト」[少なくとも私は英語の用語を好むでしょう、ポルトガルの人々は2番目を好むでしょう、私は推測します]。


3
+1(ソース言語、ターゲット言語、プログラミング)の3つすべての専門家が必要なため
+1

2

英語を母国語としない人として、翻訳されたコードは好きではありません。

  1. 優れたプラクティスを構築します。専門家として、英語がこの分野の主要言語であるだけでなく、異なる背景を持つ人々が同じコードを共有して作業しています。別の言語でコードを書くと、コードで作業できる人の数が大幅に減ります。別の言語で書かれたコードをいくつか楽しんでみましたが、それはひどいことです。だから、良い習慣を奨励しないのはなぜですか?

  2. looksいですね。ほとんどのプログラミング言語は英語のキーワードを使用します。識別子を適切に選択すれば、プログラムを読むことは自然言語に近い体験になります。識別子に別の言語を使用しない限り、同時に2つの言語で読むことに似ています。

  3. 私はそれがそれほど役立つとは思わない。英語を話さない人でも、通常のプログラムで識別子に使用される英語は非常に簡単で、非常に速く習得できます。


2

コード例の翻訳に対する良い点は、翻訳したコード例は元の例と同じように正しいことが期待されるため、テストする必要があるということです。

テストの労力は翻訳の費用に含まれていますか?ほとんどの場合、そうではないと思います。

翻訳されたコードをテストしないと、コードが壊れたり間違ったりするリスクがあり、翻訳された資料と元の資料の両方の評判が損なわれます。

コード例をテストする労力をかけたくない場合は、コメントを翻訳するだけで、コードを変更しないでください。

考慮すべきもう1つのことは、元の作成者がおそらくコードベース、おそらくは全体としてコンパイルされる完全なアプリまたはライブラリを持っていたという事実です。コード例はそのようなコードベースから抽出され、本全体に広がっています。あなたはそれを持っていないので、コード例を翻訳した後、翻訳された本では、本のさまざまな部分で異なる翻訳の決定のために互いに矛盾するコード例を見つけることができますが、元の本では同じコードベースから抽出されたからではありません。


0

英語以外の言語は話せません。(まあ、私は高校時代のラテン語です。ラテンアメリカを訪れたことがあれば便利です。:-)その背景から、私はこう言います:

他の人が述べたように、プログラミングに関する多くの情報は、ウェブや本で、英語で書かれているので、英語を学ぶなら確かに役立つでしょう。

一部のコンピューター言語では、たとえばVisual Basicなど、多くの英語の単語を使用します。その他は、C / C ++ / C#などのシンボルを主に使用します。したがって、プログラムを行う場合は、いくつかの英語を学ぶ必要があります。しかし、私はそれがたくさんだとは思わない。IF、WHILE、RETURNなど。言語に応じて、10〜20語から数十語まで。Visual Basicは私が考えることのできる最も言葉の長い言語であり、リストをチェックしたところ、約160の予約語がありますが、そこには多くの重複があります。ENDやWHILE、そしてEND WHILEのように、3つの別個の「単語」としてリストされています。英語を母国語としない人にとっては不便であることがわかりますが、これらの単語は、一般的な英語の意味と大まかに関連する意味でしか使用されないことが多いため、多くの場合、英語以外のスピーカーの方が英語のスピーカーよりもそれほど難しくありません。同様に、HANDLERまたはCASTの意味は、おそらく、ポルトガル語を話す新しいプログラマーよりも、英語を話す新しいプログラマーにとって明白ではありません。代わりに、これらのことの一部が英語では意味のない単語によって呼び出された場合、CASTを言う代わりにFOOBARを言った場合のように、それはプログラミングを学ぶことをより難しくしましたか?私はそれが大きな違いを生んだとは思わない。それはプログラミングを学ぶことを私に難しくしましたか?私はそれが大きな違いを生むだろうとは思わない。それはプログラミングを学ぶことを私に難しくしましたか?私はそれが大きな違いを生んだとは思わない。

一部の言語には、キーワードの代替単語を何らかの方法で定義するオプションがあるとおっしゃっています。そうです、あなたは自分の言語の単語を英語のキーワードの同義語として定義できます。しません これで、プログラムには、作成した非標準の用語がたくさんあります。同じことをしようとする他の誰かが、あなたがするのとまったく同じ単語のセットを使用することはほとんどありません。だから今、他の人のプログラムを読んで、あなたは彼が彼の「翻訳」によって何を意味したかを理解しなければなりません。社内の全員が同じセットを使用していれば、あなたはそれらを学び、お互いのプログラムに簡単に取り組むことができると思います。しかし、別の会社に移動したり、ウェブからソフトウェアをダウンロードしたりするとどうなりますか?あなたは自分のためにtrapを仕掛けているだけのように思えます。標準的な単語を覚える方が良い。

あなたがポルトガル語でプログラムを書いていて、それを読む可能性が高いのが他のブラジル人だけで、おそらくポルトガル語を話すが、おそらく英語が特に流notでない場合は、変数名をポルトガル語にすることは理にかなっています。あなたが特に得意ではない言語で変数名を作ろうとすることで得られるものがわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.