大変お世話になっております。
反逆する武士
uematu tubasaです。
初回投稿日時:2020年10月22日(令和2年10月22日)
プログラミングを学ぶ際の辛さを軽減
私はITエンジニア歴、約7年の人間なのでございますが、プログラミング学習が本当に辛かった記憶がございます。
拙ブログにお越しの方で、ITエンジニアに転職したいとか、プログラミングを学びたいという方がいらっしゃいましたら、参考になるのではないかと思い、プログラミングを学ぶ前に学ぶべき基礎知識を大公開したいと思います。
拙ブログでご紹介したプログラミングを学ぶ前の基礎知識さえあれば、プログラミング学習の辛さが軽減されること間違いありません。
プログラミングは目的ではなくて手段である
まず、プログラミングを学びたいからプログラミングを学ぶというのは止めてほしいと切にお願いしたいです。
プログラミングとは何らかの成果物をアプトプットするための手段であって、目的そのものではございません。
アウトプットを前提としないインプット(学習)は効率が悪いので、目的を明確化してからプログラミング学習を開始する方がよろしいかと。
ブログを作成したいということでございましたら、WordPressブログを立ち上げた後、PHPなどを勉強して独自カスタマイズを行うことを目的として、PHPを学ぶのが一番効率的です。
目的も無しに、役立ちそうだからとか漠然としたモチベーションでプログラミング学習は自殺行為です。
ほぼ確実に挫折しますよ。
学習教材は複数用意するのは鉄則である
プログラミング学習の目的を明確に設定した後は、その目的を達成するために必要なプログラミング言語を選択して、学習教材を集めるべきです。
ただ、その際、入門編だけの1冊で満足してはいけません。
プログラミングの学習教材では、内容が偏ることがあり、単一の教材だけでは理解が浅かったり、誤った知識が身に付いてしまうということがあり得ます。
例えば、C#でも入門編や実践編がございますし、別々の著者の書籍を購入するべきですし、書籍だけでなく、プログラミング学習サイトにも登録するのがよろしいかと存じます。
以下、C#学習で参考になりそうな書籍を2つだけご紹介します。
自宅PCに開発環境を構築するのも必須である
さらに、プログラミング学習においては自宅のPCにある程度のお金を投下して、Web上やサイト上の環境だけでなく、自宅PCでプログラミングできるようにするべきです。
自宅開発環境であれば、ある程度無茶なコードも記述することが可能ですので、トライ&エラーの心理的抵抗感がありません。
※もちろんPCを壊すほどの負荷を掛けてはなりませんよ?
プログラミングに関して質問できるレベルに到達するのは絶対条件である
また、プログラミング学習する際に、どうしても理解できない場合やどうやっても実現できない機能などが生じると思います。
その場合、プログラミングの専門用語をしっかりと理解して、適切な質問ができるかが生死を分けます。
例えば、Javaというプログラミング言語のコンストラクタという単語を説明することができますか?
コンストラクタとは、クラスのインスタンス生成時に実行されるメソッドで、主にそのクラスのメンバ変数を初期化するときに使用します。
引用元:【Java入門】コンストラクタの使い方総まとめ(クラス/インスタンス)
コンストラクタはインスタンス生成時に呼び出される特別なメソッドで、通常のメソッド同様に引数を指定することも可能です。
私はポンコツITエンジニアでしたので、説明できませんでした。
今はある程度説明できますけども。
まずは参考コードを理解して、カスタマイズするところから
そして、プログラミング学習において、参考になりそうなコードを自宅PCの開発環境に実際に書いてみて、実際に動かしてみるというのは極めて重要です。
プログラミング学習とは、結局動かしてみないとわからないというところがございますので、是非とも参考コードを記述してみましょう。
そしてそれをカスタマイズするという方向でやってみるというのは、一番効果的なのではないかと思います。
プログラミングの原理原則を学ぶべし
プログラミング学習がある程度進み、一通り動作ができるようなコードは書けるようになったら、次に気を付けるべきは可読性と保守性の高いコードを作成することです。
簡潔に説明すると、第三者から見てもどういった思想を元にしてどういった動作をするのかがわかりやすいコードが可読性の高いコードであり、システム開発や機能変更の場合にメンテナンスしやすいコードが保守性の高いコードなのです。
言い換えるのであれば、第三者見ても何がどうなっているのかわかりにくく、一部分のコードを修正しただけで動かなくなるコードや機能変更する際に、全面的に書き換えないと駄目なコードは筋が悪いということです。
できるだけ良いコードを記述するための、原理原則を学んでからの方がプログラミング学習が効率化しますので、上記のプリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則を読んでほしいです。
以上です。