日本語識別子の必要性

1,639 views
1,478 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,639
On SlideShare
0
From Embeds
0
Number of Embeds
143
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

日本語識別子の必要性

  1. 1. 日本人がプログラマーとしてやっ ていくために大切なこと
  2. 2.  よいプログラマーになりたい日本人 日本人をよいプログラマーに育てたい人 ここでよいプログラマーとは  複雑なロジックをプログラムにできる  生産性良くプログラムが組める  拡張性の高いプログラムが組める
  3. 3.  よいプログラムとは、  人が読んで理解しやすいプログラムです  コンピュータにとってみれば、バグさえなけ ればどんなプログラムも同じです コンピュータは識別子名を読みません 人間は識別子名を読みます  日本語か英語かは重大な違いとなります
  4. 4.  識別子は重要です  昔ならiとかjとかでも十分だった  今はそれでは時代遅れです  例えば、名著と名高いCode Completeでは、 変数の識別子名に一章当てています  ほか、クラス名やメソッド名にもページを割いて います
  5. 5.  解読しやすい 読めば分かるので解読する必要もない 例:  numberOfPeopleOnTheUsOlympicTeam  maximumNumberOfPointsInModernOlympics  checkTotal  currentDate  linesPerPage これは誤訳ではないでしょうか
  6. 6.  英語を母国語にした人にわかりやすい例を英語で挙げている 日本人に説明するわかりやすさの例として適切ですか?
  7. 7.  この例は、わかりやすさの程度を伝えるのに適切か?  numberOfPeopleOnTheUsOlympicTeam  maximumNumberOfPointsInModernOlympics  checkTotal  currentDate  linesPerPage 作者が伝えたかったわかりやすさはこちらでは?  アメリカオリンピックチームの人数  近代オリンピックでの最高点  小切手の総額  現在日付  ページあたりの行数⇒英語圏ではみんな、下の例くらいわかりやすくしなくてはな らないのだな、と思って読んでます
  8. 8.  コメントは、プログラムでは表せないことを 書くものです  プログラムの説明をすべて書くものではありませ ん  少なくとも英語圏のプログラマーにとっては 現代の有力なライブラリのインターフェース は、コメントなしでも読みやすい  Ruby on Rails  .NET Frameworkの先進的な部分とか
  9. 9. Q.日本人には、英語でわかりやすい識別子は書けないか?A.書けます  ただし、時間がかかって面倒です  いちいち辞書を引いたり  しかも、効果は薄いです  一生懸命に推敲した英語より、日本語で適当に書 いたほうが読みやすい⇒実際にはやってもあまり意味がでないため、気合を入れてまでやらない人が多い
  10. 10.  よいプログラムとは、人間が読みやすいプログラムです 人間が読みやすくするためには、識別子(単語)の選択は重要 よいプログラマーとして成長には、識別子をじっくりと推敲することが必要です 日本人にはそれを理解するのが難しい環境になっています
  11. 11.  とはいっても、日本語識別子なんて世界ではだれも使ってないし・・・ 本当にそうですか? 重要となるのは、母国語を使っていることですよ?
  12. 12.  英語圏(アメリカなど3億5千万人) ⇒母国語を使って当たり前 むしろ、使わないという選択肢が存在しない 英語公用語圏(インドなど14億)  多くの国は子供のころから英語を使っているらしい (特にインド) ヨーロッパ圏(フランス・ドイツなど)  プログラムの学習時に英語識別子使っていると思い ます?  印欧語族圏は英語を覚えるのも簡単  母国語と同じように使える人が多い 変数名が小学生に簡単にわかって当たり前、と思って いないのは、日本人など上記以外の人だけですよ?
  13. 13. 参考 本土日本語1700 琉球語
  14. 14.  Unicodeに対応していないツールが多いか ら仕方がない⇒対応してないのは誰のせいですか? 既存ソフトウェアをUnicode対応にするコ ストはなぜ出るのでしょうか? 日本人、中国人などがUnicode対応の必要 性を主張しないで、誰が代わりに主張し てくれるのでしょうか?
  15. 15.  個人的に英語を学び、英語圏の情報や人に接 することは素晴らしいことです  しかし、それを全員に強要できますか?  情報収集やコミュニケーション以外の、日々の作 業を使ってやりますか?  ましてや、全員の日々の作業を英語でやるよう強 要しますか? 英語の勉強はいいこと≠ 英語を使うのは全ていいこと
  16. 16.  明治時代の日本  外国文化を取り入れようと努力  最初のうちは先生も教科書も外国語  後に、外国語をすべて漢字で表現  日本語が読める人なら誰でも勉強できる 多くの非先進国  教科書は外国語  大学出のエリートは、みんな英語ぺらぺら  でも、大学についていける人は少ない⇒プログラム業界に関しては日本は後者に近い
  17. 17.  英語識別子が必要な場合  世界に公開するオープンソース開発  開発メンバーに日本語が話せない人が多い 開発ツールがまだ日本語識別子に全然対応し ていない ⇒英語を使うにはコストがかかるが、コストを かける必要がある場合は計画的にかければよい だけ
  18. 18.  よいプログラマーになるために必要  英語識別子を使うときは使ってよいが、それ だけではよいプログラマーになれない  ずっと仕事を片言でやっていて、専門性の高 い、思考力が必要な仕事が覚えられますか?  たまには母国語でわかりやすさを徹底的に考 慮して推敲する経験が必要 単純な仕事の場合はコストに響く

×