- PR -

メソッドや変数に日本語を採用したい

投稿者投稿内容
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-10-05 01:13
こんばんは。なんか数人釣られてくださってるので、もすこしつづけてみますw

引用:

まりもさんの書き込み (2006-10-04 17:42) より:
ということで。絶対に日本語にすべきだ、と思います。


私も基本的に日本語肯定派ですが、これはちょっと言いすぎだと思ったので少し反論をば。

引用:

仕事でやっているのですから、効率を考えなくてはいけません。
しかも、英語で書く理由が、そのほうがかっこいいから、とかいう理由だとしたら。なんかもう、明日から会社来なくていい、という感じではないでしょうか。


まず、これは真向から否定します。
プログラムに限らず、「よりかっこいいものを作りたい」という主体的欲求は、何かを作る上では非常に重要なことです。
#もちろん仕事としてやる以上は、予算の許す範囲内で、ということになりますが

そして、「こっちの方がかっこいい」と感じるのは、その理由を論理的に説明することを苦手とする人も多いでしょうが、何かしら理由があるわけで。

私が考える主な理由は2つ。

1つめは、.NET Frameworkのクラスライブラリが英語なので、どう足掻いてもソース中への英語の混入は避けられない、つまり日本語と英語が混在する状況になる、ということ。

2つめは、日本語と英語が混在すると、単語の並び順がばらばらになってしまうことです。

引用:

プログラムとはいっても、その記述を見ると、
主語[インスタンス名].動詞[メソッド名](目的語[引数])
なんて形で書いてあるわけで、ちょっと片言ですが、
まあ半分くらいは自然言語と同じ、と考えてもよいのではないでしょうか。


この、「主語、動詞、目的語、修飾語」という並び順がもう英語文化なんです。
ex) John goes to Tokyo with Mary
日本語だと「主語、修飾語、目的語、動詞」の順が自然です。
ex) ジョンはメアリーと一緒に東京に行く

なので、日本語として自然な記述をしようとすると、英語のそれと単語の並ぶ順序が違うものになり、
同じソースコード上に異なる順序で単語が並んだ行が混在することになり、
これを順に読んでいくと、ところどころで思考が寸断されます。

この思考の寸断が違和感となり、それが「かっこわるい」という印象にもつながっている気がします。

引用:

その後に出てきたコンピュータ言語の進歩というものは、
すべて人間に読みやすくするためにあったものでしょう。
で、進歩を重ね、かなりわかりやすくなってきています。


そういうわけで、これも事実ですが、追求される「読みやすさ」はやはり英語ベースでしょう。


こんだけ言っといてなぜ私が日本語肯定派かというと、
名詞のとこだけ日本語にすればいいじゃんと考えているからです。

詳細設計やったことがある人ならだいたいわかると思うんですけど、メソッド名とか考えてて英訳に困るような名詞が出てくることはあっても、英訳に困るような動詞が出てくることってまずないですし。

あと、普段から動詞はじまりのメソッド名に慣れてると、インテリセンスで真っ先に動詞から探しにいきますし。
かといって、「追加要素」とかいう名前にすると意味変わっちゃうんで、Add要素。いや、ここはAddItem(笑)

やっぱり、普段から使い慣れた、.NET Frameworkのクラスライブラリ中にも頻繁に出てくるような単語だけで事足りる場合は英語つかっちゃいますねぇ

そうじゃない単語がいっぱい出てくる業務系APでは、名詞のとこだけピンポイントで日本語化します。

<追記>
今思いついたんですが、命名をアプリケーションハンガリアンにして、さらにプリフィクスの後に仕様書上の項番を付加しとくと、インテリセンスのソート順の問題も解決しますね

[ メッセージ編集済み 編集者: ぼのぼの 編集日時 2006-10-05 01:39 ]
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2006-10-05 10:27
引用:

ぼのぼのさんの書き込み (2006-10-05 01:13) より:

こんだけ言っといてなぜ私が日本語肯定派かというと、
名詞のとこだけ日本語にすればいいじゃんと考えているからです。

詳細設計やったことがある人ならだいたいわかると思うんですけど、メソッド名とか考えてて英訳に困るような名詞が出てくることはあっても、英訳に困るような動詞が出てくることってまずないですし。

あと、普段から動詞はじまりのメソッド名に慣れてると、インテリセンスで真っ先に動詞から探しにいきますし。
かといって、「追加要素」とかいう名前にすると意味変わっちゃうんで、Add要素。いや、ここはAddItem(笑)

やっぱり、普段から使い慣れた、.NET Frameworkのクラスライブラリ中にも頻繁に出てくるような単語だけで事足りる場合は英語つかっちゃいますねぇ

そうじゃない単語がいっぱい出てくる業務系APでは、名詞のとこだけピンポイントで日本語化します。

<追記>
今思いついたんですが、命名をアプリケーションハンガリアンにして、さらにプリフィクスの後に仕様書上の項番を付加しとくと、インテリセンスのソート順の問題も解決しますね


るぱんです。

名詞ってのは.Netの場合、プロパティ含みますよね?
既知のプロパティってのは.Contextだったり.Textだったり、
英語ですので、名詞も日本語と英語が混在してしまうんですね。

確実に日本語だけ・・・とか、英語だけ・・・って寄せられるなら、
日本語で構わないんです。

なので、日本語反対。(笑)

スキルアップ/キャリアアップ(JOB@IT)