hirax.net::Keywords::「言語」のブログ



2004-07-12[n年前へ]

コインには2つの面がある 

 未来を眺めるためには、まずは過去を眺めるべき。未来は可能性の宝庫だが、過去は知識の倉庫だ。だから、今日は古い記事を眺めてみよう。

MITの最初のハッカー達の書いたプログラムは、その言語なんか関係なく、とにかく完全で、美しいものだったんだ。努力に努力を重ねて뒰꓊ꓢ꓎꓋믅뻥꒲꒿꓎꒵ꆣ쎯꒬뢫꓆ꓢꆢそれ以上改善する余地はまったくないほどにね柴田 ただ、あまりにも短く最適化してしまうと、人がそれを見たときに理解しにくいという難点がありますよねそれはそうだよ。でも、それを理解しようとする努力は、必ず報われるんだよ。努力して理解できるようになったときに、何かを学ぶことができるんだ。だから、コインには2つの面があるということさSteve Wozniak
 ちなみに、インタビュアーである当時の柴田文彦氏は某有名事務機メーカ勤務のエンジニア。つまり、Macintoshが影響を受けたAltoを作った企業系である(現在の私の)ライバル会社のエンジニア。そして、この文章中で語られている「appleの高解像度モード」がClearTypeCoolTypeグレーフォントFreeType 2にほぼそのままの形で繋がっている。「appleの高解像度モード」が作られたのが'76年のこと。他の技術はいずれも'90年代中盤以降のこと。一番早いものでさえ、20年近く後のこと。やはり、過去は可能性の元となる知識の巨大倉庫だ。

 それにしても、このインタビューの原文の台詞を知りたい。

2004-08-07[n年前へ]

メモリ管理機能追加 

SurfaceplotGL Photoshopのプラグインを「通常のDLLを作るのと同じやりかた」で簡易に作成できるPDLSをバージョンアップ(9.6MB)しました。また、導入資料も少しだけ追記しました。添付プラグインも若干バージョンアップしたり、追加したりしています。右の画像はSurfaceplotGLプラグイン処理画面です。

 今回のバージョンアップでの大きな変更点は「New」「Delete」プラグインを追加し、「メモリ管理機能」を追加したことです。処理対象画像のサイズをフィルタ内で変更しつつ処理をしたり、マクロ内(もしくはマクロで作成した関数内)のみで有効なローカルメモリを(元処理対象画像と組み合わせながら)確保し、画像処理対象をそのローカルメモリに変更したり、ということができるようになります。例えば、マクロで(もちろんGUIからでも)

Def{FrameFile=C:\hoege.bmp}New{ // 左上端から128,128ピクセルの位置を原点として // 256*256のサイズ1チャンネル分を流用しながら // 新たなチャンネルを1チャンネル作成して、処理対象 // とする}LoadFromFile{ SourceFile=FrameFile // 新しく作成したチャンネルにファイルを読み込む // プリクラ処理のフレームとして使う}Impose{ // チャンネル間で合成処理をおこなって、プリクラ風の // 処理をする}Delete{ //メモリ解放して、 // プリクラ処理のフレームとして使ったエリアを捨てる}
 なんていう風に使ったりできるわけです。GUIから自動作成されたマクロ内で自由にメモリを確保・解放できるため、DLLとしてC言語などから作成したDLLと同様に、マクロで作成した関数を「それのみで閉じた完結した処理」として再利用することが容易になります。

 Photoshop等が仕事に欠かせなかったり、画像に限らず二次元の比較的大きなデータを処理したかったりする方はきっと重宝するのではないか、と思います。単にSurfaceplot等のプラグインを使ってみるだけでも良いでしょうし、C言語をほとんど知らない人でも、数分でPhotoshopのプラグインを量産できるのもお勧めなポイントです。ドキュメントが不足しているのはいつもの通りですが、使ってみたい方がある程度いるようでしたら、いっそのこと直接デモする説明会開催もアリですし。

 ちなみに、Adobe Photoshop 6.0以降Photoshop Elements, PaintShop Proでの動作を確認しています。

2004-09-04[n年前へ]

「男」と「女」の「性的型付け言語(例外処理編)」 

 静的と静的のタイプミスは結構あるし、そんなオヤジギャグもよく耳にする。例えばこんなメールがその一例だ。

> 画像処理部を作るのが面倒だったので、トリアエズ、> 性的に(いや違った)静的に配列を宣言しています。
これはオヤジギャグ以外の何ものでもない。

 そんな「静的(いや違った)性的」な男性達の行動を、プログラミングの例外処理を例に挙げながら男の視点から考察し、さらにそれを女性の視点から添削を加えた解説が素晴らしい。特に女性により、「デート時にキスを迫り、さらにもっとスゴイことを迫る男性」の行動に対して女性から「ダメよ=例外」が発生した場合の行動原理(ソースコード)が
try { if (we.passionatelykissed()) { we.sex() } } catch (Java.Sex.Exception jse) { woman.beatAsMuchAsPossible(man);; // ぐーで殴れるとなお良し System.exit(); }
と添削されているのを眺めれば、例外を発生させてしまった男性は思わず「ぐーで殴られた気分」を楽しめて良いかもしれない。ちなみに、男性側はこの例外処理部分は
// man.doNothing();; // 何をしたら良いかわからない
という感じらしい。これには、「runtime errorをcatchするかもしれないけどとりあえず動かしとこーって設計はもーほんっとに迷惑なので止めてもらいたいもんです」、もう一回繰り返すと「ほんっとに迷惑」とキツイ添削が入っている。

 そして、
if (we.passionatelykissed()) { if (we.granted(Java.Sex.Sex)) { we.sex() } }
というコードには、「grantの中身は結構大変で、踏んじゃいけない地雷を全部クリアしなきゃダメ」というツッコミも入っている。というわけで、これは今日の必見(特に男性は)情報化も。そして、例えばテレビドラマや俳優達を、こんなソースコードで例えて考えてみるのも面白いかも。

ソースコードに付箋を付けるシステム 

 「ソースプログラムに付箋を付ける」(デモ)

JSPIE3はJavaのソースプログラムに対して付箋をつけるシステムで、ソフトウェアの開発をサポートするツールとして作りました。꒿꓀꒷ꆢ꒳꓎징꓎믅쇈ꓟ꓏ꆢJava꓎ꖽꆼꖹプログラムに対してだけしか使えない訳ではなく、別のプログラミング言語や単にふつうのWebページに対して付箋を付けるというような応用も考えています。
from Zakki

2004-10-09[n年前へ]

Processing.jp オープン 

 プログラミング言語・開発環境のProcesssingの日本語情報サイトProcessing.jpがオープン。



■Powered by yagm.net