「こんにちは、私の名前はラガ・ビラーボです。この船で医者をやってる宇宙人です。仲良くなれるといいですね。」
「そうですね。」
「私の故郷の惑星では、時代遅れの Java プログラミング言語じゃなくて、進歩した Pascal プログラミング言語を使っています。Java のコードと Pascal のコードを並べて比較してみましょう。」
Java | Pascal |
---|---|
|
|
「これは同じプログラムを 2 つの異なる言語で書いています。見て分かるように、Pascal の方が行数が少ないので、Java より優れた言語であることが分かります。」
「Pascal のコードを見たことがあるなら、この例を見て Java の理解を深めることができると思ったんですよ。」
「Pascal は見たことないです。でも、2 つのプログラミング言語を比較するのは興味深いですね。」
「いいでしょう。では続けますよ。」
「Pascal では、コードをプログラム本体、procedure (プロシージャ)、または function (関数) の中に記述します。Java ではこのプロセスが簡略化されて、プログラム本体、プロシージャ、そして関数はメソッドと呼ばれる関数に置き換えられています。」
Java | Pascal |
---|---|
main メソッド
|
プログラム本体
|
関数 / メソッド
|
Function (関数)
|
戻り値の型が void の関数
|
Procedure (プロシージャ)
|
「Pascal の方は 'プログラム本体'、'function (関数)'、そして 'procedure (プロシージャ)' という言葉が使われていますが、Java では全部メソッドになっていますね。ちょっと変な感じがしますね。」
「そうなんです、私たち宇宙人にとってはとても違和感があるんですよ。でも人間は全部 1 つにまとめたがるんです。」
「Java では、すべてのコードがメソッドの一部になっているから、メソッドを宣言するときに、Pascal でやるようにわざわざ Function って言葉を書く必要はありません。」
「すべてシンプルになっています。もし 型 + 名前 と書かれたコードがあれば、それはメソッドか変数の宣言です。その名前の後に丸括弧が続いていたら、それは新しいメソッドの宣言です。丸括弧がなかったら、変数の宣言ということになります。」
「Java では変数とメソッドの宣言はよく似ているんです。自分の目で確認してみてください。」
コード | 説明 |
---|---|
|
name という変数は String です。 |
|
getName を返す String というメソッド。 |
「でもこれだけではありません。Java のメソッドは孤立して存在することができないので、クラスの中に置く必要があります。したがって、Java で小さなプログラムを 1 つ書くだけでも、地球人はわざわざ最初にクラスを作成し、その中で main メソッドを宣言してから、 やっとメソッドにコードを書くという作業を行っているんです。地球人って本当に変ですよね!」
「先ほどディエゴが来て、あなたにタスクを置いていきましたよ。楽しいタスクだといいですね。」
GO TO FULL VERSION