何故かアルゴリズム 5 Hello world! 「EachLanguage_Program_2」
最初は、どのプログラマーでもやるという「Hello, world」という文字を画面に写すだけのことをやります。(面白くありませんね)これから、色々なことがわかります。
ということで、プログラムを、、、
BASIC
10 PRINT "Hello, world"
C
#include <stdio.h> int main(void) { printf("Hello, world"); return 0; }
C#
public class Hello{ public static int Main(string[] args){ Console.WriteLine("Hello, world"); return 0; } }
Go
package main import "fmt" func main() { fmt.Printf("Hello, world") }
Java
public class Hello { public static void main(String[] args) { System.out.println("Hello, world"); } }
Perl
print "Hello, world!\n";
Prolog
goal :- write('hello, world!\n').
Python
print("Hello, world!")
Ruby
puts "Hello, world!"
VB.NET
Public Class HelloWorldApp Shared Sub Main() System.Console.WriteLine("Hello, World!") End Sub End Class
という感じです。
解説
プログラムは、各言語によって様々です。もともと、言語ごとに「方向性」が違うので、このように変わります。
CやJava、VBなどは、他より少し長いです。これらは、中を見た時に「Class」というのを使っているのがわかります。
Classは、「オブジェクト指向」の言語において、"それぞれの設計書"と言った感じの物です。
オブジェクト指向とは、処理が「Object」というものの振る舞いとして出来ているとする考えです。つまり、Objectの名前やら、大きさやら(状態、プロパティ)を「実体(インスタンス)化」して、それを制御している感じです。
そして、その中にある「メソッド」は制御するもので、振る舞う側です。
メソッドは、こちら側で「定義」することも出来ます。また、「呼び出す」事もできます。(もちろん声を出すのではなく、書き出すのです)
今回は、「Hello, world」を表示するので、"Hello, world"というプロパティを"表示する"メソッドを書けばいいのです。
ただ、その時にJavaなどはクラスの定義が必要になりだけです。また、他に"main"メソッドも必要です。これは、そのプログラムを実行するときに必要になります。
他の処理はまた説明します。
ちなみに、プログラムを実行すると、こうなります。(今回はPerlで)