空白型プログラミングのススメ

これはEsolang Advent Calendar 2011の11日目の記事です。
Esolangということで奇妙だったり難解だったりという言語が続いたわけですが、ちょっとここらで休憩しましょう。今回ご紹介する言語は、簡単で美しい言語です。

どんな言語なの?

命令体系だとか仕様だとかを聞いても難しそうなので、おすすめポイントをいくつか挙げてみました。

記号とおさらばできます

記号ばかりが並んでいるのを見ると、とても難しそうに見えますよね。
とりわけEsolangには記号を多用する言語が多いです。Brainなんとかとか。
よく知られたC++などの言語でも記号が使われますが、この言語は一切記号を使いません。美しいですね。

多すぎず、少なすぎない構成

全てが一つの式だとか、テープしかないとか、ちょっと大変そうですね。
逆に呪文がたくさんあったり、機能が多すぎるのもいただけませんね。重くて厚い本は鈍器になって危険ですしね。
この言語にはスタック、ヒープ、ラベルといった基本的な要素が含まれているのでそんな心配はありません。それでいて、A4三枚に全てのドキュメントが収まります。
おっと、もちろんチューリング完全ですよ。

ゴルフにも

ゴルフと言えばそう、Anarchy Golfですね。ところがメジャーな言語はすぐに猛者が現れてしまい、勝ち目がないからとあきらめてしまいがちです。
そんな時こそマイナー言語の本領発揮です。経験者の少なさは他の言語の比ではないでしょう。一位だって夢ではありません。

名前の響きがいい

プログラミング言語には読みにくい名前がいくつかありますね。ぷらすぷらすだとか、なんとかふぁっくだとか、Befungeなんて読み方に困ってしまいます。
そろそろこの言語の名前をご紹介しましょう。
Whitespaceといいます。
読み方は簡単ですね。白ことWhiteとスペースあるいは宇宙でおなじみSpaceです。
ホワイト・スペース
ホワイトクリスマスのように雪を連想させる、素敵な名前ですね。

サンプルコード

では実際のコードをお見せしましょう。定番のHello world!です。

   	  	   
	
     		  	 	
	
     		 		  
 
 	
  	
     		 				
	
     	     
	
     			 			
	
     		 				
	
     			  	 
	
     		 		  
	
     		  	  
	
     	    	
	
  

実行してみたい方へ

公式サイトにHaskellで書かれたインタプリタと、Linux用のバイナリが公開されています。またPerlRuby、Whitespaceで書かれた物へのリンクも載っています。
ダウンロードが面倒でしたらIdeone.comを使うといいでしょう。
そうそう、ひまわりで書いたインタプリタもよろしければお使いください。
http://ideone.com/Vars8

おわりに

いかがだったでしょうか。
これを読んでWhitespaceに興味を持っていただけたら著者としても嬉しい限りです。
さあ、あなたも素敵なWhitespaceライフを始めてみませんか?
  

チラシの裏の隅っこに薄く書かれた後書き

さて。
言語の紹介と言うよりは活用例や実装例を書いた記事が多かったので、ひまわりで前から作っていたインタプリタをメインにしようかと考えもしたのですが・・・やっぱりネタに走ってしまいました。
いやネタにしたけど嘘は書いてないはず。たぶん。
ひまわり版インタプリタを作り込んだおかげで前に書いたコードのミスやらアセンブラのバグやら見つかってよかったという話もあったり。
そういえばですね、クリスマスはご存じの通り25日ですが、Esolang Advent Calenderの参加者はまだ13人しか集まっていません。
僕たちと契約してEsolangの記事を書いてよ!
以上業務連絡でした。