Javaと英語の関係
実は私がJavaを学びだした2000年頃はネットにも書籍にもJavaの情報は多くありませんでした。いえ、実は多くはネット上にありましたがそれは英語の情報でした。日本語に翻訳されたものは少なくまた少し古いものでした。なのでJava最新の情報を得るには英語が必要でした。
そもそも最初にJavaが生まれたのもアメリカですし、育ったのも、つまりバージョンアップされたのもアメリカです。なので文法や用語も英語の影響を強く受けています。私にもJavaで初めて知ることになった英単語がありました。もしJava言語にプログラム言語以外の祖語を求めるとしたらそれは英語になるでしょう。
Javaの予約語とは
Javaには予約語と呼ばれるあらかじめ確保されている単語があります。英語ではreserved keywordあるいは単にkeywordと呼ばれています。それらはソースコードの記述の中で特別の役割を持ちます。予約語は全て英単語あるいはその略称です。
以下に予約語のリストをアルファベット順に作りました。略称は右側に元の単語を書いてあります。単なる英単語として以下のうちどのくらいの単語の意味を知っていますか?
| abstract | |
| assert | |
| boolean | |
| break | |
| byte | |
| case | |
| catch | |
| char | characterの略、 C言語の予約語 |
| class | |
| continue | |
| default | |
| do | |
| double | |
| else | |
| enum | enumerationsの略、 C言語の予約語 |
| extends | |
| final | |
| finally | |
| float | |
| for | |
| if | |
| implements | |
| import | |
| instanceof | instance ofを連結したもの |
| int | integerの略、C言語の予約語 |
| interface | |
| long | |
| native | |
| new | |
| package | |
| private | |
| protected | |
| public | |
| return | |
| short | |
| static | |
| super | |
| switch | |
| synchronized | |
| this | |
| throw | |
| throws | |
| try | |
| void | |
| while |
どのくらいの単語について意味がわかりましたか?わからない単語は一度英語の辞書で本来どう意味なのかを調べてください。英語話者はこれらの言葉が日常的に深く染み込んだ状態でスタートラインに立つのです。英語を理解していない状態と比べるとこれはとても有利なことです。
Javaを学ぶにあたってこれらの言葉、そしてその言葉の成立した背景を素通りすることはできません。Javaの語学力をより向上するためには「よく意味がわからないけれどこんな書き方をすれば動く」から「意味を理解して書けば動く」への発想の転換が必要です。
ソースコードを書くということはJava作文のことです。日本語の設計書をもとにソースコードを作成するならそれは和文Java訳といえるでしょう。