すきあらば自分語り: プログラミングとの出会い ~torikoriの場合~

この記事は2018年カオスの坩堝アドベントカレンダー の一環として書かれたものです. 0日目になるのでしょうか.

昔プログラミングに触れたきっかけから、どんな技術言語に触れてきたのかを記してみた. すきあらば自分語り 〜鮟鱇の場合〜 の真似であろうか.

ことはじめ

最初にプログラミングらしきものに触れたのは、コマンドプロンプトであった.

当時からPC を触るのは好きで、窓の杜やVector を眺めて暇潰しをしていた. 新しいフリーソフトを入れるべく、親にねだっては断わられていた. ならせめてと、PC に搭載されているアプリケーションを触りたかった. Office など、いろんなアプリケーションの機能を調べては遊んでいた.

スタートメニューに映える怪しいアイコン. 家庭内皆が使っていたパソコンであったが、あるとき押してみた. 真っ黒な画面によく分からない英語、やって操作するのか分からない. 叱られる. 後悔した.

案の定家族に叱られ、「X」ボタンによって長いこと封印していた.

が、あるとき、とあるきっかけで、コマンドプロンプトを知る機会、家族に理解させるものが現れた. そのころだったか、Windowsコマンドプロンプト スパテク242 Vista/XP/2000対応 という書籍を入手した.

黒画面がこれほど楽しいものとは、と. これに掲載されているものを適当に使いながら、アプリランチャーやタイマーや占いなど、無意味なソフトウエアを量産していた. 思えばこれが最初のプログラミング経験であった. @rem off という決まり文句は今でも覚えている.

そうこうしているうちに飽きが来たので、猫でもわかるWindowsプログラミング と 猫でもわかるC言語プログラミングなる書籍を購入した. そこでC言語とWindows APIの基礎を学び、掲載されているサンプルを動かしてはすごーいと言っていた.

そこで何か作るべく、MSDN を日々眺めるようになったが、英語が壁になった. Windows API の解説は、大半が英語のみであった. 拡張に拡張を重ねられたAPIは、どれが正しいのかもよく分からなくなっていた. リンク切れにも苦しんだ. Google 翻訳で頑張ってみたが、挫折.

それでも収穫がない訳ではなかった. Microsoft が推していた .NET Framework の存在を知れた. Visual C# 2008 Express Edition などを入れては、Visual Basic 中学校++C++; // 未確認飛行 C あたりを眺め、C#やVisual Basic といった.NET Framework まわりを触っていた. 当時流行りのリボンUI (Microsoft Office 2007から導入された、様々なボタンをタブ状に並べたもの)  を実現しようと四苦八苦するなど、奇っ怪なデザインを作って妄想するなどしていた.

そこまでして私は何を書こうとしていたのか、当時全く分からなかった. 一般にプログラミングに触れる動機として、「○○を作りたい」があるだろうが、私には全くなかった. ただPCを触っていたかった.

ゲームは禁止されていたし興味もなかった. 何を作るべきか. 管理者鮟鱇さんのようにコンパイラを書く、などということは当時の私には想像さえつかなかったし、いざ例えば Visual Basic とC# の簡易コンバータを作ろうとしても、規模が大きすぎ、途中まで作って途方に暮れやめてを繰り返していた.  Silverlight やWebアプリケーションでも遊ぼうとしたものの、家族を説得できず挫折.

Unixとの出会い

.NET Framework で何も作れず心が重い中、私を魅了していたのはAppleのウエブサイトであった. Windows とは違う新たな世界. 魅了させるに十分であった.

貯金のほとんどをはたき周囲を説得し、Mac mini の一番安いモデルを購入した.

が、実際に触るようになると、UIやアプリケーションではなく、Unix としての側面ばかりが気になる. OS X ハッキング! という連載にもろに影響されていた. NeXTSTEP なるOS があるらしい. その名残り、Unix としての姿、あるいはObjective-C にCocoa API にXcodeなどといった先進的な開発環境.

まずXcode を入れてみたが、ここでも英語に阻まれた. man を打っても分からない. --help と叩いても英語ばかり. Apple の開発者ドキュメントはMSDN 以上に英語ばかりであった. 手動メモリ管理がよく分からなかった. 幾度もSegmentation Fault で悩んだ. 挫折. そもそもそこまでして何を作りたかったのか.

FSFとOSASKそしてVimに誘惑され、SmalltalkやLispを渡り歩きつつ、Vim script をひたすら書き、VimやOS自作のコミュニティ、それと自由ソフトウエアの沼に溺れた青春時代を過ごしたが、続きはまた今度.

コメント

  1. nininga より:

    また隙を与えてしまった