今回はもう一歩踏み込んで考えてみたいと思います。
確かにプログラミングは、家づくりと共通する部分も多く、ヒントになる部分がたくさんあります。何かを作るということは、どんな分野でも、本質は同じなのかもしれません。
でもプログラミングの学習が、家づくりと違う点は、あなたは「ユーザー」であると同時に、「開発者」でもあるということです。
*ユーザー(user)とは、利用者のこと
これを家づくりで例えるなら、あなたは施主(お客様)であると同時に、施工業者(工務店や大工さん)の立場でもあるわけです。
普通は施主と施工業者は別々ですよね。自分の家を自分で作れる人は、そう多くありません。1人で家を作るのは大変です。
しかしプログラミングの世界では、自分で使うシステムを、自分で作ることが、比較的簡単にできます。パソコン1台あれば、あなた1人でも可能です。
もちろん大勢で行なう、大規模なプログラミングもありますが、この講座は初心者向けなので省きます。
プログラミングを教えていると、
「プログラミングの基本は理解できるが、いざ何かプログラミングしようと思っても、できない。」
というメールをいただくことがあります。
プログラミングの入門書が理解できたからといって、すぐにシステムが作れるようになるわけではありません。
中にはすぐに応用できる、優秀な人もいますが、普通の人はできません。あなただけではないので、安心してください。
プログラミングの入門書というのは、基礎がわかる状態です。
家づくりで言うと、外壁や窓、ドア、照明など、それぞれの部品の役割は、理解できるという段階です。道具の使い方もとりあえずわかっています。
でも初心者に「それでは家を作ってください」と言っても、なかなか作れるものではありません。
何故なら、家づくりの『経験』が無いからです。足りないのは、知識ではなく経験です。
初心者は、何から初めていいのかわかりません。全体像をイメージすることもできません。また、たくさんある部品の中から、どれを選んでよいのかもわかりません。
しかし初心者でも、設計図を用意してもらい、必要な部品を全て選んでもらって、少しずつ一緒に作ってくれる人がいたら、できると思いませんか?
しかもワンステップごとに解説付きで。さらに、わからないところがあれば、質問できるとしたらどうでしょう。
誰でも作れるような気がしますよね。
それをプログラミングの学習に取り入れたのが、私が公開しているプログラミング講座です。システム開発の基礎が、一通り学べるように工夫しています。
だから誰でもプログラミングできるようになるのです。
プログラミングは、一度システムを完成させる経験をすれは、二回目からは、自分で作れるようになります。
なぜなら、必要な部品(クラスや関数)の探し方がわかるようになり、道具(命令)の使い方もわかってくるからです。
あとは目的に合わせて、プログラムを組み立てるだけです。
ユーザーであると同時に、開発者でもあるメリットは、システムの改良が簡単にできることです。
あなたが思い付いたことを、すぐに自分で試せるメリットは大きいです。自分で改良できれば、コストはかかりません。