プログラミング学習のコツ的なこと
私は複数のプログラミング言語を扱えますが、現代のプログラミング環境において、プログラミング言語が扱えるっていうのは、「最低限の知識がある程度に過ぎない」と思っています。
なぜなら、開発現場で”フレームワーク”を使わずに、1からプログラミングを行うことなんてほとんどないからです。
プログラミングにおけるフレームワークとは?
“フレームワーク”っていろんな所で使われる言葉ですが、プログラミングにおけるフレームワークはシステム開発に必要な機能があらかじめ用意された開発補助ツール(プログラム群)のことです。
そして、プログラミングを学んでいる人は様々な仕様に四苦八苦してると思いますが、プログラミング言語と同様に、フレームワークにも様々な設計思想や仕様が存在していて、これらを理解してやっとアプリケーションの開発に入れるようになります。
言語ファーストではなく、フレームワークファースト
実際のシステム開発では要件が決まったら、プログラミング言語を決めるのではなく、先にフレームワークを決めます。
WEBで動かすのか、スマホで動かすのかなど、どの環境でアプリケーションを実行させるか決めると、その環境で動かせる形式でアプリケーションをビルドできるフレームワークが絞られてきます。
フレームワークが決まると、フレームワークに対応してる言語が決まっているので、その言語で開発しましょうとなります。
フレームワークやプログラミング言語の特徴の理解
そして、新しく参加することになったプロジェクトが、今までで触ったことのないフレームワークや言語で開発することになった場合、勉強しなきゃいけません。
当然、機能や仕様を本で勉強するのですが、最初は開発環境を整えて、サンプルコードを書いて動かしてみたりするのですが、ある時点から急に理解が進みます。
私の体験上、急に理解が進むタイミングは「プログラムの動きに自分なりのイメージを持てた時」です。
プログラムって手元で動いてる物じゃないので、コードを書いてる時も、プログラム実行中も、基本的に「こう動くはず」って動作を想像して作ってますよね。(変数の動きを追ってるデバッグ中は別ですが)
その動きのイメージがフレームワーク全体に渡って、出来た時から急にデバッグや開発のスピードが上がります。
フレームワークやプログラミング言語のイメージを掴むには?
これはやっぱり実際に手を動かして、プログラムを数作るしかないです。
それでも、新しいことを勉強する時は、まず本を5冊程度まとめ買いしておくのが良いでしょう。
その理由はいくつかあります。
- ネットの情報は断片的だけど、本の情報は体系的
ネットで調べれば、すぐ情報が手に入る時代ですから、本を買うなんて無駄だと思うかもしれません。
しかし、ブログを運営してる私が言うのも変ですが、ネットで手に入る情報って”ある困り事”を解決するには適していますが、物事を体系的に学ぶには情報が断片的過ぎます。 - 本1冊だと情報が偏りがち
プログラムの本って、同じプログラミング言語の本でもターゲットによって、記述方法が違ったり、環境構築の仕方が違ったりします。
また、私もよくあるのですが、環境構築中にエラーが発生すると、そこで止まってしまいます。
プログラムの内容は同じだけど、想定している開発環境が本によって違うことがあるので、いくつかあると、別の本のやり方でうまくいくことがあります。
そして、体系的な知識が身に付いたら、あとは困った時にネットで調べるくらいで事足ります。
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。