プログラミングスキルを早く身に付けるためには、どのような方法で勉強していけば良いのでしょうか?かくいう私も、まだまだ勉強中で、いつも「どうすれば良いか?」と考えています。
一つ言えることは「プログラミングは暗記するだけで全てOK」とはならないので、ある問題や目的に対して、その都度、どうすれば解決できるかを考える必要があります。
逆に言えば、まず目的(目標)を設定して、その目的を実現するためには何が必要か、どうすれば早く達成できるのか、を考えていけば、自ずと最短コースでプログラミングスキルが身に付いていくと思います。
例えば、ほぼスキル=0の状態で、C言語で通信プログラムを作ることを目的に選んだとします。考えていく流れは大凡、以下のようになるかと思います。
- (1)まず、ネットや書籍を使ってC言語の基本を理解する。
- (2)ネットや書籍に記載されている通信プログラムのサンプルコードを、そのままコピペして、Visual Studio などでビルドして動作させてみる。
- (3)目的を達成するために必要なコードを自分なりに考えて追加して、ビルド→動作確認してみる。
- (4)動作結果が目的に叶っているか検討する(例:通信速度は十分に速いか?正しく通信できているか?エラーは発生しないか? etc. …)
- (5)正しく通信できない or エラーが発生する場合には原因を調べて対策を考える。
- (6)考えた対策をコードに施して、再度動作確認する。
- (7)まだ目的どおりに動作しない場合は、さらに深く調査・検討する。
- (8)それでも解決できない場合には詳しい人に質問(相談)する or ネットの専用サイトに質問する or もっと詳しい書籍を購入して調べ直す、etc. …。
以上の(2)~(8)を効率良く回せるようになれば、プログラミングスキルは、どんどん上達するはずです。私も、上記とほぼ同じような流れでスキルアップを図って来ました。

このように考えれば、英語学習や楽器演奏、もしくはスポーツなどと同じような感じで、誰でもプログラミングを身に付けることができると思います。好き嫌いは少なからず有りますが、毎日少しずつでもやる習慣にしてしまえば、それほど苦にならないと思います。
今流行りのプログラミングスクールに通う、というのも一つの方法とは思いますが、(時間をかけずに?)高いお金をかけるのが良いのか?は、少し考えた方が良いかと思います。せっかく高額のスクールを利用しても、スクールを卒業した途端、自分で勉強しなくなっては元も子もありません。要は自分自身でプログラミング学習する習慣を身に付けることが重要なのです。
結局、スキルが身に付くには、どうしてもある程度の時間が必要になります。これはプログラミングに限ったことではないと思います。音楽やスポーツなどは、ある程度のセンスに左右されることもあるかと思いますが、プログラミングについては学習(努力)した分だけスキルがアップすると考えて良いと思います。
ご自分で作られたプログラムが想定どおりに動作して、さらに、そのプログラム(アプリケーション)を使ったユーザさんにも喜んで貰えた、という状況をイメージしながら、日々のプログラミング学習を継続してみては、いかがでしょうか?
