私はそれが(同僚によって)どこから来たとしても誰もが「英語でコードを書く」と言ったと聞きました。信じることは難しいと思いますが、ほとんどのプログラミング言語でサポートされている文字セットが比較的狭い場合は驚かないでしょう。
英語が第一言語ではない国で働いたことはありますか?
もしそうなら、彼らのコードはどのように見えましたか?
私はそれが(同僚によって)どこから来たとしても誰もが「英語でコードを書く」と言ったと聞きました。信じることは難しいと思いますが、ほとんどのプログラミング言語でサポートされている文字セットが比較的狭い場合は驚かないでしょう。
英語が第一言語ではない国で働いたことはありますか?
もしそうなら、彼らのコードはどのように見えましたか?
回答:
私はカナダ出身ですが、現在アメリカに住んでいます。
カナダ人がプログラミング時に使用する接尾辞「Eh」の代わりに、接頭辞「Is」を使用してブール変数を記述することに慣れるのに時間がかかりました。
例えば:
MyObj.IsVisible
MyObj.VisibleEh
私はイタリア人で、名前とコメントには常に英語を使用しています。しかし、他の多くのイタリアのプログラマーは、イタリア語を使用していますIsUtenteCopy
。
実際のコードサンプル:
// Trovo la foto collegata al verbale
tblVerbali rsVerbale;
hr = rsVerbale.OpenByID(GetDBConn(), m_idVerbale);
if( FAILED(hr) )
throw CErrorHR(hr);
hr = rsVerbale.MoveFirst();
if( S_OK != hr )
throw CError(_T("Record del verbale non trovato."));
ところで、Visual Studio MFCウィザードは、ローカライズされたコメント付きのスケルトンアプリケーションを作成します。
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIFrameWndEx::PreCreateWindow(cs) )
return FALSE;
// TODO: modificare la classe o gli stili Window modificando
// la struttura CREATESTRUCT
return TRUE;
}
私はフランス人です。コメントで指摘されているように、私の同胞は、国語に対する平均以上の誇りを示す傾向があります:-)。私はこの問題について自分で実用的な立場を取ります。
.emacs
では、理解できる言語で書かれている場合を除き、誰もumpteenthを気にしません)。私はエジプト出身です。私たちは話をするとき、またはコードについて考えるときでも、デフォルトで英語に切り替えると思います。学習リソースのほとんど-本のような通常のもの、さらにはブログ、ポッドキャストなど-は英語です。母国語に切り替えることは、多くの素晴らしいリソースに背を向けることを意味します。
この投稿は、Jeff Atwood経由で私の主張を伝えるものと思われます。http: //www.codinghorror.com/blog/2009/03/the-ugly-american-programmer.html
C#、それは本当に機能します(キリル文字):
[Flags]
public enum Товары
{
Непонятно = 0,
Книги = 1,
Тетради = 2,
Карандаши = 4,
Всё = Книги | Тетради | Карандаши
}
..
Товары карандаши = Товары.Карандаши;
Visual Studioで許可されており、誰かが自分の母国語(英語以外)を使用してコードを書いているという点で、面白い(奇妙な)ことがあります。
Товары
はItems
、Непонятно
、Unknown
; Книги
、Books
; Тетради
、Notebooks
; Карандашы
、、Pencils
およびВсё
ですAll
。ロマンス語の話者は他のロマンス語の言語をごちゃごちゃにできる傾向があるので、私はこれにのみ注意します。スラブ語は西洋では過小評価される傾向があると思います(ポーランドの伝統があります)。また、それ3
は4
。
スペインには、外国語に関する伝統的な問題があります。40歳未満のスペイン人は学校で英語を知っているはずですが、明白な事実は、英語のレベルがほぼどこでもゼロに近いことです。
そのため、基本的に2種類のソフトウェア環境があります。国際関係者(オープンソースプロジェクト、外国の多国籍企業のスペインオフィス、海外で販売するベンダー)と共有することになっているコードと、ローカルで販売するコードです。前者はもちろん英語で書かれていますが、後者は通常変数名とドキュメントの両方でスペイン語で書かれています。変数内の単語は、7ビットASCII(dirección
-> direccion
)に収まるように必要に応じてアクセントとチルダを失い、標準の言語機能()または普遍的に受け入れられる翻訳のない概念()を表す場合、英語のビットを使用できます。getDireccion
abrirSocket
年のスペイン語(año)は、チルダを削除すると肛門の単語になることがあります。私は書くことに何の問題もありませんが、ano
他のほとんどのプログラマーはどんなコストでもそれを避け、あらゆる種類の面白い代替手段を生み出します:anno
または)anyo
いくつかのサンプル:
/**
* Devuelve una cadena aleatoria de la longitud indicada elegidos entre la lista proporcionada;
* contempla caracteres multi-byte
*/
function mb_cadena_aleatoria($longitud=16, $caracteres='0123456789abcdefghijklmnopqrstuvwxyz'){ // v2010-06-03
$cadena = '';
$max = mb_strlen($caracteres)-1;
for($i=0; $i<$longitud; $i++){
$cadena .= mb_substr($caracteres, mt_rand(0, $max), 1);
}
return $cadena;
}
/*
* Da formato a un número para su visualización
*
* numero (Number o String) - Número que se mostrará
* decimales (Number, opcional) - Nº de decimales (por defecto, auto)
* separador_decimal (String, opcional) - Separador decimal (por defecto, coma)
* separador_miles (String, opcional) - Separador de miles (por defecto, ninguno)
*/
function formato_numero(numero, decimales, separador_decimal, separador_miles){ // v2007-08-06
numero=parseFloat(numero);
if(isNaN(numero)){
return "";
}
if(decimales!==undefined){
// Redondeamos
numero=numero.toFixed(decimales);
}
// Convertimos el punto en separador_decimal
numero=numero.toString().replace(".", separador_decimal!==undefined ? separador_decimal : ",");
if(separador_miles){
// Añadimos los separadores de miles
var miles=new RegExp("(-?[0-9]+)([0-9]{3})");
while(miles.test(numero)) {
numero=numero.replace(miles, "$1" + separador_miles + "$2");
}
}
return numero;
}
フランスでは、多くの人が英語を話さない同僚と仕事をする場合、フランス語のオブジェクト/メソッド/変数名を使用してコーディングする傾向があります。ただし、実際には環境によって異なります。
経験則は、「あなたが働いている熟練した人/あなたが取り組んでいるプロジェクトが多いほど、英語になる可能性が高い」です。
ドイツでも同じようです。
私はスウェーデン出身で、私も同僚も英語でコーディングしています。これは良いことだと思いますが、顧客固有の用語や表現に相当する英語を思い付くのが難しい場合があります。
英語でコードを書く理由:
私が今まで使用したほとんどすべてのプログラミング言語は英語で書かれています(言語を混ぜるとコードが読みにくくなります)
最も人気のあるフレームワークとサードパーティの拡張機能は英語で書かれています(繰り返しますが、言語の混在は気を散らすだけです)
スウェーデン語の文字(åäö)は、通常、変数と関数に名前を付けるときに許可されていません
他のチームメンバーが別の国から来た場合でも、共同作業が可能です
プラットフォームベンダーからのサポートが必要な場合、彼らが私のコードを理解できるなら、彼らは私を助けるのがはるかに簡単です
サポートを外部委託する方が簡単です
私はインドのバンガロールから来ました。プログラマーは、さまざまな言語のさまざまな州の出身です。
私たちは英語でコーディングし、英語で文書化し、英語でコメントし、命名規則は英語です。オフィスで話している間、英語は私たちの共通言語です。
私はケベック州で、多くのプログラマーが英語でコーディングすることを好むのを見ました。私はあなたに良い引用を得ました。
彼らに英語でプログラムしてもらうと、彼らは英語を知らないことがわかります。
そのため、次のような宝石を見つけることができます。
//putting the conter to 0
i=0
明らかに、ターゲット言語を習得していない場合は、母国語でコーディングする方が適切です。それ以外の場合は、コードを難読化するだけです。
summery
transfar
sucess
ほんの数...名前を付けます
私はイギリス出身で、プログラミング用の確立された国際言語であるため、米国英語でコーディング(およびStack Overflowなどのサイトに投稿)しようとしています。
私は少数派だと思います。私が知っているイギリスのプログラマーの中には、アメリカ英語を使用している他のコーダーと協力しているときにイギリスのスペルを使用し、アメリカ人またはインド人の同僚がイギリスからアメリカ英語に変更するためにコメントを編集したときに動揺することがある人もいます(ウォードのウィキでは試さないでください))
私はオランダに住んで働いていますが、私たちが書くコードはすべて英語です。英語でコーディングする理由を考えることができるいくつかの理由を以下に示します。
英語でコーディングしない理由を考えることができる唯一の理由は、ドメイン駆動設計のコンテキストです。DDDの練習には、クライアントでユビキタス言語を定義することが含まれます。クライアントが英語以外の用語の使用を要求する場合、これらの用語をコードで英語に翻訳するのは賢明ではありません。ユビキタス言語の目的に反します。
ここイスラエルでは、英語以外の名前をコードで使用する人を見たことはありませんが、私の経験は大学のプロジェクトに限定されています。とにかく、私は個人的に英語でコーディングするだけで、実際にはすべてのメールと宿題を英語で入力します。これは主にヘブライ語が右から左に書かれているためであり、英語の用語をテキストに組み込むのは非常に面倒です。
私はドイツ出身で、クラス、メソッド、変数名をすべて英語で書いていますが、ほとんどの人もこれを行うと思います。しかし、コメントでは、それは私が働いている人に依存します。
そして、英語以外の言語で書かれたコードを見たら、コードを読むことができないので本当に嫌いです。誰かが英語と混合したドイツ語で文章を書くようなものです。
コーディング時に必ず英語を使用する必要があるもう1つの理由は、API呼び出しと言語固有の呼び出しが常に英語で書かれていることです。では、なぜ言語を切り替えるのですか?英語を使用すると、言語を切り替える必要がないため、考えるのに役立ちます。
また、これらのすべてのドキュメントとインターネット上のほとんどの質問と回答は英語であるため、とにかく英語で作業する必要があります。
見るのが恐ろしいと思う一例は
meinObst = "Apfel;Himbeere;Traube"
meinGeteiltesObst = meinObst.split(";")
for obst in meinGeteiltesObst:
...
ある言語から別の言語に切り替えるforステートメントでそれを絶対に見ることができ、それはIMOの良いことではありません。
私はスロベニア出身で、厳密に英語でコーディングしています。クライアントから要求されたため、スロベニア語でコーディングされたさまざまなプログラムを見てきました。どうやらそのようなコードを読みやすくなります。
そう、人々は英語でコーディングするだけではありません。
そして、私はソフトウェアのローカリゼーションではなく、コード自体について話している。
私はデンマーク出身です。
コード、ドキュメント、命名、設計ドキュメントなどはすべて英語で行われます。私は趣味と学生のプロジェクトでしか見たことがない-そしてそれでも非常にまれにしか。
私が見る唯一の未解決の質問は、(潜在的に)ユーザーに見える文字列についてどうするかです。
window.setHeader("????");
throw new ThisMightBeSeenByTheUserInAnErrorMessageException("????");
例外については、英語のメッセージを使用することを好みます。良く見えて、とにかくフレームワークからの英語の例外メッセージに対処しなければなりません。
GUIテキストについては、より不可知論者です。すべてを英語で記述し、ローカライズソリューションを使用してデンマーク語に翻訳することは、よりエレガントなソリューションですが、デンマークのユーザーのみが使用するアプリケーションにとっては非常に手間がかかります。
私はイタリア出身ですが、あなたが何を求めているのか分かりません。
オブジェクトの命名について話している場合は、はい、英語で行います。通常、生徒は学習目的でオブジェクトにイタリア語で名前を付けます。しかし、個人的に私はそれが難しいと感じ、英語を使用することを好みます。なぜなら、いくつかの専門用語はイタリア語では非常にひどいからです。
私はイタリア人です。私は通常、すべてに英語を使用します(*)が、Webのものを書いているとき、データベースオブジェクトに英語を使用することができませんでした。「プログラム言語」と「ドキュメント/ URL / UI /顧客言語」の間で概念を翻訳しなければならないことは、あまりにも多くの負担を追加します。また、データベースオブジェクトは、翻訳が困難または不可能な官僚的な用語から名前を取得する場合があります。そのため、データベースオブジェクトとそれに関連するものにはイタリア語を使用しました。コメントはイタリア語でもありました。同じオブジェクトを参照しているため、不自然に聞こえます(イタリア語には多くの英語の専門用語は存在しませんが、DBは語彙がかなり充実している分野です)。
ただし、再利用を目的としたクラスライブラリを作成したときは、すべてのクラス、変数、およびコメントに英語を厳密に使用しました(コードサンプルがあり、バイリンガルだったトップレベルのコメントを除く)。
(*)1つの例外:ダミー変数には、fooとbarではなく、常にpippoとpluto(「Goofy」と「Pluto」)という名前を付けます。:)
ええ、そうです。私はウルグアイ出身で、通常は変数名を英語でコーディングしています。スペイン語でコメントを残す人もいますが、少し気まずいです。以前の仕事では、変数とメソッドにスペイン語を使わざるを得なかったので、嫌いでした。
私は現在オランダにいますが、元々ロシアから来ています。11年前、ロシアの多くのプログラマーは英語の良いコマンドを持っていなかったため、コメントはしばしばロシア語でした。対応するロシア語の単語が長くなる傾向があり、時には意味をあいまいにするように見えるため、変数名と関数メソッドはまだ英語、または人々が英語だと思ったものでした。今ではおそらくどこにでもあります。プロフェッショナルな人ほど、コメントが英語で書かれている可能性が高くなります。
オランダでは、プログラマーの大部分がオランダ人である会社(そのような会社は存在します:))でオランダ語のコメントと変数/メソッド名を見ましたが、それは唯一のケースでした。
ところで、「西に来るまでラテン系のアルファベットを知っていましたか?」という質問は、私がそれを笑うことを学ぶまで私を悩ませていました:)
私は10年前にアメリカに来ましたが、英語は私の第一言語ではありません。学校で英語の読み書きの方法を学んだにもかかわらず、私は自分の言語を話せない人と結婚するまで英語を上手に話せませんでした。まあ、英語も彼女の第一言語ではありませんでしたが、お互いの言語を学習しようとするよりも、コミュニケーションに英語を使用する方が簡単であることがわかりました。同じことがプログラミングにも当てはまると思います。誰もが自分の考えを自分の言語で表現すると、知識が散らばってしまいます。英語は必須ですか?おそらくない。ほとんどの人はそれを必要としません。私の家族は大部分が農民であり、彼らのほとんどは英語を知らなくても有用な生活を送ることができます。人生の成功は、世界のさまざまな地域で異なる意味を持っているため、私は言いません。
私は聖戦に参加したくありませんが、プログラミングの英語は「Uいアメリカ人」プログラマとは何の関係もないかもしれません。異なる言語を話す人々のために協力するのに便利な方法かもしれません。どの言語でもかまいません。将来的には、中国語でコーディングおよびコメントする予定です。もしそうなれば、それはおそらく「glyい中国人」プログラマーによるものではなく、むしろ、より多くの国のより多くの人々が中国語を使って部外者と通信するからでしょう。
私はベラルーシ出身ですが、コメントには常に英語を使用しています。そして私が知っているように、多くのベラルーシのプログラマーはコーディングの第一言語として英語を使用しています。
/// <summary>
/// Get item quantity
/// </summary>
/// <param name="itemCode">Item code</param>
/// <param name="grade">Grade</param>
/// <param name="lpn">LPN</param>
/// <returns>Returns item quantity</returns>
private int GetQuantity(string itemCode, string grade, int lpn)
{
using (var db = new MappingDataContext(_connection))
{
db.ObjectTrackingEnabled = false;
return (from i in db.INVENTORs
where i.ITEM_NO == itemCode
where i.CUSTCHAR12 == grade
select i.ITEM_NO).Count();
}
}
私は確かに奇妙な人です:私はトークン化された言語を使用しているので、言語自体もあなた自身の母国語(フランス語、英語、ドイツ語、スペイン語、日本語)で表示できます。1980年代に生まれたRBDMS言語で、4th Dimensionと呼ばれます。フラグアイコンをクリックして、言語コマンドの翻訳をご覧ください。
以下では、フランス語と英語の設定で見られる同じコードを見ることができます。
私はケベック出身でフランス語を話す人ですが、コード、コメント、ドキュメントはすべて英語で書かれています。しかし、私はケベック州のいくつかの企業を知っている強制コードでフランス語を(コメントおよびオブジェクト/変数の命名を)。
私はいつも英語でコーディングしています。また、私はこのようなコードを決してしたくありませんでした:
क = 1;
कुल = 0;
जब तक क छोटा है 10 से {
कुल += क;
}
छापो कुल
कार्य खाली मुख्य ( ) अंक समय लिखें "Enter current time"
पढें समय अगर [ समय < 12 ]
लिखें "Good Morning"
वरनाअगर [ समय >= 12 और समय < 16 ]
लिखें "Good Afternoon"
वरना लिखें "Good Evening"
खत्म अगर
खत्म कार्य
私はノルウェー出身で、英語でコーディングしています。意味の変数名、メソッド名、コメントなどは英語です。ただし、いくつかのバリエーションがあります。コメントはノルウェー語で、コード自体は英語で見つけることができます。
政府機関または非常に小さな会社によって開発されたコードは、ノルウェー語である可能性があります。企業はノルウェー語を話さない、またはアウトソーシングを行いたい人を雇うため、一般的にノルウェー語を使用することは非常に非現実的です。ノルウェーのコードを使用すると、事態が複雑になります。海外の顧客を扱う特定の規模のほとんどの企業にとって、英語は会社の言語です。従業員は明らかにノルウェー語を話しますが、意味のあるメール、発表などは英語で行われます。