野良プログラマを名乗っているので、その遍歴をまとめておく。
前史
- 1989年生まれ1。
- はじめて触ったコンピュータはスーパーファミコン、次いでゲームボーイカラー2。
- 小学校のパソコン室にはWindows 95とTRON系のOSが物理スイッチによる切り替えでデュアルブートできるパソコンがあった。
- 朧げな記憶で、しかも当時は全く何も知らない子供だったので、型番など詳しくは全く覚えていない。TRONというものが何なのかも当時は知らなかった。デュアルブートなんて言葉も当然知らなかった。
- ただ先生が「トロン」と言っていたので、そういう名前のものなんだとは思っていた。
- 「インターネットを使って何かを調べてみましょう」的な授業があった気がする。
中学生(2002〜2005年)
- パソコン部に入る。
- そのパソコン部は、顧問の先生はいるもののはっきり言って放任状態で、学生は当時隆盛を極めていたFlash動画を見たりFlashゲームをしたり、フリーゲームをダウンロードして遊んだりしていた。
- 学生が学校のパソコンで勝手にフリーゲームダウンロードして遊ぶとか、今の感覚からしたら絶対にありえない光景であった。
- パソコン室のパソコンの半数にはRPGツクール2000が入っていた。好きなゲームを自分で作ることができる、ということに感動してちょくちょく触っていた。
- 小さい頃から何かを作ることが好きだったが、手先が絶望的に不器用だった。でもパソコンを使って作れるものなら、キーボードが使えさえすれば作れるということ4に気づく。
- なんでこんな遊びに近しいものが学校のパソコンに入っているのか、と当時は思っていたが、今から思えばイベント5の設定内容は順次・分岐・反復というまさにプログラム実行の三要素を含んでいて、プログラミング的思考を遊びながら身につける教材として優秀だったのだと思う。
- 後半の頃には、同じ部活の友人に触発されてHSP6を使ったプログラミングをかじっていた。見様見真似の独学で、ろくなものは作れなかったが。
- あとは、他の学生の例に漏れずゲーム7などして過ごしていた。
- 三年の夏頃に部活が終了してからは、しばらくパソコンに触れる機会はなかった。
- それ以前から、四つ上の姉が大学受験に大層苦労していたの見ていて、そうなりたくないという不純な動機で高大一貫校を目指していた。元々の両親の教育方針もあって塾通いなど忙しい日々だった。元々規制が強かったゲームはこの頃は完全に無。
- 風呂上がりに扇風機で涼む時くらいしか自由時間はなく、その間、件の姉8が持っていたHTMLとCSSの分厚い本を読んでいた。
高校生(2005〜2008年)
- 初めて自分専用のパソコンを手に入れる。当時の一般的な電器屋で売られているノートパソコンとしてはそこそこ高性能な部類。OSはWindows XP。
- Javaに手をつける。
- 件の姉が大学でもらってきたというSun Microsystems編のJavaの教本9が家にあったのがきっかけ。それを読んだり、ググったりしながら、あてもなくプログラムを書いていた。
- あてもなく、とはいえ、一応「ゲームを作ってみたい」という欲求はあった。初学者には難易度が高過ぎたが。
- 当時どんなものを作っていたのかは最早覚えていないが、闇雲でありながらも、一応Swingを使ったちょっとしたGUIアプリケーションを作れるくらいにはなっていた。
- 変数や関数10の考え方、基本的な制御構文などは理解していたように思う。
- ただ、サンプルプログラムありきの改造で諸々のプログラムを作っていたため、意味が全く分からない所がたくさんあった。
- 全く分からなかったものの典型的な例は
staticキーワードの有無、ひいてはnewの本質。オブジェクト指向の理解が根本から抜けていた。
- 折角だから何か資格を取ろうと思って勉強した基本情報技術者11の教本で、ようやくオブジェクト指向的な考え方とJavaにおける対応記法を理解する。
- これまで書いていたプログラムで所謂「おまじない」だった部分が頭の中で簡明に整理され、理屈で説明できるようになる。まさに開眼という感覚。
- これでJavadocを読めるようになり、作れるものの幅がサンプルプログラムの応用を脱する。
- Javaの他に新たに手をつけたものにはPHPがあった。
- 中学生時代末期に本を読んで妄想していたHTMLとCSSによるウェブページ作りも、試しに色々やってみていた。
- そうすると、俄然サーバサイドもやりたくなってくる。尚、なぜPHPを選んだのかは覚えていない。
- しかし、自分でウェブサーバを世界に公開する知識とリソース、ひいては度胸、はまだ無かった。
- この辺りの成果は、当時役員をしていた生徒会のウェブサイト構築として一応は結実する。
- 今の感覚からしたら目も当てられない酷い構成12ではあったが。
- しかしそれ以来、なぜか一度もPHPを書いていない。
- 一部上述したが、折角だから何か資格を取ろうと思い立ち、結果、初級システムアドミニストレータ・基本情報技術者・情報セキュリティアドミニストレータの三資格13を取った。
- ただ勉強して資格を取っただけでは実務的なことにすぐには直結しない、ということは大学生時代に知る。とはいえ関連する話題を大雑把とはいえ幅広に理解する、という点においては、結果的にとても役に立った。
大学以降に続く
blog.kolmas.tech