えびのらくがき

とある理系技術者の気晴らし雑記帳 読んだ本の紹介や科学コラムなど!

プログラミング言語図鑑(増井敏克)〜ハノイの塔のプログラムを実際に書いてみた!〜

f:id:ebikazuki:20190110205245j:plain

今回読んでみた書籍は、プログラミング言語図鑑(増井敏克)です。

プログラミングは素人ですが最近勉強を始めたということもあり読んでみました。
 

内容

C、C++JavaPythonPHPなどを始めとした全67言語が紹介されています。
 
基本的に1言語あたり見開き2ページで紹介されていて、イメージ図と簡単な紹介、
そしてその言語でハノイの塔のプログラムを書いた例が記載されています。
 
加えてプログラミングの基本知識や、Ideonというwebでのプログラム実行環境の紹介などがあります。

感想

絵が多めなので、ぱっと見で言語の雰囲気がわかりとても読みやすく感じました。
プログラミング素人の私が知っていたのは10言語程度、ほとんどが初見であったため、「へー、こんなのもあるのかー、ふむふむ。」という感じて楽しく読めました。

 印象的に残った言語

特に印象的だったのは、『Whitespace』という言語です。言語の構成要素は『空白』『タブ』『改行』の視覚的に文字が入力されることが一切ないもののみとなっており、出来上がりのソースコードはその名前のとおり”真っ白”となります笑。というのもこれは、データの隠蔽技術である『ステガノグラフィー』として利用されているためであり、決して”おふざけ”ではないのです。
 
そのほかにも難解言語『Brainfuck』など、この先自分が使用することは絶対にないであろう面白い言語が紹介されており、たいへん興味ふかい書籍でした。

 評価

200ページ
おすすめ度:★★★★☆
新しい出会い:★★★★★
 

ハノイの塔プログラムを実際に動かしてみた

プログラム例として、紹介されていたハノイの塔を実際に試してみました。
 
ハノイの塔とは下図の様に、一本の軸に円盤が大きい順に重なった初期状態から、円盤を一枚ずつ移動させ、小さな円盤の上に大きな円盤が乗らないようにするという条件を守りながら、最初とは別の軸へ初期状態の円盤の重なりをそっくりそのまま移すというゲームです。
 
 
ソースコードを以下の様に、Ideonの開発画面へ打ち込みました。
 
今回は円盤が3枚の場合で考え、Inputとして、”3”を入力します。
 
 
結果、見事上記の様な手順でハノイの塔が解けることがわかりました。
3枚の場合の手順数はとなります。
 
プログラミングを学ぶ良い機会となりました。webが使える環境であれば簡単に試せるのでみなさんも是非お試しを!  
プログラミング言語図鑑

プログラミング言語図鑑