コーディング中の画面_index.php_

プログラミング初学者がやってしまいがちだが、オススメできない3つのこと

今回はちょっと本職に関する内容でお送りします。

また、いろんな思想の方がいると思いますが、あくまでも私目線で思うことを綴っていこうと思います。

1.ネットの情報だけでなんとかしようとする

まず1つ目。今やネットの海を漂えば、あらゆる情報にぶち当たります。

もちろん、ネットの情報だけでそれなりのプログラミングはできます。

しかしながら、ネットの書き込みというものは、整理されているものばかりではなく、コーディングの主要な部分だけを掲載しているケースも多いです。特に個人ブログの記事というのは、書いてあることだけ入力しても動かないことが多いです。

なぜ、動かないか?

答えは簡単です。基本を省略しているからです。

記事について、難易度は特に記載がないと思いますが、難易度5の記事を読むには少なくとも難易度3の基礎知識が必要です。

でも筆者にとっては当たり前の知識をわざわざそこに載せません。

もっとビギナーなページがあることを知っているからです。

多くの初学者はここで躓いてしまう。

なぜなら、実現したいことは「こうやったらできる」と書いているのに、動くどころか、何か訳のわからないエラーで止まってしまう。これを自力で乗り越えられればいいのですが、多くは挫折してしまいます。

もちろん、丁寧に全コードを公開しているサイトもありますし、順を追って解説しているサイトもありますが、やりたいことが解説されているサイトと丁寧に解説されているサイトが必ずしも一致するとは限りません。

急がば回れということです。応用の技術を身につけるには基礎が必要なのです。基礎から勉強する場合は、開発環境の立ち上げから丁寧に解説している本を買うことをオススメします。できれば、絵や色が多い本がいいです。内容は薄いかもしれませんが、初学者にとっては分厚くてメソッド(関数)やクラスライブラリの解説ばかりされている本より、ビジュアル的に読みやすい本の方が圧倒的に読みやすく進めやすいです。

可能であれば数冊手にとって、見比べてよりわかりやすいものを買うとよいでしょう。ネットで買う方法もありますが、直接本屋で眺めてみる方がいいですね。


2.カッコイイという理由だけでOSはMACを選択する

これもありがちかもしれませんが、個人的にはオススメできません。もちろんiOSのアプリを開発するのであれば、MAC OSは必須ですが、それ以外の場合は、Windowsの方が初学者にとっては向いていると思います。理由は、多くの解説本はWindows向けの開発環境の整え方や開発方法で書かれているからです。これは、私が手にとった本がたまたまそうなのかもしれませんが、MAC OS向けの解説は、載っていても「MACの場合はこのようにしてください」とおまけのように扱われているものが多いです。

逆にネットの記事はMACユーザーが載せたものが多い印象があります。スクリーンショットがMACの画面であるというものはよく見かけます。前述の通り、ネットで解説されているものは、基本がわかった人が対象となっている記事が多いです。よくあるのが技術者の備忘録的な記事です。これはまさしく、わかった人が同じところで躓く人に対して残した秘伝書です。初学者が理解できなくても仕方がありません。

つまり、ネットでMACで開発されているコードがスクリーンショット付きで載っていたとしても、それはMACである必要はなく、書いた人の開発環境がたまたまMACであっただけなのです。さらにいうと、そこに書かれているものは初学者向けでないことが多いです。

まとめると、MACはデザインもよく作られて見た目かっこいいかもしれませんが、Windows向けに書かれた解説書が多い以上、初学者には不向きなOSと言えるでしょう。

ただ、これは趣味の領域ですので、本気でやると決めたのなら、MACでもいいでしょう。多少バージョンが変わっても操作に変わりはないし、何よりも、Windowsのようにメーカーによって、プリインストールアプリやキーの微妙な配列やその他設定が異なることはないので、馴染めば使いやすいOSと言えるので、最終的には好みに合わせれば良いでしょう。余裕があれば2台持ちが一番いいですね。。

3.いきなりコーディングから始める

これもやりがちですね。

でも、これも急がば回れです。

プログラミングを実行するときのインプットは何か?、アウトプットは何か?、またそのインプットを入力する手段は何か?アウトプットの表示の手段は何か?などを整理しておく必要があります。

特にアプリケーションを作るのなら、画面のデザインから入るのがよいです。

デザインとどの操作でどういう変化をさせるのかをしっかり定義しておけばコーディングも楽になります。これを設計書と呼びますね。

最初は、手書きで画面のイメージを書いて、このボタンを押したら、ここに時刻を表示するとか、このボタンを押したら、表示している内容を保存するとか簡単な内容で十分です。

もちろん、とりあえず作って次々に増築していってもいいですが、あとあとややこしくなることも多いです。

というわけで、いきなりコーディングせずに、簡単でもいいから設計書を作成して、実現することをコーディングしていくというステップを踏むことが大事ですね。


まとめ

最初は何事も「わからないことがわからないというレベル」から始まると思います。

そのわからないことが何かということをつかむためには、やはり何事も基礎から学ぶことが大事だと思います。これは、プログラミングに限ったことではありません。

カッコをつけずに、急がば回れの精神で、基礎をしっかりやることが大事だと思います。細かいことなんてやっているうちにやらなければならなくなるし、基礎がわかっていれば、吸収も早くなります。

そして、基礎をしっかり学んで、ある程度作れるようになったら、次々に作っていくこととそれを誰かに教えることにも挑戦するともっと理解できるようになります。教える相手がいなければ、ブログやnoteで記事を書けばいいのです。

教えることは、効率よく学ぶためのショートカットコースです。

なぜなら人に教えるためには、自分が知っている必要がありますし、さらに、教える相手が思わぬ質問を投げかけてくるかもしれません。その質問こそ学びのチャンスです。知らなかったわからないことがわかる瞬間かもしれません。

基礎をしっかり学ぶ→応用に挑戦する→誰かに教える

このステップを踏めば、すごく効率よく学べると思います。

このステップもプログラミング学習に限ったことではないですね。

どんなことを学ぶにしても最適のメソッドだと思います。

すこしタイトルから話が逸れ始めたところで、今回は終了とします。

では。


この記事が気に入ったらサポートをしてみませんか?