Hello, Worldを12種類の言語で書いてみた

Hello, worldを10種類ほどの言語で書いてみた。

これからしばらくは基本的なアルゴリズムを複数のプログラミング言語で書いていく。 出てくる言語はドットインストールProgateなどで学習したことがある言語ばかり。

基本構文を学習したとは言え、言語の世界観を知るためには物足りないと思っていたので、とりあえずアルゴリズムでも書いて自分の好奇心に餌を与えちゃろう!と思っているのだ。

それから、アルゴリズムのイメージをプログラムに落とし込む能力をアップさせることもねらい。

僕は、アルゴリズムそのものをイメージする力も、それをプログラムに落とし込む力もそれ程高くない。 初めてクイックソートを書いた時なんて、納得するまでに相当な時間を要した。

だから、トレーニングとして基本的なアルゴリズムをよく書いているけれど、そのうち手が書くことを覚えてしまって、トレーニングにならなくて困っていた。

複数言語をまたげば、異なる書き方が強制されるので、いい刺激になりそうだと思っている。

あと、正規表現クックブックというオライリー出版の神本があって、これはいろんなパターンの正規表現処理を7言語に渡ってどう書くかを解説してくれるヤバイ本である。

僕は仕事でこの本に馬鹿みたいに助けられて、この本が大好きになってしまい、要は真似したくなったのだ笑

この本が無かったら、今でもゴミみたいな正規表現を書いていただろうと断言できるぜ・・・。

話が若干逸れたけど、以下本題。

実行環境はcoding groundというWEB上でコンパイルから実行までしてくれるサービスを使用。

JavaScript

console.log('Hello, world!!')

PHP

echo "Hello, world!!";

Perl

print "Hello, world!";

Python

print('Hello, world!!')

Ruby

print "Hello, world!!"

Go

fmt.Println("Hello, world!!")

Kotlin

println("Hello, world!!")

Swift

print("Hello, world!!");

C#

Console.WriteLine("Hello, world!!");

C

printf("Hello, world!!");

C++

cout << "Hello, world!!" << endl;

Lisp

(write-line "Hello, world!!")

本当はmain()必須など前処理が必要な言語もあるのだけれど、趣旨じゃない気がしたのでスルー(笑)

どれもそれほど変わりは無いだろうと思っていたけど、C++Lispが異彩を放っていて、さすがという気持ちになった(笑)

それから、自分の関心のある言語ってオブジェクト指向系なんやなあと気づく。プログラミング言語銀河と勝手に読んでいるサービスを参照。ALGOL系はあんまり触ったことが無いけどそのうち使ってみたい。

しかし、hello worldは簡単すぎた。ソートやサーチ等のアルゴリズムを複数言語に渡って紹介しているサイトとか欲しいなあと思った。