不可算名詞

懐かしいですね。受験の時勉強したなぁ。water, music, love等の名詞については、基本的に複数形を使わないよ、というアレですね。形がないものや抽象概念を表すので個数として数えにくいものや、集合全体の概念をとらえた単語なんかがそれに当たります。(参考:http://www.linkage-club.co.jp/ExamInfo&Data/uncountables.html

で、昨日プログラミングの話で「 getStudies():List 」なんていう話をした時に「勉強という意味でのstudyは不加算名詞。論文とかにする研究については加算だけど…」なんていう話を聞いて懐かしくなった。その場は「おお、そうなのか。昔習ったような忘れたような…w」という感じで getStudy() にしてみたのだが。

確かに「自然言語としての英語の世界」ではそうなのかもしれない。しかし自分は今、「勉強を数えられる、そして数えなければいけないドメインをプログラミングする世界」に居るので、数えても良いのではないか、なんて考えている。

私は変数名なんかを付けるとき、Collectionや配列型の変数にはなるべく複数形の名詞をつけることにしている。それによって「集合」と「要素」を直感的に扱えるから。しかし study について厳密に英文法に従うと、どちらも study という変数名になってしまう。つまり、実務上の小さな問題がある。

言語にとって一番大事なのは「文法上正確であること」よりも「表現力豊かであること」だと思うので、このような場合はむしろ studies という複数形を用いて「この世界では study を数えるのだ」という表明をすると良いんじゃないか。

ルールに乗っかって思考停止するのは危険だと思ってる。その場その場で最適解は異なるので「これがルールだから」で終わらせないように気をつけたいですね。まぁ、理屈っぽいとも言われるのだけどw