honai.me / blog

プログラミングを始めたきっかけと回想

この記事は Kyoto University Advent Calendar 2019 の 22 日目の記事です。

最近ブログを新しくしました。このブログの最初の記事は 「Web Frontend Challenge」参加記 なのですが、 今日は #kuac2019 の投稿として、 その記事よりも前の話、そもそも自分がプログラミングや Web の分野に興味を持った経緯を小学生時代から振り返ってみたいと思います。

先に断っておきますが、特殊な経緯がたくさんあるので他の人に参考にしてほしいとは全く思っていません。 ただの回想なので有益な情報は特にないですが、読んでいただけたらと思います。

ネット環境がない

今年の4月まで、実家にインターネットの固定回線は引かれていませんでした。山間部で、そもそも一昨年くらいまで光回線のエリア外だったことや、両親にとって必要なかったことが主な理由です。 (小中学校の授業を除くと)高校入学のときに買ってもらったスマホが初めてのネット環境でした。

小学生~中学生

一方で、パソコンには早くからなじんでいました。 たまに親がPCを貸して遊ばせてくれた、Windows 2000 の「ピンボール」が好きで、弟とハイスコアで勝負したりしていました。 小学校高学年のときに、親が昔使っていたノートPCを貸してもらい、自分の部屋で使えるようになったので、それで遊んでいました。 確か機種は Lavie NX LW シリーズだったと思います。

LaVie NX LW

引用元: https://pc.watch.impress.co.jp/docs/article/990517/nec2.htm

遊ぶといってもネットにはつながらないので、マインスイーパやピンボールで遊んだり、ペイントでお絵かきをしたり、 一太郎に日記を書いたり、Windowsの設定(壁紙とか音とか)を変えたりして遊んでいました。

今となっては、ネットにつながってないPCでよくもあんなに時間を潰せたなと思うのですが、当時の私はただパソコンをいじることが楽しくて、 何をするかはどうでもよかったのだと思います。

それから、別にパソコン以外の娯楽がなかったわけではなく、外遊びも本を読むのも好きでしたし、Wii もありました。

VBA で for 文 (?)

そのうち、親が昔使っていたExcel/Word(なんとバージョンは '97!)のインストールCDをくれたのでそれをいれました。 この辺は記憶があいまいですが、図書室で借りた本に Excel の VBA で簡単な関数(階乗とか組み合わせとか?)を作るというコラムが載っていました。

パソコンでできるおもしろそうなことはとりあえずやってみるのが当時の自分だったので、本に書いてあることをそのまま写したら動きました。 階乗にはfor文とかが出てくるのですが(再帰ではないですよ)、当時の自分がどのくらい理解していたかは覚えていません。 でもこれが自分にとって初めてのプログラミングだったと思います。

自分のパソコンを買った

中3の春ごろ、両親とPC屋さんにいって、お小遣いと親のお金でPCを買ってもらいました。3万ちょいのA4ノートでした。↓ こんなやつ

ASUS X54C

引用元: https://www.asus.com/supportonly/K54C

CPU は Celeron、RAM 2GB、HDD 320GB、DVDドライブと USB 3.0 がついて OS は Windows 7 でした。 それまで使っていた親のおさがりは Windows 2000 で RAM 64MB、HDD 6GB、起動に5分くらいかかっていたので、自分にとっては夢のような(?)パソコンでした。

古本屋で、Ubuntu のインストールディスクが入ったPC雑誌を買って、インストールしたりしました。 そのうち飽きたので消そうと思ったのですが、Ubuntu を消したら Windows も起動しなくなりました。 ネットがなく解決方法も調べられないので、とりあえず Ubuntu を入れなおしてその場をしのぎ、 中学校の調べ学習の時間にこっそり解決方法を検索して bootrecfixmbr コマンドなどを知りました(誰もが通る道らしい[要出典])。

ネットにつながってないことで逆にパソコンそのものの操作に詳しくなりました。 中学を卒業するころには、メールや LINE は使ったことないけどパソコンには詳しくなっていました。

高校生

高校で生徒会に入りました。母校では「ブロックマッチ」というスポーツの行事があり、当日の対戦表を作って印刷するという生徒会の仕事がありました。 5種目・男女別・学年別のそれぞれで、5つのチームが総当たり戦をするので、全部で 300 試合くらいありました。 それまでは手打ちでやっていたのですが、チーム名の命名規則が単純だったので、 Excel でできないかなと思って「基本情報を入れれば対戦表を作ってくれるスプレッドシート」を作りました。 マクロは知らなかったので使いませんでしたが、 IF / VLOOKUP / OFFSET などの関数をたくさん組み合わせて作りました。

Web との出会い

同じころ、本屋で「HTML5でアプリ開発デビュー」というムック本を見つけました。 よくわからんけどゲーム作れたらおもしろそうだと思って買いました。

その本の構成は

  • HTML5の新機能の紹介
  • HTML/JavaScript入門
  • canvas入門
  • ゲームを作る

みたいな感じでした(後から思いましたが、この本はある程度プログラミングを触ったことがある人向けでした)。

とりあえず最初から本の通りにやってみようということで、HTMLで文章を書いてみました。 なんかタグで囲った部分がブラウザでは勝手に太字とかになるんやな、となりました。 しかしJavaScript は全くわかりませんでした。 canvasで四角形を描いて回すくらいまでは(写すだけなら)なんとかできましたが、ゲームは作れませんでした。

HTML がなんかすごそうと思った自分は、高3の時に HTML と CSS で Web サイトを作る本を買いました。 これも本の通りにやったら本の通りのきれいなWebサイトができました。floatレイアウト時代の本ですが、 CSSで構文を書けば見た目を作れるのがおもしろいなーと思いました(WYSWYGじゃないのが新感覚だった)。

ここまで振り返って思うのは、高校までは本を写した経験がほとんどで、自分で考えて作ったのはスポーツ大会の Excel だけだったなと思います。

大学

なんかパソコンが変わったら画像を貼る流れになったので貼ります。大学合格祝いで Surface を買ってもらいました。

Surface Pro 4

引用元: https://support.microsoft.com/ja-jp/help/4023446/surface-pro-4-features

Web サイトを公開した

大学に入学して、とあるサークルに入って、そのサークルでWebサイトを作ることになりました。

高校の時の続きでHTMLとCSSの勉強をしつつ、昨年度までのコードを参考に、1回生の終わりの新歓期には初めて自分でデザイン・コーディングしたサイトを公開しました。 それからフォームなどを設置することがあったのでPHPとMySQLを勉強しました。最終的には検索したり位置情報を表示する機能を付けたりして、「Webおもしろいなー」となりました。

新しい出会いときっかけ

2回生の12月でサークルは引退し、1月くらいから就活のことも考え始めました(いろいろな事情で、院に行かない可能性があると思ったから)。 せっかくWebサイトを作る経験ができて楽しかったので、それを生かしたいとも思っていました。

サークルの先輩が CAMPHOR- というところを紹介してくれたり、Webエンジニアを目指している学科の友達がいたり、 友達がWebフロントのインターンに一緒に申し込もうと誘ってくれたり、 それから電電の縦コンでいろんな先輩とお話できたりと、2回生のこの時期は本当に出会いときっかけに恵まれていました。

インターンにむけて、 JavaScript や React などWebフロントの勉強を始め、2月には初めて CAMPHOR- を訪れました。 そして3月には、 Web Frontend Challenge に参加しました。

まとめ

以上が、自分が1つ目のブログ記事を書くより前のプログラミングとそれに関する思い出話です。

ネット環境がなかったこととか、謎のタイミングでVBAに手を出しているところとか、謎のタイミングでHTML5の本を手に取っているところとか、 突然先輩に紹介された CAMPHOR- など、振り返ると不思議なものがたくさんありますが、全部無駄にはならず今に至っていると感じます。

またいつも根底には「パソコンを触るのが楽しい」という感情があったと思います。みなさんも、楽しいと感じたことを簡単に手放さずに続けてみてほしいと思います。

最後まで読んでくれてありがとうございます。

クリスマスももうすぐ、アドベントカレンダーも終盤ですね。 明日 12/23(月) の Kyoto University Advent Calendar 2019 担当は K..M さんです。