プログラミングを始めたきっかけ(改訂版)

なんか @Sn0wNight さんの呼びかけでプログラミングのきっかけ記事が流行ってる。 先日、僕も便乗して書いたけれど他の皆さんのを読むとよくまとまってるのに対して、俺のがあれじゃ恥ずかしいので改訂版書いてみようと思う。 けれども、おそらく書きあがってみたら改悪版になる。

学年(西暦) 見出し エピソード  
保育園年長くらい(1999 - 2000) 初めて PC に触る 母におもちゃとして Windows 98 SE 搭載の Dynabook もらう。いきなり専有マシン。母がユーキャンの PC 講座で購入した物。 PC を手に入れて1ヶ月足らずでローマ字入力を覚えたらしい。  
小5(2006年) 友人からウェブサイト作成を請ける 友人から、当時 PC に詳しいって事で通ってた俺にウェブサイト作成依頼がくる。当時は全く知らなかった分野だったけど、「 Yahoo!のトップページに「ホームページ作成」ってリンク (ジオシティーズにつながってた) があったなぁ、それをたどればなんとかなるだろうなぁ」、と安易に引き受ける。内容はいじめられっ子を謗るもので完成後明るみに出て大問題になる。  
  JavaScript きっかけはあれだけど、こっちの分野に興味を示す。そして、初めての言語 JavaScript を始める。 HTML や CSS よりも先だった。最初はサンプルコードコピペして喜んでた。次に(株)アンク著の「 JavaScript 辞典」と同社著「 JavaScript の絵本」を買って自分で書くようになる。  
  X?HTML ホームページ作成道場」で学んだ。次に(株)アンク著「 HTML タグ辞典」を購入してそれぞれのタグについて詳しくやった。  
  CSS 「 HTML タグ辞典」に構造とデザインの分離のために CSS 使え、って書いてあったから同社著の「スタイルシート辞典」買ってさらーっとやった。必要に応じて Google 先生に訊いて詳しくやったりもした。  
  「ホームページ作成講座」開設 たかだか HTML と CSS 、 JavaScript をやったくらいで小学生特有の万能感に見舞われ、ウェブサイト作成の方法を解説するサイトを無謀にも作ってしまった。でも、サイト作るために詳しく調べたおかげで定着したし、それにある程度のビジターがいて、設置してたメールフォームにも質問が飛んできてた。  
小6(2007年) Perl ホームページ作成講座用に検索システム書きたかった。坂下夕里著の「 Perl/CGI 辞典」と(株)アンク著の「 Perl の絵本」で学んだ。基本構文ある程度やっただけで諦めた。検索システムは msearch というレンタル CGI を設置した。最近はラクダ本買ったから Perl を1から勉強しなおそうかと思ってる。  
  「 Variety Store 」開店 半年くらいのブランク。お金が欲しくって Variety Store というドロップシッピングを利用したオンラインストアを開店。雛形ファイルに商品情報を一つ一つ手作業で当てはめていく、というなんともしち面倒臭い方法で製作。  
  PHP Variety Store に自作 CMS 導入するため PHP を始めた。掌田津耶乃著の「14歳から始める PHP 」という本に加え PHP マニュアルで勉強していった。前の記事では中1って書いたけどよく考えたら小6でやってた。このあたりからウェブサイト作成からプログラミングというものに興味がシフトする。  
中1(2008年) SQL PHP + SQL の開発がしたくって SQLite 始めた。 SQLite 選んだのは PHP にバンドルされてたし、 XAMPP にも入ってるしで始めやすかったから。西沢直木著の「 SQLite 入門」って本と、「 SQLiteが認識出来るSQL 」ってので勉強した。今では MySQL がメイン。  
  Ajax 言語じゃないけども。 prototype.js をきっかけに Ajax って言葉知って、サンプルページに感動して、自分のサイトにも取り入れた。ライブラリは JQuery 使った。清野克行著「 Ajax のすべて」と古籏一浩著「 Ajax ライブラリリファレンス」を購入して学んだ。  
  Variety Store 大改装 PHP 製の自作 CMS と Ajax を取り入れて大改装。商品レビュー機能の追加とかその他もろもろ行った。また、ドロップシッピングの ASP から検索語に一致する商品を見つけてきて自動で自前の DB に登録していくシステムとかも作った。  
  厨2病発症 TBS ドラマ「ブラッディ・マンデイ」見てたら厨2病に。ハッカー (当時はハッカーとクラッカーの区別もつかなかった) になるぜぇええとなって手始めに GIJOE 著「 PHP サイバーテロの技法」を購入。自分で書いた PHP スクリプトに XSS とか仕掛けて喜ぶ。自宅鯖に SSH で入るのを友人の前で見せて、俺いまここからサーバーにアクセスしてるんだぜぇとか言って喜ぶ。意味もなくコマンドプロンプト (当時ドザ) 起動。自宅鯖を公開。ポートスキャンされる度喜ぶ。  
中2(2009年) 厨2病終焉 @isidai さんの「「ブラッディ・マンデイ」を考察する」を読んで、自分と5歳しか離れていない人の実力に驚き自分が恥ずかしくなり厨2病終焉。ちなみに、この記事の中と、「ハッカーになろう(How To Become A hacker) 」っていうページの中で Python という言語の存在を知り気になりだす。  
  C プログラミングというものの基本やるならまずは C だろ、って言われて C を PHP と並行して勉強。のはず。 C あまり書けません。  
  Java 図書館行ったらたまたまマニュアルが目に入ったので借りてみた。2週間の貸出期限じゃたいしたこと出来なくって、 Java は今でもあまりかけない。でも、オブジェクト指向に向き合ったきっかけではある。  
  Python ついに愛してやまない Python を始める。 GUI アプリつくろうと調べてたら tkinter にばったりあたったことと、前から Python が気になっていたことから Python 始める。最初は図書館で「 Python チュートリアル」を借りてきて、その後それと「みんなの Python 」を購入。 CGI も Python で書く。  
中3(2010年) サイト開発に明け暮れる とある個人で音楽ストリーミング系のサイトを運営されている方にコンタクトをとり、システム開発のお手伝いをさせて頂く (以前にも HTML + JavaScript でお手伝いさせていただいていた) 。今でも続いている。ほかにも PHP でメール爆弾製造機とかそういったコネタを作って喜ぶ。  
  Twitter 始める テレビとかで Twitter が取り上げられるようになって初めて Twitter を始める。完全にメディアに扇動された。 Twitter で技術系の人、特に同年代の人をフォローしたら、「えっ…わたしの技術力、低すぎ…?」となってショックを受けた。。。「「ブラッディ・マンデイ」を考察する」を読んだ時以来の衝撃だった。これをバネに頑張ろうと思った。  
  アルゴリズム アルゴリズムの勉強始める。今までは、 CGI 書くのが主でアルゴリズムの勉強をしてこなかったことに気づき、猛烈に反省。有名なアルゴリズムを知って、解説やサンプルコード (主に C++ 、擬似コードで書いてあるけどなぜだか擬似コードが激しく読めない) を読んで解釈、そしてその理解をもとに Python で書いてみる、ということをしてる。  
高校1年生(2011年) Node.js Node.js をかじる。環境整えてサンプルコードと簡単な自作を書いて以来触ってない。 id:koba789さんが書かれた Node 本がでるか、あるいは Websocket の仕様が固まるあたりで真剣にやろうと思う。  
  高校入学 情報・コンピューターサイエンス分野がある工高に入学。専門分野に分かれるのは2年生から。1年の終わり頃に進みたい分野の希望とって多い場合は成績とかで各分野に割り振るらしいけど、推薦で入った俺はすでに確定。でも、入学後に電気電子分野に興味をいだいてしまってあぼーんしそう。その前に2年になれるのか(ry ちなみに、3年になると研究でスクリプト言語自作したりとかなんとかやるらしい。  
  高校の友人を Python 教に引き込む 高校に入った目的に「自分と同じようにプログラミングに興味を持ち勉強をしている友人を作り、刺激して切磋琢磨したい。」を掲げた俺。しかし全然見つからない。そんな時に新型 iMac 見に行こうぜ、って銀座の Apple Store に誘ってくれた子が C をやっていることを知り、意気投合。 Python を猛プッシュしたら Python 初めてくれた。  

以上、こんな感じ。 結局前の記事を表にして年をはっきりさせたのと、覚えている範囲で参考にした書籍を載せといただけ。 別に改悪ではないと思うし、、、まぁいいんでね?