なぜJavaを学ぶのかすぐに役立つJavaプログラミング学習法(1)

「これからキャリアを積むにはJavaはマスターしておきたい、しかし時間が……」という声をよく聞く。そこで今回は、忙しいITエンジニアのためのJavaプログラミングの「学び方」を4回の予定で紹介する。なお、本記事は@ITラーニングデスクにおいて2001年11月9日に掲載した記事を加筆、修正したものである。

» 2003年02月19日 00時00分 公開
[渡辺知樹@IT]

はじめに――Javaは学びやすい

 何かを学び、スキルアップして自分の可能性を広げる。必要に迫られてにせよ、自分の欲求に従ってにせよ、自分の実力で道を切り開いていこうと思っている多くのビジネスマンにとって最大のテーマだといえる。

 しかし、時間がない、どう勉強していいか分からない、それなりにやっているつもりだが結果に結び付かないなどの悩みを抱えている人は多いはずだ。ここでは「Javaの学習とその習得」を通じて、あらためてビジネスマンにとっての「勉強法」の方法論について整理・再考してみたい。

 Javaは学びやすい言語だといわれる。確かにC/C++、PerlなどUNIX系システムで発展してきた言語の経験者にとっては、非常にとっつきやすい文法と記述スタイルである。またメモリ管理やポインタなど、従来の言語のハードルの高さやミスの原因となっていた要素を極力排して安全性を高め、結果的に学習者の負担を軽くしている。

 さらに、さまざまな用途やシステムに対応したAPI(さまざまな機能や処理を実現するライブラリ)が次々と整備され、かなり多種多様な用途への応用が利く。例を挙げると、Webアプリケーション、データベース(DB)、ネットワークサーバ、携帯電話、小型情報機器などの分野だ。

 現在開発現場では主流になりつつあるといっていいほど普及が進んでいるし、整然と設計された高度なオブジェクト指向プログラミング言語であり、現場ですぐに役立つだけでなく、効率のよいソフトウェア生産技術を習得するにも最適である。

Column:時間の作り方

 学習をする前に、環境を整える必要がある。最初に問題となるのは、時間だ。なかなか勉強が進まないという人の理由の第一が「時間がない」である。ただし、自分の生活をよく見直してみよう。通勤の電車の中、寝る前の15分、休日の空き時間など、工夫しだいでいくつかのまとまった時間がひねり出せるはずだ。

 もしもそんな時間さえないほどの生活が続いている場合は、自分の努力や工夫で改善できるかどうか検討したうえで、それが不可能なら転職を考えた方がいいかもしれない。命は1つ、身体を壊してからでは遅すぎる。


動機と目標――Why do you learn Java?

 まず明確にしてほしいのは、なぜJavaを学ぶのかということだ。具体的な理由や目的、動機がすべての出発点になるし、学び続ける原動力にもなる。また勉強法の基本方針にもなるからだ。もちろん、仕事上で必要という理由が一番多いとは思うが、ただそれだけでは面白くない。Javaには可能性や将来性がある。また、ワクワクするようなソフトウェアサイエンスのエッセンスがあちこちに詰め込まれている。

 Javaを学ぶことを通じて、WebシステムやDBシステムなどのエキスパートを目指すもよし。本格的なオブジェクト指向の学習を通じてソフトウェア生産技術を学び、敏腕プロジェクトリーダーを目標とするもよし。Javaを学ぶことで、知的好奇心を満足させ、スキルアップやキャリアアップに役立つという一石二鳥も期待できる。

 目標の立て方は特に重要だ。例えば、「英会話ができるようになりたい」と英語を学ぶ人は多いが、なかなか思うようにならない人が大多数である。これは現状に比して、目標が高くて広すぎるからである。漠然とした目標でなく、「どのくらいの時間で、何をどのくらいできるようにする」という具体的で明確な目標イメージを持って学んでいくことが大事である。

 Javaができるようになりたいという気持ちは大切だが、時間、労力、教材、コストなど“学習のリソース”を有効に活用するためには、どのくらいの期間で、どの分野の技術を、どの程度まで身に付けたいのか、すなわち、どのようなことができるようになりたいのか目標を具体的に設定する必要がある。

 なぜならJavaの用途は多岐多様で、どこかに絞らないとターゲットが大きすぎて、リソースの分散→学習効率の低下→なかなか学習が進まない→途中でギブアップという、悪しき展開を招くからだ。高すぎる目標、漠然としすぎた目標は、途中で上達への流れを見失いやすく、挫折のもとと知ってほしい。

 参考までに、「具体的に絞った目標」の例を以下に列挙してみる。

  • Javaの入門書に書いてある程度のことを理解する
  • Javaを使って入出力と算術計算、条件分岐までできる
  • Javaの言語仕様一般とオブジェクト指向の考え方を理解する
  • iアプリでインベーダーくらいのゲームを作る
  • iアプリでDBとやりとりするクライアントプログラムを作る
  • マウスで操作できる単機能のウィンドウを作る
  • メールサーバとやりとりするメールクライアントをGUIで作る
  • 単機能のサービスを提供するサーブレットを作る
  • クライアントに応答可能な、Webアプリケーションを作る
  • EJBやJDBCを使用して、DBに接続できるサーバ側プログラムを作る
  • マイコンと組み合わせて、模型やロボットを制御する
  • 電子商取引の可能な、DBと連動したWebシステムを作る

 業務でJavaを学ばねば、という方も学習の目標として上のようなマイルストーンを設定してはいかがだろうか。

 それでは次回から、Javaを具体的に学ぶ手段を紹介していく。

Column:モチベーションよりエモーションが大事

 人は新しいことは学習・訓練しないとできない(数回の練習でできることから、長期間の訓練を要するものまで多種多様だが)。そのためにはエネルギーが多少必要となるが、その源は感動、感激、楽しさ、喜び、そう快さ、快感のようなプラスの感情や感覚=心の動きなのである。

 仕事で切羽詰っている方も少なからずいるとは思う。しかし、有名なトム・ソーヤのペンキ塗りのエピソード(おばにペンキ塗りを命じられたトムが、わざと楽しそうに作業していると友達がたくさん寄ってきて、みんなで楽しみながらペンキを塗ってくれたうえに、トムにお礼の品までくれる)ではないが、自分から楽しもうという態度が重要だと思う(最初に率先して楽しむ姿勢をつくったトムには、ほかの人からの献上品もあるというオマケ付きだ)。

 いずれにせよ、せっかく先端に近い技術に触れるのだから、みけんにシワを寄せるのではなく、ワクワクしながらコンピュータサイエンスの設計思想、エッセンスやアイデアを楽しんでいただきたい。


筆者紹介

渡辺 知樹(わたなべ ともき)

最小限の手間ヒマとコストでTOEICのAクラス(860点以上) を取るためのトレーニング方法を研究している。問題はトレーニングメソッドばかりやたら詳しくなったものの、 実際の英語力が800点直前で足踏みして、一向に発達しないこと。それでも、目標を達成したら、次回は「すぐに役立つ英語勉強法」を書くと1人で息巻いている。



Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。