4行目: 4行目:


==効率的なプログラミング言語の学び方==
==効率的なプログラミング言語の学び方==
効率的なプログラミング言語の習得は、英語などの習得と基本的に全く同じプロセスをたどる。
効率的なプログラミング言語の習得は、英語などの習得と基本的に全く同じプロセスをたどる。'''できるだけ早く以下のプロセスを進める'''。
# ブラックボックス解体のため、その言語の全体像が分かるまで書籍複数やネット記事を調査する
# ブラックボックス解体のため、その言語の全体像が分かるまで書籍複数やネット記事を調査する
# 「Hello World」を表示(ビルド、実行)できるように基本ツールや環境を整える
# 「Hello World」を表示(ビルド、実行)できるように基本ツールや環境を整える

2019年5月13日 (月) 21:44時点における版

Java とはスマホアプリから大企業インフラまでをカバーできるとても汎用性が高い言語。経済市場でも非常に高価な言語。開発には200億円もの爆財と、ビル・ジョイを始め天才たちの叡智が詰め込まれている。

不動の将来性と安定性を誇る言語で、Google3大言語の1つでもある。

効率的なプログラミング言語の学び方

効率的なプログラミング言語の習得は、英語などの習得と基本的に全く同じプロセスをたどる。できるだけ早く以下のプロセスを進める

  1. ブラックボックス解体のため、その言語の全体像が分かるまで書籍複数やネット記事を調査する
  2. 「Hello World」を表示(ビルド、実行)できるように基本ツールや環境を整える
  3. → 言語の基礎や基本言語要素を学び、それを使った実際に利用しそうなコードを書いてそれらに十分精通する
  4. 標準ライブラリーを学び、コード内に混在する言語機能と区別できるようにする
  5. 良いコードを熟読し写経しまくる。コードの全ての動きを理解する。よく利用される20%を把握(英文を読みまくるのと同じフェーズ)
  6. どんな行が出てきても読めて、何をしているか理解できるようになる
  7. 本格的に言語を使い始める
  8. 言語機能と標準ライブラリーだけを使う小さなアプリを作りまくる。提案されているやつ
  9. それから、Androidアプリの作り方やフレームワークについて学ぶ。それらを使ってさらにアプリを作りまくる
  10. Webサイトと抱き合わせでスマホアプリを作る自営業を始める
  11. 言語をほとんど自在に使えるようになっているので、難しいアルゴリズム問題を解きまくる
  12. そのプログラミング言語をほぼマスターし卓越した力を持てたと実感できるようになる
  13. 他の候補者が汗だくになるようなコーディング面接も涼しい顔で受けられるようになる

基本言語要素

以下の基本言語要素とその使い方に精通すれば、その言語でプログラミングするための基礎が身についたということになる。

基本パッケージ

特殊スキル『OC没頭』を早く手に入れる

  1. 基礎知識をしっかりと固めておく(基礎的な必勝セオリーの蓄積)★ 今ここ
  2. コマンドやサンプル等を大量暗記・潜在表現力の増幅(応用的な必勝セオリーの蓄積)
  3. 街を作りまくる・あとは組み合わせることに慣れるだけ・写経も(英語と同じ)
  4. 人様のためにアプリを作れる状態になる
  5. 何でもいいからアプリ制作(Web制作)を受注して作りまくる
  6. フリーランス化

アプリ開発の指針

  • アプリケーションでどうしても必要という場合以外は新機能を追加するな
  • システムが何ではないのかを定義することは、何であるのかを定義するのと同じように重要。あらゆるニーズに答える必要はない。むしろ互換性を維持した状態で拡張可能にしておけ
  • 1つでも例を挙げて一般化したほうが、全く例を挙げずに一般化するよりもマシ
  • 問題が完全に把握できないときは解決策も提供しないのが最善の方法
  • 10%の作業で望みの90%の効果が得られるときには、その解法で十分
  • 複雑さは可能な限り管理できる単純な大きさに分割せよ
  • ポリシーやルールよりも機構(システム構造)を提供せよ。特にユーザインタフェースはクライアント側に任せておけ

メモ

Java では、コマンドたちが(クラス設計図から生成されるインスタンスとして)文字通り擬人化されている。彼らはUnixの天才たちによって生み出された小人みたいな存在。よく使うコマンドたちはもちろん、便利なコマンドたちや彼らができる動きをしっかり把握して自分が構築するシステム内でもたくさん働いてもらえるようにする。

つまり、自分の理想を実現するために必要な「優秀な人材」はすべて、Java の中にすでに詰まっている。彼らはずっと PC の中で利用されることを待っている。問題は、自分が彼らのことをキチンと把握し使いこなせるか、ただそれだけ。彼らは喜んでタダ働きしてくれる。素晴らしいレバレッジ。