uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

プレインテキストの呪縛

現在のプログラミング言語のほぼすべては、強くプレインテキストに縛られています。もちろん、グラフィカル言語や図言語は存在しますが、そこまでいくと非プレインテキストのデメリットが多く出てきてしまいます。そこまでは別に望んでいません。

「ほとんどプレイン」なんだけど、ごく一部プレインテキストからはみだすみたいな機能拡張が、明日の言語には欲しいと私は思っています。いまでも既にあるそのような例としては、ソースコードの色付け機能などです。これは人間の視覚認知力を応用しプログラムの可読性を高める例です。Eclipseでimport編成をツリービューみたいに表示したり隠したりする機能もそうです。

んで、もうちょっと先に進んでみたいです。
●リッチ定数(1) - 画像定数

通常プログラミング言語では、定数値を文字列で書きます。
でも、GUI環境を前提として、

Image a= ""

みたいに、そのまま代入可能な画像をそこにペタッとはっておけば画像データになるような言語があるといいですね。サムネイル表示になっていて、クリックすると別途画像編集ができてもいい。

●リッチ定数(2)- 表定数

配列定数値の表記として、「エクセルのシート」がそこに書けるようになっていて欲しいですよ。テストデータとかを書くのが楽になる。
●リッチテキストコメント

今どき、コメントにアスキーアート書きたくないわけです。簡単な図が書けるように、コメントにWYSIWYGでリッチ編集できるといいなあと。javadocで<IMG>で図を埋め込めばいいんですけど、その変種作業・ブラウジング作業をもっと簡単にしたい。当然、箇条書きやテーブルとかもWISIWIG編集可能に。

●バルーンコメント

コメントのつけ方として、黄色い矩形みたいなのに棒が付いているような、Excelでいう「コメント」みたいなコメントがつけられるようになっていて欲しい。たぶんまあレビュー用ですわな。

●処理内容を意識した表示

  • メソッド名やクラス名はでかく表示されて欲しい。
  • メイン処理とエラー系処理の色を変える
  • ロギング処理コードはフォントが小さいとか、非表示にできたり。
  • アサート処理コードはフォントが小さいとか

●テスト連動

  • テストされていないコードは色が付く
  • 最近テストが通っていれば、背景色が白いけど、テストを通さずに時間が経過すると、そのメソッドの背景色がぼろっちく汚くなっていく

上の中には、構文指向エディタっぽい機能もありますが、そこはあんまり要望してなくて、今よりほんのちょっとの追加で出切る範囲でいいです。ぶっちゃけていうと、ソースコードの編集でも、「ブログ記事」ぐらいの編集機能は持ちたいよ、というだけの控えめなつもりの要望。

上の追加的情報は、言語の外の付加属性情報(メタデータ)として保存できるといいな。さらに、その付加情報のつけ方を、各言語のコメントとして保存できるように標準化して欲しい。そういう標準保存形式があれば、エディタの機能として言語から独立させることができる。