質問: ### 目標 Webサイトやスマホアプリ、Webアプリ等をがっつり自作したいと思いプログラミングの勉強を始めました。 短期間で効率的に習熟するために、皆様がベストだと思う学習スタイルを教えて頂けないでしょうか? (来年4月以降であればセミナーの受講もできますが、それまでは自宅学習に限られます。) ### 補足 今は基礎を学ぶために、日本語の情報が多くWeb系への応用がし易そうなruby(とrails)を学んでいます。 将来的には上記目的からJavaやLAMP、Andoroid(HTMLやCSSも)等についても習得しなければならないので、 時間はいくらあっても足りません。やりたいことが多くて恥ずかしいのですが、自然言語処理やクローリング、 スクレイピング等にも興味があるのでPythonも勉強したいです。 ですから、なるべく時間を浪費せずに済む、効率の良い学習スタイルを探しています。 ### 参考までに現在の学習スタイル ・ドットインストール、Progate等のサービスで基礎を学ぶ(現無料プラン、近々有料プランに加入予定) ・分からない事があれば、上記の有料サポートでオンラインで教えて貰う。 ・理解を深めるためにPaiza等の問題サイトで、問題を解く ※Paizaは有益なサービスですが、学習サービスではないため間違い箇所が指摘されず正解例も見れません。 ※正解に辿り着くまでに非常に時間がかかり効率が悪いのでもっと良い方法を探しています。 ### 現在のレベル ・rubyでFizzBuzz問題をギリギリ回答できる。 ・rubyのメソッドやクラス等はドットインストールで見たものしか知らない。 ・Paizaで最も簡単なDレベルの問題に調べながら挑戦するが、満点じゃなかったり解けない場合がある。 ・HTMLやCSSは綺麗にデザイン出来ないけど、テンプレートを試行錯誤して調整できる。
回答: 私が薦めるのは、定評のある入門書で基礎から学ぶことです。「たのしいRuby」とか。このサイトでも、入門書の前半に書いてあるレベルの質問がめずらしくないです。 学んだ結果として、Ruby リファレンスマニュアルの中の「Ruby の文法: 」の部分は理解できて、覚えている必要があります。車の運転を学ぶ前に「どれがハンドルか」レベルは知らないと厳しい。 各種クラスのメソッドの機能は覚える必要は無く、都度調べれば良いです。ただ、「標準でどんなクラス・モジュールがあるか」くらいは知らないと探すのも大変かと思います。まあ、何度か調べているうちに覚えると思いますが。あるいは、逆引き本を買うのも良いかと思います。 基礎を学んだら、あとは読み書きですね。良いコードを読むのと、下手でも良いので作ってみる。ウェブアプリを作るのは、他に知らないといけないことが多いので、数学的なもの、パズル的な物から始めるのはどうでしょうか。