プログラマブル文学賞

前回の日記で書いた「あたしFizzBuzz」で、可知さんからプログラマブル文学賞を頂きました。4/1付で表彰(?)されるようです(笑)。

あたしFizzBuzzを書いてみて改めて思ったなでしこの良い所を列挙。この前chocoさんと話してたときのも踏まえてまとめてみた。

  • 読みやすい(プログラム自体がコメントの役割を果たしてくれる)
  • 速い(一世代前のインタプリタ言語が敵わない程度には速い)
  • 連携力(命令数が多く他のソフトとの連携で幅広いことができる)

可読性はあたしFizzBuzzからも分かるとおり(ホントかよ)。ネタコードでなくても、もちろん日本語らしく書くことができて非常に読み易い。大体の命令はそのままで意味を汲み取れるし、分かりにくいなら自分でユーザ定義命令化して分かりやすい適切な名前をつければいい。そうやって関数化すれば構造化プログラミングにもなり一石二鳥。

日本語でしかもインタプリタなのに速いとか言うと一部の人は絶対疑うと思うけれど、実際VBとかと比べてもそんなに大差ない。一世代古いインタプリタなら、構文木解析機構とかないだろうから歴然とした差が出るはず。実際、数値計算にも普通に使える(最近だと微分方程式を解かせて時間発展図示のプログラムを書いた)。

MSオフィスとの豊富な連携命令ももちろんだけれど、文字列処理からデータベースまで、幅広い種類の命令が揃っていることで、それらを組み合わせたソフトがすぐに書ける。結構プログラミング言語というと、計算や文字列処理には強いけれど、他のアプリとの連携を取ったりするにはAPIが必要であったりライブラリ依存であったりすることが多い。元からそっち方面での使い方を想定しているなでしこなら全部デフォルトだから非常に楽。

TeraTag (TeraPad連携テキスト挿入ソフト)

TeraTag便利。まじ便利。自分で作っておきながら言うのもなんだけど(笑)。まさになでしこの連携力があるからこそだと思う。

TeraPadへのツール設定はどうするかとかは置いといて、見た目はこんな感じ。

TeraPadからTeraTagを起動した様子

TeraPad上でテキストを選択してTeraTagを起動し、挿入テキストを選択するだけで簡単に挿入できます。例えば図の「<a href="%c">%t</a>」という例では、%c部分をクリップボードで、%t部分を現在TeraPadで選択しているテキストへ置き換えて挿入します。

TeraPadへTeraTagからaタグを挿入した様子
  • 挿入するテキストを絞り込み検索して選択
  • 選んだ挿入テキストは自動的に順位が繰り上がり上に表示される
  • 選択テキスト(%t)以外にも、クリップボード(%c)、タイムゾーン(%z)を挿入できる
  • 前回選んだ挿入テキストを連続で挿入する連続挿入機能
  • 連続挿入時に選択テキストを自動インクリメントする%i

まだ%のエスケープとかちゃんと考えてない開発中バージョンだけど、さらに改良を加えればもっと使えるようになるはず……。久しぶりに良い物ができそうな予感なので、頑張って完成させよう。一応開発中とはいえ十分使えるので、nako置き場に公開しておきます。