現役プログラマが教える初学者がプログラミングを上達する学び方
- 未経験でプログラマを目指している方へ
- 想定読者
- プログラミング言語を学ぶコツ
- なぜそう思うか?
- ではどうすればよいか?
- どういうコードが価値があるのかを学びましょう。
- オブジェクト指向を学びましょう。
- テストの書き方を学びましょう。
未経験でプログラマを目指している方へ
プロゲートでのRails学習、Railsチュートリアルを突破された方/学習中の方にプログラミングを学ぶコツを紹介していきます。
私は、10年以上プログラミングで仕事をしています。 その中で、WEBメディア制作でruby/Railsを1年ほど利用しました。 Railsは優れたフレームワークである事は間違いないのですが、便利すぎるが故、プログラミングの基本がおろそかになりがちです。 もっとプログラミングスキルを伸ばしたいと思う皆さんに向けてコツを紹介していきます。
想定読者
- Railsチュートリアルを突破したが、プログラムを書けるようになっているか自信が無い方
- プロゲートでRuby/Railsを学習中、あるいは、学習済の方
- Ruby/Railsでのスキルが伸びているかわからないが、取り合えず他の言語に手を出して少し迷走しているかもしれないと思っている方。
プログラミング言語を学ぶコツ
プログラミング初学者に向けて強いメッセージになるのですが、初学者の頃に扱える言語を増やす事は直接的なスキルには結び付きません。 いろいろな言語に触れてみたくなる気持ちをぐっとこらえて、1つの言語でとにかく自分のスキルを磨きましょう。 プロゲートで、全言語を突破する事はスキルを高める近道ではありません、断言できます。
なぜそう思うか?
プロゲートで全言語を突破した人はなおさらだと思いますが、
全言語共通して、if
for
while
array
と出会います、細かい書き方やルールは各言語で異なりますが、概ねできるコトや学ぶことは似ていてやり方が違うだけと気がつきます。
突き詰めるとコノ言語は並列処理が表現しやすい等はありますが、その辺りは上級者ゾーンとして現時点は無視で問題ありません。
ではどうすればよいか?
スキルを広く浅く伸ばすのではなく、まずは狭く深く伸ばしましょう。 そのためにはは下記を用いた学習法が効果的です。
どういうコードが価値があるのかを学びましょう。
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
- 購入: 68人 クリック: 1,802回
- この商品を含むブログ (140件) を見る
コードを書くためのよりよいプラクティスが紹介されています。 命名のルールやコードの作法、サンプルも豊富です。 私も新卒エンジニアには読むことを勧めています。 「他人にはわからない、自分にだけわかる邪悪なコード」にならないためのエッセンスが詰め込まれています。
オブジェクト指向を学びましょう。
オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
- 作者: 平澤章
- 出版社/メーカー: 日経BP社
- 発売日: 2004/06/03
- メディア: 単行本
- 購入: 34人 クリック: 448回
- この商品を含むブログ (198件) を見る
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
- 作者: Sandi Metz,?山泰基
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/02
- メディア: 大型本
- この商品を含むブログ (5件) を見る
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る
コードを書き始めたら、どんな設計をするのが良いのか気になりますよね? 私は、10年間エンジニアリングの仕事をする中でRuby/PHP/Java/Python/Golangを仕事で扱ってきましたがいずれもオブジェクト指向の概念はとても役に立っています。
初学者の時は、1つの言語でプログラミングを書き、その言語でオブジェクト指向とはどういうものなのかというのを学び、そして、次の言語を習得する際に、早い段階で応用できると思います。
テストの書き方を学びましょう。
- 作者: Kent Beck,和田卓人
- 出版社/メーカー: オーム社
- 発売日: 2017/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
書いたコードを再現性のある形で保証できることがテストコードの存在意義になります。 一方、何の為にあるのかわからないようなテストコードやテストとして役にたってるのか不明なテストコードの場合、邪魔になることも当然あります。 正しくテストの書き方を身につけましょう。