ソースコードのコメントを日本語で書く大切さ

グローバリズムが重要視される現代で英語の習得は大切だと思います。
情報量を見れば圧倒的に英語が多い世の中です。
アウトプットをするには、倍以上のインプットが必要でしょう。
英語ができることは利益になります。

しかし、だからと言ってソースコードのコメントをすべて英語にする必要はない私は思っております。
むしろ「日本語で書いた方が良い場合の方が多い」と強く思います。

# 英語は最高に素晴らしい言語・・・ではない
私は「英語はとても使いづらい言語」だと思います。
世の中に溢れているだけで素晴らしいとは思いません。
数が評価の指標となるなら、人間よりも生体数が多く夏に湧く黒くて大きくてゴがつく虫は人よりも素晴らしい、といえるのではないでしょうか？

英語が良い言語ではないと考える理由の１つが発音と綴りの不一致です。
「『Ghoti』は『Fish（フィッシュ）』だ」という言葉を聞いたことはありませんか？
https://ja.wikipedia.org/wiki/Ghoti
> - gh - laugh (ラフ [læf], [lɑːf]) における gh と同様、[f] の音を表す。
> - o - women (ウィミン [ˈwɪmɪn], [ˈwɪmən]) における o と同様、[ɪ] の音を表す。
> - ti - nation (ネイシャン [ˈneɪʃən]) における ti と同様、[ʃ] の音を表す。

英語（アルファベット）は「表音文字」と習うのに、実際に蓋を開けてみれば発音と綴りが一致しないのです。
この発音と綴りの不規則性で英語が嫌いになった人は少なくないのではないでしょうか？

しかし、これには歴史的背景があり、仕方ないと言えば仕方ないとも思います。
（参考：『圧倒的腹落ち感！英語の発音と綴りが一致しない理由を専門家に聞きに行ったら、犯人は中世から近代にかけての「見栄」と「惰性」だった。』 http://eikaiwa.dmm.com/blog/34958/ ）

英語は最高に素晴らしいわけではありません。世の中に溢れているだけです。

「では、最高に素晴らしい言語はなんなのか？」

私は「日本語」とはいいません。
日本語もとても使いづらい言語です。

たとえば「一寸」。
これは何と読むでしょうか？
いっすん？
いえ「ちょっと」とも読むんです。

「人気」は「にんき」とも「ひとけ」とも読みます。
「上手」は「じょうず」とも「かみて」、「うわて」とも。

これは大和言葉と漢字が混じりあった結果です。
何よりも私達は「は」が副助詞になる場合には「ワ」と発音しています。
慣れていると疑問に思いませんが英語と同じように記述と発音が違う例外もあるのです。
それが理解できないという他言語の方もいるわけです。

# 日本人のコメントを読む９割の人は日本人
大企業のプログラマーでもない限り、日本に住んでいるプログラマーのほとんどが中小企業のプログラマーでしょう。
私もその一人です。右、左、前、後。どこを見ても日本人しかいません。
母国語はもちろん日本語です。得意な言語も日本語です。

見よう見まねで英語を書いたとしても間違っている場合が殆どです。
校正してくれる人もいません。
もしかしたら間違いを指摘してくれる人がいるかもしれませんが、その指摘も間違いである可能性があります。
正当性を確かめる手段は日本語よりも限られています。

そして言語というものは意思疎通を早めるために簡略化されていくものです。
同じ句、同じ文言、同じ文法を使うようになります。
多少、間違った用法でも伝われば良いとされてしまうのです。
すると、それはもう英語ではなく「ピジン語」です。
そこでしか伝わらない英語が生まれてしまうわけです。
つまりはドロケーやトランプ、 UNO のように地方ルールが出来上がってしまうのです。
そうすれば、その世界はグローバルではなくローカルな世界となります。

そんなこと起きない、というのなら日本語に方言は生まれなかったと私は思います。

常にコメントを英語で書くにはシッカリとした崩れない土台が必要なのです。

# コメントを書くにも技術が必要
「応急処置」
「なぜか動く」
「誰か直して」
「20xx-xx-xx 追記」

こういった意味のない落書きのようなコメントに多くの人が発狂してきたと思います。
そういう経験を経てコメントの重要さを学んできたのではないでしょうか？
PHPDoc、JSDoc、SassDoc 等を知る人ならばソースコードと共に API 仕様書を作成する大切さを知っていると思います。
コメントは「どうしたら未来の自分、チーム、プロジェクトのためになるのか」を考えながら書くものでしょう。
それはプログラミングと同じで一夜漬けでできるようになるものではありません。
沢山の経験という基盤から来る技術が必要なのです。

その技術を「自分が英語が書けるようになる」ために疎かにしてはいけないと思うのです。
英語ができなからコメントを書かない、もしくは英語（コメント）を書くと（日本語より時間が掛かり）納期に間に合わないから書かない、英語は解読に時間が掛かるから読まない、という行為はコメントを書く機会を棒に振るだけでなく、コメントを読む機会も失ってます。
このような不利益を生むぐらいであれば、慣れた日本語で書き読みし、沢山の経験を重ねたほうが有益ではないでしょうか？

# 正しい文法で書かれた日本語ならどんな言語にも翻訳できる（はず）
20年程前は翻訳ツールも生まれたばかりで、変換された文法は使えるものではありませんでした。
しかし、今日では技術は格段に進歩しており、簡易な文であれば、ほぼ的確な翻訳ができるようになっています。

いくら英語での情報量が多くても英語のネイティブ・スピーカー（英語が母国語の人）は世界で約5.6％しかいません。
それ以外の人たちは別の言語が母国語なのです。
つまり、英語は他言語同士のハブとして使われているわけです。
より、他国の人と意思疎通をしたいのであれば、英語ハブ経由ではなく、その人の母国語を使うほうがより良いのではないでしょうか。
それを望む人が多いからこそ、翻訳ツールは今も進化を続けているのではないでしょうか。
もしかしたら、日本人が一緒に働く人も欧米人より、中国、韓国を含めてアジア圏の方が多いのかもしれません。

上記を踏まえると英語のドキュメントだけを作るよりも、他言語のドキュメントも多岐にわたって作るほうがより広い世界（グローバル）だという見方もあると思います。

アメリカナイズではなくグローバリズムを目指すのであれば、文章は英語以外にも翻訳される可能性を考慮したほうが良いと私は思っています。

そして、SNS のような口語や俗語、新語が飛び交う世界の文ならまだしも、プログラマーが書くコメントはソースコードの説明文です。
名称（PHP や Git、commitなど）を除き、語句は既に定義されており、主語と述語で構成された文である必要があるでしょう。
日本語は主語を省略しがちですが、省略できるのは行間を読み手に理解してもらっているからです。
この行間はもしかしたら他言語では読み取ってもらえないかもしれません。
コメントは自らが書店に行って選ぶ書籍とは違い選ぶことができません。
読む人は多岐にわたっています。
なるべく簡素で解かりやすい文であったほうが良いでしょう。
そして、簡易な文章であれば、現状の翻訳ツールで他言語に変換しても大体は理解できるものになるのではないでしょうか。

もちろん全てを機械翻訳に頼るべきではないでしょう。
テストもせずに成果物を納品するようなものです。
きちんとした校正が必要です。
それをするには、まずはしっかりと自分自身が最も得意である日本語で書いて、自分自身の伝えたい内容を明確にさせ、その後で間違っているかもしれない他言語に直したほうが良いのではないでしょうか。

# まずは身の回りにいる人とコミュニケーション
私が言いたいのは「英語なんて学ぶ必要はない」ということではありません。
情報量を増やすために英語はとても重要でしょう。
そして、他言語を学ぶことは母国語を学ぶことにも繋がります。
しかし、閉じた世界（誰も正しい英語を知らない世界）で英語を使ってもピジン語にしかなりません。
英語を学ぶことに必死になって、英語はおろか、まともな日本語すら書くことができなくなることもありえます。

ソースコードのコメントはプログラマーにとって大切なコミュニケーション要素の一つだと私は思います。
そのコミュニケーションを無理に英語でするのではなくて、身に染みついた日本語を使い、素早く、的確で、密にしたほうが、小さな日本のプロジェクトでは皆のためになるのではないかと思うのです。
英語力もコメント技術も、仲間とのコミュニケーションの取り方も、ながら作業で実るものではないと私は思います。