先日おとずれた「言語ゲーム」、12/27の日記で
http://d.hatena.ne.jp/propella/20081227
世界聴診器とScratchでバーチャルヨーヨー。
面白い!
「スクリプトを書く」といっても、とっつきやすさ
からなのか、普通のテキストエディターで書く
イメージと全然違ってて、なんか凄くカラフルで
綺麗なんですねぇ。
Yahoo!などの記事では
http://headlines.yahoo.co.jp/hl?a=20081226-00000048-zdn_ep-sci
http://www.itmedia.co.jp/enterprise/articles/0812/26/news022.html
Scratchは子供向け言語と紹介されていますが、別に
子供に限定しなくても良いような気がするなぁ。
logoだって確かに入門者には間口が広いけど、別に
初心者以外には使い道が無い言語ってわけでも
無い気がするし。
それにしても、こういう風にPC上のプログラムと
現実世界のモノとが簡単に連動できるって言うのは
面白いな。いい世の中になったものだ…
そう。確かに、お作法が複雑になりすぎた現代の
プログラム言語と比べれば、80年代のBASICに
相当するような簡単な言語ってあまり見当たらない
から、もしいきなり.net対応のVisualBASICなどを
子供が最初に触ったら、ぜったい拒絶反応でる
気がする。デジタルディバイドの原因にすら
なりうる…
ただ、なんだか少し洗練されすぎているような気が
しちゃうんだよなぁ…。私みたいなひねくれ者には…
80年代にBASIC使ってプログラム組んでた頃を
思い出してみると、確かに「インタープリタ」で
動くBASICって凄くとっつきやすくて簡単で、
しかもそれなりに長いプログラムを書けば複雑な
ことも出来たので、その辺りの機能で見ればBASIC
もScratchも初めて触る言語として、難易度は近いもの
があるのかもしれないけど、BASICって、
なんていうかそれだけではない「裏技的なもの」
がいっぱい有って、それが間違えなく楽しかった
んだよなぁ。
例えば、PEEK、POKEでRAMを直接読み書きできたので、
VRAMに直接POKEで書き込みしたり、迷路型ゲームでは
衝突判定にVRAMから読み出したデータ使ったり…
特にPC-8001でゲーム作る時など、グラフィック処理
にpset、presetコマンドなんて遅くて実用にならない
から、BASICでもそういう技を駆使してスピード
アップを図ったりするのは当たり前。
それでも物足りなくなると、ハンドアセンブル
した機械語プログラムをBASICから呼び出し
たり…と言った感じで、究極的にはマシンの
容量の最後の1ビットまで、処理速度の最後の
1クロックまでを使い尽くすようなプログラム
を夢見て、そんなのを実際に作っちゃう人たちを
羨望のまなざしで見たなぁ…
(TEXDER作ったGAME ARTSとかね)
AVRで機械語使って楽しいなぁって思うのは
多分この頃のワクワクした裏技とかが大きく
影響しているんだろうなぁ。
今のwindowsの環境は、OSとDLLが大変なこと
を全部肩代わりしてくれちゃっているので、
あまりワクワクが無いんだよなぁ…
で、Scratchは、とっつきやすさとか解りやすさ
とか、…凄く正統派なので安心して入門に使える
んだけど、中身をほじくるような裏技的楽しみって
言うのは期待しちゃいけないんだろうなぁ…
スペースインベーダーにはすでにゲームの基本的な
要素が含まれていたと言われる理由の一つに、
「裏技を見つけ出す楽しみ」
っていうのが指摘されていますが(名古屋撃ちとか)、
80年代のBASIC機にもそんな裏技的楽しみが
いつも付きまとっていた気がするなぁ。
そもそも、そんなことに楽しみを感じている
変態さんはオイラ一人くらいか…?
で、そんなことを考えていた昨今、知人から超シンプル
な変わりモノ言語の話題を振られて、ふと思い出したのが
Brainfuck。命令体系が全部1文字で、しかも8個の命令
しかないという小ささ。
http://www.kmonos.net/alang/etc/brainfuck.php
「hello world」すら↑こんなですよ!
しかもこんなにシンプルな言語なのにチューリング完全。
でBrainfuckといえば、そこからさらにワルノリした
色々な派生言語があって、
http://kmaebashi.com/zakki/lang0003.html
↑これとか。Brainfuckを「べーしっ君」にしちゃう。
べーしっ君は以前どこかでも見たような気がしますが、
さらに「北斗の拳」や「ジョジョの奇妙な冒険」
ともなると、世界にこんにちはを言い終わる前に
既に死んでいたり、もしくはスタンドもろとも再起不能
になっていたりしそうだからコワイ、コワイ。
生産性や動作安定性などといったことを考えると、
言語はどんどん洗練されているのが当たり前なので
しょうけど、でも、登場当時のVisualBASICと
現代の.NET対応のVisualBASICを見比べると、
なんともなぁ…
この間VB2005使ったときには、「お作法ばかりに
なっちゃったなぁ」って感じで、とても楽しさは
感じなかったもんな。
最後の1クロック、最後の1ビットを搾り出す楽しみ
っていうのは、やっぱりマイコンのアセンブラって
世界にしか残っていないのかな?

0