前回の日記で書いた「あたしFizzBuzz」で、可知さんからプログラマブル文学賞を頂きました。4/1付で表彰(?)されるようです(笑)。
あたしFizzBuzzを書いてみて改めて思ったなでしこの良い所を列挙。この前chocoさんと話してたときのも踏まえてまとめてみた。
- 読みやすい(プログラム自体がコメントの役割を果たしてくれる)
- 速い(一世代前のインタプリタ言語が敵わない程度には速い)
- 連携力(命令数が多く他のソフトとの連携で幅広いことができる)
可読性はあたしFizzBuzzからも分かるとおり(ホントかよ)。ネタコードでなくても、もちろん日本語らしく書くことができて非常に読み易い。大体の命令はそのままで意味を汲み取れるし、分かりにくいなら自分でユーザ定義命令化して分かりやすい適切な名前をつければいい。そうやって関数化すれば構造化プログラミングにもなり一石二鳥。
日本語でしかもインタプリタなのに速いとか言うと一部の人は絶対疑うと思うけれど、実際VBとかと比べてもそんなに大差ない。一世代古いインタプリタなら、構文木解析機構とかないだろうから歴然とした差が出るはず。実際、数値計算にも普通に使える(最近だと微分方程式を解かせて時間発展図示のプログラムを書いた)。
MSオフィスとの豊富な連携命令ももちろんだけれど、文字列処理からデータベースまで、幅広い種類の命令が揃っていることで、それらを組み合わせたソフトがすぐに書ける。結構プログラミング言語というと、計算や文字列処理には強いけれど、他のアプリとの連携を取ったりするにはAPIが必要であったりライブラリ依存であったりすることが多い。元からそっち方面での使い方を想定しているなでしこなら全部デフォルトだから非常に楽。