Home > コンピュータ > コンピュータと私

コンピュータと私

プログラム遍歴って,一度こうやって書いておきたいなと思った.

僕は1984年生まれで,生まれたときには既にファミコンが存在した世代. 僕がファミコンを手にしたのは小学4年生くらいのときだから,ちょっと遅い. 既にスーファミが出てくる頃だったと思う.ゲームが苦手な僕は全然やりこみもしなかった.

家にはBASICのPCみたいのがあったけど,僕が触っていたのは5インチFDに 入ったゴルフとかインベーダをやる程度で,ファミコンと大差なかった.むしろ, ワープロマシンで遊んでた.インクリボン式のプリンタが一体となったやつで, いろいろ打ち出して遊んでた.当然,プログラミングなんて全くしたことない.

小学5年の時に,WindowsPCがうちに来た.3.1だった.いろいろいじくったけど, プログラミングは全くやらなかった.すぐに95が出てアップグレードして,衝撃をうけた. このPCでやったことは,雑誌についてるフリーのゲームで遊ぶ程度.

中学の頃にインターネットを始めた.64kbpsのISDNだった.でもやってたことは ゲームの攻略情報だったり,チャットであった.そうこうしてるうちに,自分で ウェブページを持ちたくなったけど,無料のレンサバとかあんまりなかったので 困った.でも自分のPCでもできるということを知って,ANHTTPDを解説通りに 動かして,HTMLを書いてみて感動していた.でも,公開とかはやり方わからなかった. 自分のPCのブラウザ上で,HTMLがカラフルなページに表示されるだけでも 十分衝撃的だった.そして,そのとき流行だったDHTMLが気になって,CSSと JavaScriptを少しだけ触った.電車の画像を1両目から16両目まで並べて, 右から左へマーキーの様に走るだけのページだったけど,作れた.けど, プログラミングの仕組みなんて何も分からなくて,ただただ,動いてるサンプルコードの 一部を書き換えるだけの作業だった.

高校は入学の時に98のPCを買ってもらって,色々やった.クラスのページを 作ることになって,ちょっとJavaScriptで遊んだ.リンクにカーソルを乗せると そのページの解説が半透明の小さいウィンドウとしてうにょーんと広がる様な 仕組み.でも,正直言って重いだけで無駄だったし,自分のデザインセンスの 無さを痛感した.これをやったときに,IFとFORと関数でプログラムが書けるということが 分かったけど,そこで終わった.ライブラリとか全く知らなかった.

大学に入って,教養でJavaは触ったけど,やはりプログラムの意味が分からなかった. このころは,むしろページ作りとLaTeXにはまった.ページはCSSで共通デザインとかを 作ってみて,なるべくHTMLは中身だけにするようにして,手動の動的サイトを作っていた. あまりの労力のめんどくささに萎えてやめてしまったが,この頃からサイトでやりたいことは 変わっていない.LaTeXはきれいなレポートが書きたくてひたすら勉強した. これも一種のプログラムなんだと気づいたのはだいぶ後になってからだけど.

専門に進んで,本格的にCの授業が始まった.IFとFORくらいしか知らなくて, 変数の型とか意味が分からなかった.でも,徹底してメモリを中心に考えるものなんだと 分かってきて,だんだんとプログラムの意味が分かってきた.ただ,勉強としては ひたすら授業で出される課題をこなすだけしかしなかった.

3年になって,ノートPCを渡されEmacs(Meadow)と出会った.最初は意味不明な ソフトだったけど,その使いにくさゆえにカスタマイズにはまってしまった. 出来上がった自分好みのEmacs上でプログラムをするようになった.C++にも 出会った.課題でいろんなコードを書いた.とは言っても,ほとんどは穴埋めだったから 簡単であまり勉強にはならなかった.ただ,人工知能の授業ではいろんなシステムの シンプルなやつを実装したのでいい勉強になった.C++でオブジェクト指向を初めて 書いた.クラス宣言の最後のセミコロン忘れてて数時間を無駄にしたりした. JavaもJava3Dを触ったおかげで,完成されたオブジェクト指向にも触れることができた.

3年の最後に自主プロジェクトというものがあって,そこで自分ひとりでシステムを 作った.アキバで素材やICやモータを買ってきて,無骨な2関節ロボットアームを 作って,カメラで腕を見ながらビジュアルフィードバックをさせた.モータはオープンループ だけど,目標位置との誤差は常にカメラで測定してモータの動作にフィードバックさせた. このとき,OpenCVというライブラリを使ったり,プロセス間通信(と言っても,実はテキスト ファイルを介しただけ)をしたりと,色々考えてやった.Webが偉大な先生だった.

卒論が始まって,一瞬でやる気が萎えた.少し興味のあったモデルがあったから 自分で組んでみたら,アンダーフローとかの処理が分からず全然うまくいかない. でも,研究室の中にあるライブラリの使い方なんてローカルなもの覚える気は さらさら無かったので,無視し続けた.そして,そんなやり方では研究ができないことに 気づき,行くのをやめた.

いろいろ思い悩んで,とりあえず4年制大学は卒業しようということで,12月くらいに 研究を始めた.使いたく無かったライブラリにも仕方なく手を出した.やっぱりローカルな ものの使い方を覚えるのは嫌いだったので,最低限度しかいじらなかった. その結果,研究は全くどうしようもない,上っ面だけのものができあがり,幻滅した.

大学院に入って,やはり研究に興味は向かず行くのをやめた.ソフトウェア開発技術者を 取ったけど,プログラミングは全くしなくなった.でも,就職はシステム屋さんが候補に 上がってきて,結局そこに内定した.Twitterとの出会いもこの辺で,どうしても Twitterで遊んでみたくてPerlを触った.C++と比較してのあまりの便利さに 驚き,さらにまだまだたくさんの言語があることも知った.LANも組んだし,サーバも動かした.

また最近プログラムに触れられていない.研究やってないし,仕事もしてないんだから 当たり前だ.僕がプログラムをやりたい理由は,僕のやりたいことを形にできる 手段だから.さらに,オープンプラットフォームはその実現の過程を再現することが 誰にでもできるから,後から追いかけてくる人は誰でも真似できる. いいコードなんか僕には書けないけど,役に立つコードは書きたいと思う.

コンピュータは僕の感覚の一部だ.ここまでくるには,絶対にプログラムの 経験が必要だと感じている.まだ知らない言語がたくさんあるから,これらに触れたら またさらに考え方が変わるかも知れない.でもとりあえず今の段階では プログラムはウェブ時代を生きる人には,全員に必須だと思う.

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.riywo.com/2008/10/20/122506/trackback
Listed below are links to weblogs that reference
コンピュータと私 from As a Futurist...

Home > コンピュータ > コンピュータと私

Tag Cloud
Amazon
Banners
フィードメーター - As a Futurist... Creative Commons License track feed スカウター : As a Futurist...

Return to page top