プログラミングしようぜ!
みんなもっとプログラミングしようぜ!
俺がガキの頃,パソコンは「マイコン」なんて呼ばれてな。ソフトなんて少なくて高くてカセットテープで,MSXのROMを挿すだけってのは斬新でな。
基本的に「マイコン」ユーザは,プログラマーだったんだ。
だってソフトがねーんだもん。作らなきゃ仕方ないんだよ。
月間マイコン,ポプコム,PIO,忘れちゃならねぇマイコンベーシックマガジン。プログラミング雑誌が毎月山のように売られてた。
今みたいにDVD-ROMなんて添付されてない。ちょっと前のCDでもない。ソースコードがそのまんま印刷された本だ。信じられないだろ?シューティングゲームがソースコードのまま載ってるんだ。
だから改造もできる。自機をカッコよくしたり,一発で死ぬのをライフ制にしたり,もっと簡単に無敵状態にしたり。敵のキャラ絵や動きを変えたり,マップもいじれたなあ。
時はアドベンチャーゲーム華やかなりし頃。謎解き系のゲームなのにプログラムがそのまま載ってる!なのに謎解きが楽しめる!
暗号ってやつだ。マップやアイテムのデータが暗号化されてるってわけ。
まだまだあるぞ。プアーな音源をミュージックマクロランゲージなんて文字列で演奏するんだ。
サウンドカードがついてない機種じゃあビープしか鳴らない。そのビープ音を操って,単音だけど音程を出すテクニックとかあったなあ。
みんなプログラマーだったんだ。
BASICから始めて,マシン語をやって,アセンブラ書いて。逆スクロールができたときは大喜びしたね。
目の前でテレビにつながれている「マイコン」が,俺の自由になる。ハイテクが指先で踊るんだぜ。サイコーじゃないか。初代PASOPIA,Z80CPU4MHz,64KBメモリ。俺の初恋の相手だ。
時が下って学生の頃。
PC-9801RX2。忘れもしない。MS-DOS3.1D。世界標準の「OS」が動くんだ!
夢中になったね。当時はまだあった中古ソフト屋で Turbo C なんて買ってきてさ。古いけど MS-DOS2.11 システムコールリファレンスなんて買ってきてさ。「ベーマガ」だって現役だ。N88-BASIC(98) でベーシック書ける。TurboCでC言語もかじる。MASMでマクロアセンブラかじる。おもしれーのなんの。四角い箱に乗っかったCRTディスプレイの真っ暗な中をMASMで書いたドットが降ってくる。たったそれだけで感動したね。
そしてTurboC!ガキの小遣いで買えるギリギリの五千円!奮発したね!
BASIC とはちょいと違うんだぜ。コイツは関数型言語っていうんだ。BASICのサブルーチンなんて目じゃねーぜ!
もちろんゲームもしたさ。たくさんしたね。中古ソフトで買ってきてプロテクト外し。こいつがまた楽しいんだ。プロテクトをどうやって外すか。メーカーとの知恵比べだ。フロッピーの特定セクタだけNULLで埋める?それともわざとコピー失敗するセクタを作る?うまくいけば元のソフトは速攻で中古屋に転売。そんな時代だった。
プロテクトをやっと破ったと思ったら,ゲームの途中で滝の中に取り残されたりしてな。しまった!コピー失敗だ!って思ったときはもう元ソフト売っちゃってたりしてな。
プロテクト破った!って思ったら,「こんなことしてるヒマがあったら履歴書書いて送って来い!」なんてメッセージが出たりしたっけな。
さらに時代が下って社会に出る頃。
やってきたのが Windows ってやつだ。こいつは手強いね。コンソールでしかプログラミングしたことなかったから,画面が作れねーんだ。オブジェクト?なんだそれ?C++?クラスって何だ?
しばらくプログラミングから離れた時期だな。俺はオヤジと一緒に土建屋やってた。ノートパソコン持って出張に行って,公衆電話から音響カプラとポケットモデムつないでニフティサーブでパソコン通信ってやつだ。楽しかったなあ。プロバイダの企画を提案して,「ネットスケープvsインターネットエクスプローラ 業界人覆面対談!」みたいなことが実現してな。
ネットってすげー!って思った時期。
それから,俺はプログラマーに戻った。
ちょっとしたソフト屋に転職してな。そこで始めて,Visual Basic ってのを触ったんだ。
こいつはすごいぜ,VB4ってやつだ。なんたって画面がすぐできる。イベントプロシージャってやつに処理を書けば,ボタンを押したときに反応する。ああ,なつかしの関数を .bas モジュールに書く日々!
VB5になってクラスの概念がやってくる。Quick-Cなんてコンパイラ使ってFAもやった。VB6を使いこなせるようになった頃,俺はずっとしまいこまれていたPC9801RX2に,FreeBSD(98)ってのを入れた。はじめてのUNIX系OS!
まだ洗練されていなかったPerl4でちまちまツール書いたなあ。IRCデーモンをインストールして同僚とチャットしたっけ。BSDじゃあgccがフリーでついてくるんだぜ!こいつぁすげぇ!
やがて俺は独立してフリーランスになる。新しい開発環境,Linux環境。Perl,C,VB,VC,Java。設計して書いてデバッグして結合テストして・・・
プログラマーがいつのまにかSEになって。で,今の会社にもぐりこんだときはコンサルタントだ。
仕事で書くことはほとんどなくなった。
でも俺は書いている。
こんな楽しい遊びを知ってもらいたくて書いている。
ハッカージャパンの後ろのほうで,ひっそりと,だけど,いつのまにかもうすぐ十年。
手にとってくれたら嬉しいな。
そして一緒に遊ぼう。WindowsだってUNIXだって遊べる。Visual Studio はなんたってタダで初級版が手に入るんだ。知ってるか?今じゃJavaだってVisualStudioみたいにEclipseってのでサクサク書けるんだぜ?
IIS入れてASPならVBScriptかな。ブラウザでリッチな動作をさせるにはJavaScriptも書けたほうがいい。LinuxでApache入れてCGIならPerlで充分かな。PHP?あれはちょっと苦手。本当はASPも苦手。データとコードが混在するのはちょっとね。
おまいさんの目の前にあるコンピュータは何で動いてる?
Windowsかい?Mac OS Xかな?それともLinux?渋めにOpenBSDとか選んじゃったりした?
どんな環境でも大丈夫。一緒に遊べるさ。
楽しもうじゃないか。そこにあるコンピュータは,もっと自由に動かせるんだ。
手を伸ばそう。インターネットにアプローチしよう。ほんの数年前まで夢みたいなことが今ならできる。知ってたか?そのコンピュータは世界に向かって手を伸ばせるんだ。ブラウジングするだけじゃない。ブラウジングされる立場になってみないか?世界中ともっと深く確かに繋がろう。さあ,開発環境はそこにある。WindowsならWSHが。MacやLinux,BSDならもっとリッチな開発環境が最初から揃ってる。ちょっと手間をかければたいていのものが準備できる。俺たちが遊ぶのに小遣いはいらない。こんなエキサイティングなゲームがほとんどフリーで遊べるんだ。さあ,キーボードに手を乗せて。少し深呼吸しようか。吸って,吐いて。準備はいいかい?今までとはちょっと違う,アクティブなコンピューティングの世界が待っている。
さあ,プログラミングしようぜ!