web-dev-qa-db-ja.com

特に自然言語を学ぶことで、プログラミングのキャリアがさらに進むと思いますか?

以前のP.SEの質問 に基づくプログラミングでは、英語が主要な国際言語であることは明らかであるように思われます(ただし、非常に賛成のコメントは、主に英語のサイトでそのような質問をすると、結果が歪むことを正しく指摘しています) )。

しかし、ソフトウェア開発のために外国語を学ぶことには利益がありますか?たとえば、中国人は完全に異なるソフトウェアツール、言語、技術などを持っていますか?日本語、ロシア語、およびその他の非ラテン語ベースの言語はどうですか? これらの他の言語にのみ存在するソフトウェア開発言語、ツールなどの世界はありますか?

それとも、これらの言語を知っている人は、私たちが知っている愛するツールや言語を使用していますか?

52
Anonymous

タイトルの質問にお答えします。答えはイエスですが、あなたが求めている理由のためではありません。話し言葉で多言語を使うIMOは、アイデアを表現に使用されているものから分離するのに役立ちます。同様の理由で、cベースではない構文言語を最初に学習している場合は、それを学習することをお勧めします。

44
Erik Reppen

いいえ。学習資料を見逃していません。
私はオランダ語のネイティブスピーカーとして、私の開発環境とほとんどの参照資料が英語で書かれていることをお約束します。異なる言語で書かれたシラバスがいくつかありますが、それらのどれにも魔法がないことを保証できます。

ただし、APIの/ webservices/projectsに関するドキュメントやソースコードのコメントは、英語とは異なる言語で記述できると想像できます。そのため、私はあなたが最も話されている言語のいくつかをカバーすることをお勧めします:スペイン語、アラビア語、中国語

13
Steffe

英語以外の国で開発された特定のテクノロジーに特化したい場合は、理にかなっているかもしれません。

たとえば、SAPはドイツの企業です。 SAP ERPは、通常「SAP」と呼ばれるソフトウェアの大企業であり、SAP独自のプログラミング言語ABAPで記述されたユーザーソフトウェアモジュールのほとんどを備えています。開発者は、ABAPコードを確認することができます(多くの場合、確認する必要があります)。

10年前、ABAPの開発の大部分はドイツで行われ、コメントと識別子を英語にする必要があるという方針はなかったため、レガシーABAPコードにはドイツ語がたくさん含まれています。

ABAP開発者として、私は頻繁にSAPによって作成されたレガシーコードをデバッグする必要があります。私はドイツ語のネイティブスピーカーなので、ドイツ語と英語を常に精神的に切り替えるのはちょっとしたイライラですが、ドイツ語を話せず、ドイツ語でコメントされたソースコードに突然気付いた人は本当に残念です。

古いAPIでドイツ語を見つけることもできます。たとえば、現在の時刻はグローバル変数SY-UZEITにあります。 「Uzeit」は「Uhrzeit」の略で、「Time of the day」のドイツ語です。 customerIDはKUNNR( "Kundennummer")、自社通貨での金額はBETRH( "Betrag-Hauswährung")などです。

ABAPリファレンスブックのすぐ隣にドイツ語の辞書がある貧しい非ドイツ語ABAPプログラマの逸話を聞いたことがあります。

12
Philipp

中国のような自立した市場でキャリアを計画しない限り、英語で十分だと思います。趣味家は他の言語を使用するかもしれませんが、私が英語の周りで見たすべての有料作品で必須の言語でした。実用的な理由も。

一方、より多くの言語を知ることは、衛星活動におけるあなたのキャリアを助けることができます。多くのプログラムはローカライズされており、翻訳とテストの両方で対象言語を知っている人が必要です。貴重な「技」です。したがって、これに親しみがある場合は、先に進んで学習してください。

9
Balog Pal

はい、別の言語を学ぶことはあなたのプログラミングのキャリアを促進します。これは、私の意見では、別の言語を学ぶことは、どんなキャリアのキャリアにもつながるためです。

これにはいくつかの理由がありますが、そのいくつかはすでに上記で触れています。

  • 別の言語を学ぶことはあなたの視野を広げます。それは必然的にあなたを別の文化や考え方の側面にさらし、これをあなた自身の考えにマッピングする経験を与えます。明らかに、これはプログラミングと類似していますが、それはまた、個人間のコミュニケーションのための一般的に有用なスキルです。
  • 別の言語(特に2番目の言語)を学ぶことは、自分の言語がどのように機能するかを理解するのに役立ちます。なぜなら、盲目的にそれを受け入れるのではなく、新しい言語の文法がどのように機能し、どのように自分の言語の文法にマッピングされるかを分析する必要があるからです。」それがそうです。」自分のキャリアで母国語のみを使用している場合でも、それを理解することで、より効果的にコミュニケーションをとることができます。
  • 別の言語の知識が少しでもあれば、見栄えをよくすることができます。最小の企業を除いて、すべてが外国のサプライヤーや顧客と取引する必要があります。二人とも英語で商売をしているとしても、小さなあいさつ文(挨拶など)を母国語で交換できるのはいい印象です。その良い印象を生み出すために利用可能であることはあなたの会社とのあなたの地位を向上させます。
  • 別の言語を知っていると、たとえ母国語を使用している場合でも、その言語の母国語話者とより効果的にコミュニケーションをとることができます。これは、外国語で一般的な構成を使用しようとする試みを見つけることができ、それらが自分自身ではそれほど明確でない場合でも、それらから意味を得ることができるためです。同様に、表示される可能性のあるすべての false friends を見つけて理解するのに役立ちます。
  • 言語を熟知していれば、その言語が話されている国で働く可能性が広がります。これは、あなたが利用できる潜在的な仕事のプールを広げ、それはあなたがあなたのキャリアを促進するより多くの機会を持つことを意味します。

だから、あなたの質問に直接答えるために:外国語を学ぶことは、驚くべき新しい範囲のプログラミング言語と学習リソースを開くでしょうか?いいえ、それはあなたをより良いソフトウェアエンジニアにするでしょうか?おそらく直接ではないでしょう。しかし、それはあなたをより良く、より丸みがあり、より雇用可能な人にして、あなたのキャリアを前進させるのに役立ちますか?もちろんです。

8
Scott

英語が母国語である場合、外国語を学ぶことはおそらく直接あなたのプログラミングのキャリアを助けません。個人的には、外国語を知ることは視野を広げる非常に優れた一般的な演習だと思います( "Wie viele Sprachen du sprichst、sooftmal bist du Mensch")。

自己実現はさておき、純粋に実用的な理由で外国語を知ることから利益を得ることができると思ういくつかの状況を以下に示します。

  • 海外のパートナーまたは顧客との協力。コミュニケーションをとるのに十分な言語を理解していない場合でも、いくつかの基本を知ることで、コミュニケーションで発生する可能性のある問題や、外国語のユーザーが製品で発生する可能性のある問題を認識できるようになります。
  • うまく国際化する必要のある製品に取り組んでいます。いくつかの外国語の基本を知らなければ、すべての複雑な国際化ライブラリが何のためにあるのか疑問に思われるかもしれません(なぜ「%d新しいメッセージ」は%dの値に応じて同じ言語へのいくつかの異なる翻訳が必要になるかもしれません)。 。
  • 適切なUnicode処理の複雑さを理解するのに役立ちます。

ただし、前に述べたように、多くの状況では、すぐに得られる効果だけを見ても、そのメリットは努力に値しません。

7

EU/USだけでなく、英語はこの分野での主要言語です。

中国語のネイティブスピーカーとして、同じOS、プログラミング言語、ツールのセットを使用している人々がいることを知っています。それらのいくつかは中国語に翻訳され、残りは英語の小説ほど難しくありません。中国語のキーワードを持ついくつかの「中国語プログラミング言語」があり、それらは広く使用されていないか、深刻なものと見なされていません。

現在私は日本に住んでいますが、ここでも同様のことがわかります。したがって、少なくとも中国語や日本語、その他の神秘的な自然言語を知っていることで、かけがえのないリソースへのアクセスを許可できるとは思いません。

一方、私は(言語が指定されていない)セマンティクスの理論から利益を得ました。自然言語とプログラミング言語の両方で、コードレビューと同様の方法で式を区別および調整するのに役立ちました。

6
Jokester

異なる言語を学ぶことの唯一の直接的な利点は、i18nに関する問題をよりよく理解することです。つまり、日付形式と同様に、文法にはさまざまなルールがあり、文字列のプレースホルダーを追加するだけではローカライズを実行できません。

プログラミングキャリアを向上させたいだけの場合は、既存のスキルを磨く、または 別のプログラミング言語を学ぶなど)、時間をはるかに効果的に使用できます。 、できれば別のパラダイムから

そうは言っても、特にあなたが単一言語である場合、異なる言語を学ぶことには多くの有益な直接的および副作用があります。多言語の人々に明らかであるように見える多くのことは、異なる言語にさらされていない場合、実際にはそれほど明白ではありません。たとえば、多くの単一言語の人々は、言語依存のジョーク(そのようなもの)を認識していないようです駄洒落として)翻訳されたときにまったく機能しません。これは、鈍感な失敗を防ぐのに役立ちます。私のお気に入りの例は ペプシの "come alive"の広告が中国語で "死んだ祖先を生かす"と誤解しているという外典の話 です。この特別な感度を持つことは、どんなキャリアでも役立ちます。

結論として、新しい言語を学ぶことには大きなメリットがあると思います。それがあなたの時間の効率的な使用であるかどうか私はただ質問します。

5
congusbongus

英語は問題解決の言語です

この短いビデオをご覧ください。

「あなたの母国語はあなたの人生ですが、英語を使うと、より広い会話、気候変動や貧困などの地球規模の問題についての世界的な会話の一部になります...数学は科学の言語、音楽は感情の言語、そして今は英語です問題解決の言語になりつつあります。」

-- Jay Walker, american inventor and entrepreneur

ローマ帝国が崩壊していなければ、今はラテン語で書いているでしょう。

間違いなく英語は行く言語です。私の母国語はスペイン語で、スペイン語は最も広く話されている言語の1つですが、スペイン語の技術資料、ドキュメント、チュートリアル、ブログ、Q&Aサイトなどの量は、英語の膨大な量のリソースにさえ近づきません。

また、英語は簡潔な品質を備えているため、多くの文脈でそれが明確になります。

その他の理由:iTunesU。

3

私は中国語に堪能で、時々中国のプログラマーの世界をのぞきます。彼らの学習教材のほとんどは英語のものに翻訳されているので、あなたはその前線で何も見逃していません。ただし、プログラミング技術の選択に文化的な違いがあるのは興味深いことです。たとえば、囲碁は他のどの国よりも中国で人気があります。 「golang」のGoogleトレンド検索を実行して確認できます: http://www.google.com/trends/explore?q=golang#q=golang&cmpt=q

2
talloaktrees

英語は事実上のソフトウェア開発者の言語ですが、他の言語のコミュニティサイトでヒントや解決策を見つけることができたことがあります。自動翻訳はそのようなページを活気づけるので、そのまま読むことができるのは素晴らしいことです。

もちろん、別の言語に習熟している人と仕事をしている場合、彼らの母国語でコミュニケーションできることは、プロとしても個人的にも非常に良いことです。レベルとあなたのレベルによっては、いくつかの技術的な単語を自分の言語で学習し、意味的な間違いを犯しやすい言語に理解を深めるよりも、最も快適な方法で表現する方が簡単な場合があります。

2
l0b0

状況により異なりますあなたが理解していることキャリア

あなたがあなたの国で従業員として働いていて、それをそのままにしたいのであれば、通常、母国語と英語以外の言語を知る必要はありません。例外として、会社の主要クライアントが外国企業であり、その会社の言語を知っている必要がある場合があります。たとえば、西ポーランドの多くの企業は主にドイツの企業と協力しており、上級の開発者として働くためにはドイツ語を知っていることは大きな利点、または要件でさえあることを知っています(後輩は顧客と連絡を取りませんが、ドイツ語を話す必要はありません) )。

ただし、フリーランサーになりたい場合は、顧客の言語に堪能である必要があります。もちろん、英語圏の国だけをターゲットにすることもできますが、たとえばドイツ語やフランスを知っていると、より多くの機会が得られ、潜在的に支払われる契約が増える可能性があります。

海外で働くをしたい場合は、状況によって異なります。もちろん、アメリカかイギリスに行くと、英語が正しい選択です。 小国(ヨーロッパ)には英語を話すチームがたくさんいるので、外国の請負業者として、デンマークやオランダなどで英語を話す多くの仕事を期待できます。

しかし、ドイツなどの大きな国では、英語を話す仕事は例外であり、ドイツ語の知識がないと、何かを見つける機会がほとんどありません。最高の支払いを受けた契約を得るためには、あなたはドイツ語を流暢に話す必要があります、しかし、あなたはそれから本当に得ることができます良い支払い済みの仕事.

2
Danubian Sailor

これは良い質問です。私は、別のプログラミング言語を学ぶことが有用であるのと同じ理由で、別の話された言語を学ぶことが有用であると主張します:それはあなたが物事について新しい方法で考えることを可能にします。

良くも悪くも、英語はプログラマーの普遍的な言語です。だから、英語しか話せないので、見逃してしまうことはほとんどありません。

2
Michael Brown

ここにいるすべての人々は、別の言語を学ぶことの直接の利点がないことに同意しているようですプログラミング用直接(プログラミング言語はほとんどが英語に基づいています、それはコンピュータサイエンスの教科書やジャーナルの言語などです) 。)。

それにもかかわらず、外国語を知ることは多くの点で有益です。少なくとも、いくつかの外国語を学んだ私の経験から言えます。他の言語で物事を表現するさまざまな方法を学び、物事を見る新しい方法を開きます。

1
wirrbel