Java目線でコンパイラの仕組みをのぞいてみよう!

プログラマーの常識をJavaで身につける (1)

プログラマーの常識を学ぶ前に


NTTデータ ビジネスブレインズ
伊賀敏樹
2007/1/31



本連載は、「プログラマーの常識をJavaで身に付ける」ことを目標としています。Java言語やその文法は一通り理解しているが、「プログラマー」としては初心者、という方を対象とします。Javaコアパッケージを掘り下げることにより「プログラマーの常識」を身に付けられるように話を進めていきたい、と考えています(編集部注:Java言語について基礎から学びたい読者は、連載「Eclipseではじめるプログラミング」や連載「いまから始めるJava」を参照してください)。


今回の主な内容

 プログラマーの常識を身に付けるのにJavaはうってつけ

 Javaは登場以来、こつこつとバージョンアップを重ねてきました。先日、Java SE 6がリリースされたばかりです。バージョンアップを繰り返す過程で、Javaコアパッケージはどんどん成長し、また実現できる応用範囲はますます広がっています。さまざまなプログラミングが実現できるJavaコアパッケージを使ってみないのは、もったいないです。そこで本連載では、それらJavaコアパッケージを連載ごとのテーマをピックアップして、その内容を掘り下げていきます。

 Java言語の着実な普及に加え、最近オープンソース化されたことも相まって、Java言語の情報処理技術分野における重要性はますます高まっています。Java言語が利用される場面はWebサーバアプリケーションの構築から携帯アプリプログラミングハードウェアへの組み込みなど、多岐にわたっています。ぜひ、Javaを通じてプログラマーの常識を身に付けていってください。

 本連載の前提条件として


環境

 本連載における環境上の前提条件を下記のように定めます。

  • 基本的にサン・マイクロシステムズのJ2SE 5.0JDK 1.5.0)コアパッケージのみを使って話を進めていきます(※今回と第2回目はJDK 5.0 Update 10(Windows版)を用いて動作確認しました)
  • OSを話題にする場合には、マイクロソフトのWindows XPを前提として話を進めます。むろん、ほかのOSでも十分応用ができる内容となっていますので、必要に応じて適宜読み替えてください

現実の開発では必要となる実装を省く場合がある

 例外処理などの実装について、これを割愛して説明を進めていく場合があります。現実的なプログラミングにおいては、例外処理入力チェックなど本来の機能とは関係のないさまざまな実装が必要になります。

 実は、現実的なプログラミングにおいては、本来の機能よりも例外処理などが占める割合がずっと多い場合があります。場合によっては、9割程度はそれら周辺処理の実装で、本来の機能は1割程度しかない、なんてことが現実的なプログラミングでは存在します。これも1つのプログラマーの常識ですね。しかし、これら例外処理などを記述し出すと、本稿が目的とする内容がぼやけてしまい、理解しにくくなってしまいます。

 また、例外処理などをどのように実装するのかについては、実はかなり難易度が高いということもあります。例外処理の常識を説明するだけのために連載記事が必要になるくらい奥が深いです(もし、そのような記事を期待するのでしたら、@ITに要望をお寄せください)。

 このため、それら周辺の関連処理はあえて省いて説明していきます。この点を十分に理解しておいてください。

現実の開発では必要となる記載を省く場合がある

 現実的なプログラミングでは、コメントJavaDocを記入する必要があります。しかし、これを割愛してソースコードの説明を進めていく場合があります。ページ/誌面の関係上やむを得ず割愛しますが、これらは本来は必要であるのにもかかわらず、省略されている点に注意してください。

 プログラマーがAPIに向き合ううえでの常識

 プログラミングを実施するうえで何かしらのAPI(Application Programming Interface)を調べたいときに、Googleなどの検索エンジンを用いて、その使い方や効果を調べる場合があります。近年のインターネットや検索エンジンの進化・普及により、Webブラウザを通じてインターネット上の情報を簡単に検索できるようになったことは、とても喜ばしいことです(私自身、検索エンジンの恩恵を多く受けています)。

 ここで注意しなくてはならないのは、それら検索エンジンの検索結果をうのみにしないという姿勢を忘れない、ということです。私たちプログラマーは検索エンジンの検索結果を活用することで効率を上げますが、一方で、その内容が妥当であるかどうかについて検討する、ということも必要なのです。

 JavaコアパッケージのようなAPIを利用する場合には、API自身の一次情報源や一次情報源に近い資料を調べていくという習慣を身に付けることが必要です。

図1 一次情報源は解説記事や入門書籍の基になっている
図1 一次情報源は解説記事や入門書籍の基になっている

 幸いJavaコアパッケージには、Javaを提供しているサン・マイクロシステムズから日本語によるAPIドキュメントが提供されています。Javaコアパッケージにとって、このAPIドキュメントが一次情報源となります。無料でダウンロードでき、しかもインターネットのWebページとしても参照可能です。これを活用しない手はありません。

図2 Java 2 Platform Standard Edition 5.0 API仕様(日本語)
図2 Java 2 Platform Standard Edition 5.0 API仕様(日本語) (クリックするとページに移動します)

 特に、インターネット上で閲覧できるようになっているのは便利で、私もよく利用します。Javaプログラマーにとっては、このAPIドキュメントを参照するということは常識です

 このように、何かしらの技術を利用する場合には、一次情報源が何であるのかを考え、また、それら一次情報源を参照するような習慣を身に付けましょう。

コラム プロジェクトのルール

私たちがプロのプログラマー(職業プログラマー)として(例えば、ソフトウェア開発プロジェクト内で)仕事をする場合には、そのプロジェクトで定める各種ルールに従う必要があります。これもプログラマーの常識です。郷に入っては郷に従えですね……。

1/2

 Index
第1回 プログラマーの常識を学ぶ前に
Page1
プログラマーの常識を身に付けるのにJavaはうってつけ
本連載の前提条件として
  環境
  現実の開発では必要となる実装を省く場合がある
  現実の開発では必要となる記載を省く場合がある
プログラマーがAPIに向き合ううえでの常識
  Page2
動作確認のためのシンプルSwingアプリを準備
Javaコアパッケージを通じて新しい発見を体験!






Java Solution全記事一覧



TechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH