こんちにはmorimori(@TatsunoriMorita)です。
新しい言語を勉強する時の自分なりの勉強方法を振り返って見たいと思います。
プログラミング勉強中で自分で何か作ってみたいと思っている方の参考になれば嬉しいです。
はじめに
自分のスキルレベルとして、.NETをメインとした職場で5年システム維持メンテナンスを担当。
この記事で紹介する勉強方法は特定の言語に依存していません。最低限の知識として基本的な言語の文法を理解していること。
基本的なやり方としては極限までハードルを低くすることが大切だと思っています。
いきなり難しいことをやろうとすると挫折する原因となるためです。
難易度の目安として、
シングル画面の表示<画面遷移<データ保存(webならセッション、モバイルならcsvや端末の一時保存領域<データ保存(DB))
なので、あまり知識がない段階では取り敢えず1つの画面で完結し、表示をするだけのものから初めていくことが大事です。
ステップ1:作る系の本を一冊買う
おみくじアプリ、電卓アプリ、TODOアプリなどを章ごと完結型の入門本をやります。
注意ポイントとしては最新のバージョンのものを買うこと、バージョンが違うと本の内容から変更されている部分があり正しく写経してもエラーとなる場合があるためです。
バージョンがよく分からない場合は本の発行日が何年も前のものは避けたほうがいいです。
ステップ2:章を3つぐらいやる
一番の目的は開発環境の使い方を覚える、プロジェクトの作成からアプリの実行方法までの基本的な流れを掴むことです。
注意点としては、本の内容をすべてやる必要はありません。
全部やろうとすると飽きるので、大体の流れが分かったらOKとします。せっかく本を買ったので勿体無いから全部暗記するようなことは辞めたほうがいいです。
ステップ3:簡単なものを自分でいちから作ってみる
本のサンプルで勉強したことを使って実際にいちから自分で作ってみます。
画面に文字を表示させるだけの簡単なものでいいです。大事なのは1から自分でやることです。
本にあるサンプルアプリを改良する方法でもいいですが、それだと理解できない部分については手を加えられないので、
極限までハードルを下げたものを自分で作ってみます。
ステップ4:基本的なUIコントロールをいじってみる
おそらく本のサンプルをいくつかやっていればラベルやボタンなどの基本的なUIコントロールの使い方は覚えると思います。
その後は、ちょっとだけ新しいことを取り入れてみる→できたら自分を褒める→また新しいことを取り入れる
のサイクルを回して改良を繰り返して行きます。
大事なのはどんなに小さなことでも達成したら自分を褒めて上げることです。
そうすることでアドレナリンが放出されて良いサイクルが作れていきます。
ステップ5:画面遷移してみる
ボタンを押したら別の画面に画面遷移する仕組みに挑戦してみます。
それができたら、画面間の値渡しができるようにします。
ステップ6:一時領域にデータを保存してみる
いきなりデータベースを使おうとするとデータベースの知識、SQLの知識も必要になるので大変です。
Webならセッション、モバイルならcsvやアプリの一時保存領域などがあり、これらはデータベースを使うより比較的簡単に扱えることが多いです。
データの一時保存がきるようになるとそこそこ使えるものが作れるので楽しくなってきます。
ステップ7:データベースを使ってみる
データベースの使い方、SQLを勉強してデータの永続化する方法に挑戦します。
ここまでできると思ったものが作れるようになっていると思います。
おわりに
最初にも書きましたが、極限までハードルを低くして少しずつクリアしていくことが大事です。
ちょっとだけハードルを上げてクリアできた時は自分を褒めて上げましょう。
これができるよういなると良いサイクルができて楽しく継続できます。
アプリ開発は長距離マラソンだと思っているので、最後まで走り切るためには頑張り過ぎないようにちょっとずつやる。
焦らず行きましょう!!