スポンサーリンク

プログラミングをマスターするまでの話

今回はどのようにして私がプログラミングをマスターしていったのかというお話になります。
ちなみにマスターと言ってもなんでもできるわけではありません。
あまりきれいなつくりではないでしょうし、もっともうまく作れるという事は多々あります。
それでも自分の作りたいものはおおよそ作れます。

軌跡

出会い

出会いは小学4年生の頃だったと思います。
20年以上前ですから当時コンピューターは珍しかったと思います。
私の叔父がそういったものが好きだったようで触れる機会がありました。
今のWindowsのようなタワーパソコンではなく、キーボードだけという原始的?なコンピューターです。

きっかけはゲーム

当時はファミコンからスーパーファミコンに進化したころでした。
ゲームというものが楽しくてよくゲームをしていたわけです。
※立場上あえて言っておきますが、宿題はきちんとやったうえでゲームしていましたよ。
このコンピューターは特にゲームができるわけではなかったのですが、ゲームらしいものを作ることが出来ました。
ただ、後からゲームカセットが実はあったという事も知りましたが、当時の私はゲームらしいものにはまりました。

数字あてゲーム

たとえば数字あてゲームなんてものが出来ました。
コンピューターがランダムに決めた数字を当てるだけのゲームです。
20→モットオオキイ→25→モットチイサイ→23→アタリ!
こんな簡単なゲームです。
そして出来ると言っても、今のパソコンのようにダブルクリックして起動するなんてものではありません。
そもそもマウスがありませんから、操作はすべてキーボードで行います。
さらに「数字あてゲーム起動!」という命令をするわけでもありません。
毎回数字あてゲームを作る、つまりプログラムを入力するところから始めていました。
プログラムの書かれた本を見ながらキーボード入力していました。
遊び終わって電源を切るとプログラムはメモリから消えて、次遊ぶときはもう一度入れ直すという事を繰り返していました。
今考えれば変わり者の小学生かもしれませんね。

解読

本に書いてあるプログラムのソースコードを一つ一つ入力していってそれを実行するとはじめて遊べるようになります。
好奇心旺盛な小学生ですから、本に書かれてあるプログラムだけでは物足りなくなってきます。
プログラムをいじって、数当てゲームを改造したりしました。
3回までに当てられたらポイントが増える、みたいな改造を加えていきます。
当たり前ですが、先生はいませんでした。
正解のプログラムだけが本としてある状態で、それを解読してマスターするという事をしていました。
これが私がプログラミングをマスターしていくきっかけとなりました。

衝撃を受けた「配列」

まだ「配列」というお話の説明もしていないので中々伝わりにくい話かもしれません。
さらっと流して頂ければと思います。

私の使っていた本には「配列」というものを使ったサンプルコードがありませんでした。
配列を知らないと作るに作れないアルゴリズムが一部でてきます。
そのような場合に、中々うまい解決策を思い浮かべる事が出来ませんした。
まだ小学生の頃でしたが、あるとき別の本のサンプルコードを眺めていると、「配列」を使ったプログラムが載っていました。
私がプログラムを作るときに困っていた解決策がまさにこの「配列」だったのです。

それまでの私のプログラムの力が1000だとすると、配列を知った私の力は530,000位になりました。
それくらい大きな衝撃でした。
これ以来、プログラミングで作りたいものを、自在に作れるようになったように思います。

ここまででプログラミングの基礎はほぼ作られています。
小学生のうちにある程度理解できるものですから、実はやってみればそれほど難しいものではありません。
後はもっと複雑なプログラムであったり、プログラム以外のシステムに必要な要素を知るという段階に移行していきます。

情報の授業

高専や大学で情報の授業としてプログラムの授業がありました。
既に独学でなんでもできていましたから、私がここから得られるものはほぼ無かったわけです。
しかし、プログラムというものが大変難しいものであるという事を知ったのも情報の授業でした。
周りの方々は学力の高い方々でしたが、やはりプログラミングという特殊なものは中々理解しにくかったようです。

正直なところある程度特殊なプログラミングというものをみんながみんな出来る必要はないと思っています。
半面、どんな事が出来るのかなどは、ある程度位の高い職に就く人は知っていた方が良いとも思っています。
そのような方に向けて、技術的にどのようにシステムを用意するのが良いか提案するという仕事がSEです。
その仲介をうまくできるようになるという事が、SEの能力なんだと思えるようになりました。

就職

プログラムを作る事自体は出来ても、プロジェクトを組んで膨大なシステムを作るノウハウはありませんでした。
そういう経験をさせてもらえたのはやはり大きかったのかもしれません。
また、SEという仕事が想像以上にソースを書かないという事も知ることが出来ました。

プログラムができるようになるとシステムでどんなことができるようになるか想像する力が付きますが、実際にシステムを作る事はできません。
プログラムを動作させる土台となるハードウェア等があって初めてシステムが動きますが、そこまで意識していませんでした。
実際に1000人規模のプロジェクトに参画する事でそんな事を知ることが出来ました。

その後

今でも色々な形でプログラミングと関わっています。
自分の仕事の改善や、実際にSEのような事をさせて頂くなどしています。
趣味的にアンドロイドアプリを作りたいとも考えています。

もうある程度の事はなんでもできてしまうのですが、それでも細かい部分は日々勉強です。
常に進化し続けていくので、自分が進化する事を止めてしまうとついていけなくなりますからね。

終りに

という事で私がプログラミングをマスターするまでのお話でした。
システム開発に第一人者として携われる所まで考えれば、マスターするまでの道のりは中々長いと思います。
ただプログラム自体をマスターするところまではそれほど長い道のりではありません。
最初の一歩「自分で何かを作れるようになる」までのハードルだけが少し高いと思います。
しかし、それを飛び越えてしまえば、後はなんでもできると勘違いできるようになります。
その大変な部分で少しでもお役に立てれば光栄です。

にほんブログ村 地域生活(街) 東北ブログへ にほんブログ村 地域生活(街) 東北ブログ 米沢情報へ にほんブログ村 教育ブログへ にほんブログ村 教育ブログ 塾教育へ
スポンサーリンク