Java とは純粋なオブジェクト指向として設計された「プログラミングの集大成」的な言語。コードの整理整頓を徹底できる。ビル・ジョイ を筆頭に1967年からのズバ抜けた天才たちの叡智と人生が凝縮されている(彼の思考を取り込む)。その性能や安定性が極めて高いため経済市場でも高い価値がある。
パッケージ
新しい友達たち。Javaの世界には非常に沢山(3,500以上)の標準クラスたちが生息しており、約200以上のパッケージ/種族に分けられている。彼らはあなたの仕事を助けるために常に待機している。
- java.lang パッケージ - Javaプログラミングを支える基本的なクラスたち。インポート不要
- java.util パッケージ - 一般的な仕事をしてくれるユーティリティクラスたち
- java.text パッケージ - テキスト処理を担当してくれるクラスたち
- java.time パッケージ - 日時操作を担当してくれるクラスたち(Java8以降)
- java.math パッケージ - 計算など数学を担当するクラスたち
- java.net パッケージ - ネットワーク通信を担当するクラスたち
- java.io パッケージ - データ入出力を担当するクラスたち
効率的な学び方
効率的なプログラミング言語の習得は、英語の習得と基本的に全く同じプロセスをたどる。できるだけ早く以下のプロセスを進む。
- ブラックボックスの解体:
その言語の全体像が分かるまで、コンピュータやインターネットの歴史などを書籍複数やネット記事を使って調査する。業界が大きければそれだけ時間かかる。 - 砂場の準備:
遊びに没頭できるように生活環境とマシン環境を整える。 - 言語の基礎固め:(←今ココ)
言語の基本機能や言語要素を学び、それらを使った基本的なコードを書きまくって言語の基礎に十分に慣れ親しむ。本屋で立ち読み等も。 - よく利用される単語/イディオムの把握:
標準ライブラリは全て半暗記し(知らないなら使えない)、コード内に混在する言語機能と区別できるようになる。OOPを使いこなせるかどうかは、クラスライブラリを使いこなせるかどうか。 - 英文を読みまくるのと同じフェーズ:
良いコードを読みまくり写経しまくる。Git等でよく利用されるコード表現の30%に精通しWikiにも整理する。どんなコードでも全て理解できるようになる。 - 言語を本格的に使い始める:
言語機能と標準ライブラリだけを使って小さなアプリを作りまくる。アプリやゲームをたくさん作る。言語機能と標準ライブラリにとことん慣れ親しむ - 応用分野に足を踏み込む:
Androidアプリの作り方を学び、他ライブラリやフレームワーク、IDEも使い始める。それらを使ってさらにスマホアプリを作りまくる。 - 実務経験で成長を加速させる:
Webサイトと抱き合わせでスマホアプリを作る自営業を始める。最も価値のある経験が得られるのは仕事の現場。プロトタイプ作ってブログ営業も始める(他者アイディアは無尽蔵なので)。 - 上級者レベルの門を叩く:
この段階では言語をほとんど自在に使えるようになっている。さらに高みへと進むために、難しいアルゴリズム問題を解きまくる。次第に、その言語の上級者であると実感できるようになる。他の候補者が汗だくになるようなコーディング面接も涼しい顔で受けられるようになる。
基本言語要素
以下の基本言語要素とその使い方に精通すれば、その言語でプログラミングするための基礎が身についたということになる。