2005-Learn-Programming

Q:プログラマとして、スキルを上げるにはどうすればいいか?

Ans

初見時: 対象言語に対して、全くの初見の場合

  • オンジョブで、得ることの方が、スキルを上げるには重要である。
  • ただ、プログラミングの基礎や、知識空間を理解しないで、飛び込むと、はじめの立ち上がりが、悪くなってします。より、対象言語の知識空間、ドメイン空間を把握して、飛び込んだ方がいい。基礎的なドメイン空間は、書籍を、2冊程度で把握可能である。
  • ある程度の基礎ができているなら、独学で十分。
  • プログラミング言語であれば、最初のベースとなる1つの言語を、しっかり理解することで、十分、応用が効く。
  • 取っ掛かりとして、1.5hくらい、Hello Worldをやってみる。Hello Worldをすることで、動作環境構築と、簡単な実行方法を理解できる。Hello Worldにあわせて、出てきたワードを検索すれば、初期段階のDomain spaceを把握することができる。
  • 一つの言語をしっかりと理解するには、3冊くらいを段階を踏んでやるのがいい。まず、初歩の書籍を、20Hくらい流す、ここでは、とにかく、書いて流すことを優先する。まとめたり、理解する必要はない。実行して、そのログが残ればいい。
  • 次に、入門書をやる。その言語の構成を正しく提供してくれる書籍を選ぶ。現在のプログラミング言語は、オブジェクト指向言語であり、以下を、きちんと理解できるようにする。
    • Syntax
    • Variables and Type
    • ○Sequence - ◇Case - ◎Loop
    • Basic Object
      • String, Date, Number, Boolean
      • Collection (Array/List, Dictionary/Hashmap, Collection/Set/Tuple)
    • File/FileIO
    • External I/F (Config, TSV, JSON, CSON)
  • 最後は、中級レベルの書籍。これ以上になると、まとまった上級向けの書籍はあまりない。中級レベルの書籍は、言語の本質について、記述があるもの。
  • あとは、Webで十分であるが、順引き、逆引きのリファレンスがあると、Triggerとして利用できる。

Programmingの本質

  • Programmingにおいて、すべてのオブジェクトをすぐさまに使えるようになるのは、相当に、同じ言語を、何年もかけて習熟せざるえない。現代では、様々な言語を利用して開発を行うため、そのようなスキルを構築するのは困難である。
  • より、Programming言語が変わっても、あるトリガーで、コードを素早くかけるということを目指す方が、現実的となる。あるトリガーで、コードがかけるとは、どういうことかを考えるべき。FIXME

Summary

  • オンジョブで使える知識を蓄えることが、実践技術としてのプログラミング技術を使う方法である。
  • 言語の基本的な考え方を、1つ目の言語で、きちんと理解する。
  • 言語を覚えるには、初歩ー入門ー中級の3つの書籍を使う。初歩は、20Hくらいで流す。
  • 対象言語の持つ空間を把握する。