チュートリアルばかりのプログラミング学習の思い出と反省【学生時代編】

自分は職業プログラマーではないので主に趣味としてプログラミングを学んできた。
我流の勉強をしてきたわけだけど、かなり遠回りをしてきたので自戒としてこれまでのプログラミング歴を残しておく。

基本的に失敗は以下に集約されてくる。
「チュートリアルや教本をいくらこなしてもプロダクトを作れるようにはならない。作りたいものを先に決めて覚悟を持って作り切るときしか成長はしない。」
結局、「何を創るか」先に決めないでなんとなくプログラミングを勉強しても学びはめちゃくちゃ薄い。
作り方が不明な斬新な企画は無理にせよ、「◯ヶ月で☓☓みたいなサービス創る」みたいな具体的な目標たててから学習しないと身につかないのである。

学生時代編

小学生:初めてのHTML(無関心期)

自分が初めてプログラミングっぽいことを学んだのは親父がきっかけだった。
親父は流行り物が好きかつ何でも自分で作りたがるDIY精神に溢れた人だったこともあり、インターネットをいち早く取り入れていた。
そんな親父はWindowsが流行る前の頃、黒い文字だらけの画面が主流だったMS-DOS時代からPCに慣れ親しんでいた。

小学生高学年になった頃、そんな親父から唐突に1枚のプリント用紙を渡された。
そして「今からPCのメモ帳に向かってこれを打ち込め」と指令が下った。

HTML親父
素材)いらすとや

理由も説明せずにテキストを打たせられた後、親父がtxtファイルの拡張子をhtmlに変えて「どうだこれがホームページや」とドヤっていた。
これが僕の最古のプログラミングの記憶だ。
この後も唐突にHDDの分解を見せてきたり、パソコンの中身や仕組みに対して興味の無い自分に色々と接点を設けてくれていた。
(当時はかなりめんどくさがってたけど今となれば良い思い出)

(どうでもよい余談)
もし子供にタイピングを覚えさせたいのであれば、まだキャラクターものが好きな頃にそのキャラクターのタイピングソフトを与えると良いのかもしれない。
PCゲームは買ってくれなかった親父だけどZガンダムのタイピングソフトは買ってくれた。

Zガンダムタイピングソフト
画像引用)Amazonから

1,000文字近いダカールの演説をフルタイピングできるのはこのTYPINGZだけだ!

中学生①:サイト運営とCSS(関心期)

親父にはじめてHTMLを教わった後、自主的にプログラミングをやることはなかった。
インターネットを使って色んなサイトを見る週間はついていた。
そんな中、アーマードコアというゲームにどっぷりとハマりインターネットのチームに入るなど活動を広げていたのだが、周りの人がホームページを作っているのに影響を受けて自分もホームページをたててみたくなった。

親父が持っていた「一週間で作れるホームページ」的な教本を片手にホームページを作った。
当時「侍魂」が爆発的に流行っていたこともあり、漏れなく自分も文字の色やサイズをいじるテキストサイトテイストを模倣していた。

俺式 フォント弄り
画像引用)俺式 ヒットマン事件より

ベタ打ちのHTMLで編集していたのだけど、タグの作法などもめちゃくちゃで<h1>~<h6>を文字の大きさを変えるタグだと思っていたぐらいだ。

そんな我流で学んでいく中、サイトテンプレートを提供するサイトを利用するようになる。
このタイミングでCSSの存在を知り、サイトカスタマイズをする中でこれも我流ながらCSSを学んでいった。
この時は比較的作りたいものが決まっている中で必要なスキルを学べていたので吸収力も高かった。

中学生②:「俺式」とC言語(挫折期)

中学生の頃「俺式」というサイトにはまっていた。
3つぐらい年の離れた高専学生が自作ゲームを公開していたサイトだ。
雨を除けるゲームとかシンプルなゲームが多かったものの、サイト内の掲示板でスコア報告したりそれなりにハマっていた。

俺式リニューアル
画像引用)久しぶりに俺式いったらすげーおしゃれにリニューアルしてた

そして僕もこんな風にゲーム作れたらなと思いC言語にチャレンジするのであった。
結論から言うと「Hello World!」すら画面に表示することなく挫折した。
HTML / CSSだけしか触れてこなかったため環境構築が理解できなかったのである。

当時買っていた教本に入っていたCD-ROMのコンパイラがうまく入らなかったような覚えがある。(今となってはちゃんと導入手順踏めていたのかもわからないけど…)
この当時動画でプログラミング学べるような神サービスがあったら、環境構築のハードルを突破できて世界線変わっていたのかも…。

大学生:Macとプログラミングかじり(多動期)

C言語で挫折して以降は新しいことを学ぶこともなくなっていた。
ただ一度学んだHTMLを活かして部活のホームページ作ったりはしていた。
(前略プロフやガラケーサイト全盛期にモバイル用のペラ一系のサイトをHTMLで直打ちしていた。学生時代の懐かしいサイトは殆ど元サービスの閉鎖とともに潰れているのが普通だが、無駄にレンタルサーバー借りたため今でもサイトが残っていたりする)

大学生1年生になりiPhoneデビューし、大学3年にはMacBookデビューしていた。
スタバでドヤる感じではなかったけど、インターネットサービスを作りたいという漠然とした思いで何個もチュートリアルやっては手放していた。

・MANPを入れてPHPサイトを作ってみよう!
・HTML×CSS×javaScriptで学ぼう!
・ストーリーボードを使ってiOSアプリを作ろう!
・C言語の基礎(ポインターで挫折)

などなど色々なチュートリアルや教本に手をつけては形にせずに挫折した。
挫折した理由は明白で、具体的な作りたいものを目標とせずにスキル取得を目的にしてしまったからだ。

この頃にはドットインストールのような動画でプログラミングを解説してくれる神サービスも活用するようになったのでプログラミングを学ぶハードルはだいぶさがっていた。

ドットインストール
画像引用)ドットインストール

でも『コードを模写する』ことばかりで、自分の頭を使って『コードを組み合わせて書く』という経験はほとんどできなかった。
この頃の模写する学習形式がこの後の社会人生活にも引きずられ、自分の血肉にならない時間の使い方が増えていくことに繋がった。

もちろん模写することの意義もあると思うけど、応用問題のプロセスがすっかり抜けていたのだ。
その応用問題のプロセスを経るためにはやはり「具体的に作りたいもの」という目標の存在が大事になるのである。

長くなったので迷走してる社会人編は次回。
(Ruby~PHP~Python~C#の教本とチュートリアルを渡り歩く…)

【→社会人編はこちら】

タイトルとURLをコピーしました