Transcript 古賀 慎也
第一回
Java言語
04A2029
古賀慎也
はじめに
私は今回、卒業論文テーマとして
「javaアプレットを用いたブラウザ上で動作する ゲームの作成」
を目標に1年間java言語の勉強をしていこうと考えています。
目標 「java言語の理解を深め、1からのプログラミングを経験することで
自分に自信をつける」
内容 「脳力トレーニングゲーム(予定)」
ブラウザ上にダウンロードして遊ぶことを前提に、可能な限り動作 を
軽くするよう心掛ける。
※今後の学習の進行度合により内容変更する可能性もあります。
今回はその勉強編1回目ということで、まずは基本中の基本
「java言語とはなにか?」を中心にまとめてみました。
むかし
いま
Java言語とは
Java言語は、ハイエンドUNIXワークステーションの代表的なメーカー
Sun Microsystems(サンマイクロシステムズ)が開発したオブジェクト指向
プログラミング言語です。
C++を手本にして開発されており、命令や考え方なども多くの類似点があり
ます。強力なセキュリティ機構や豊富なネットワーク関連の機能が標準で
搭載されておりネットワーク環境で利用されることを強く意識した仕様になっ
ています。
また、Java言語の最大の強みとして汎用性の高さが挙げられます。
仮想マシンを介して実行することにより、Javaで開発されたソフトウェアは
特定のOSやマイクロプロセッサに依存することなく基本的にはどのような
プラットフォームでも動作させることができます。
実行形態
Javaアプリケーション ‥ 個々のコンピュータで実行されるJavaプログラム。携帯電話のプラッ
トフォームとしてもよく利用される
Javaアプレット ‥‥‥ ネットワーク上に置かれウェブブラウザ上で実行できるJavaプログラ
ム。ワンクリックで実行できるため、その動作にはサンドボックス機構
のもとで厳しい制限が加えられている。
Javaサーブレット
‥‥ Webサーバー上で動作するJavaプログラム。PerlなどによるCGIに
比べ、サーバー負荷が低いなどのメリットがある。
JSP‥‥‥‥‥‥‥‥ HTML内に記述するJavaプログラム。サーバー側で解釈して動的に
Webページを作り出す。ブラウザ側で実行するスクリプトではなく、
javaサーブレットの機能を補完するもの。
Java Web Start ‥‥ Javaアプリケーションを簡単に配備し実行する仕組み。拡張子が
jnlpとなっているファイルをウェブブラウザなどでワンクリックしただ
けで自動ダウンロード、自動インストール、最新バージョンがあるか
をネット上で自動チェックしあれば自動アップデートしてから実行する
Javaアプレットのように実行時にブラウザを必要とすることはない。
実行手順
ソースコード(.java)
↓
コンパイル
↓
バイトコード(.class)
Java仮想マシン
↓
Windows
java仮想マシン
↓
Linux
java仮想マシン
↓
Macintosh
ネットワーク機能
Javaでは充実したライブラリ(汎用性の高いプログラムをまとめ
たもの)によりコンピュータ・ネットワークを使うソフトウェアを、
効率良く開発することができる。
Javaの初期のバージョンから、IPv4のライブラリを備えており
ネットワークでソケット通信を行うソフトウェアを簡単に実装する
ことができた。
分散オブジェクト環境のソフトウェアの開発も早い時期からでき
るようになり、Java RMIもしくはCORBA(コルバ)の分散オブ
ジェクト技術を標準で使うことができる。近年では、標準、拡張
その他のライブラリにより、FTPやHTTPのほか、Ipv6など多く
のネットワークプロトコルを高水準で扱えるようになっている。
Java言語の長所
・開発環境がタダで手に入る
→
・OSやハードウェアに依存しない高い汎用性
・Javaアプレットとしてホームページ上で実行できる
噴水
3D波紋
ブロック崩し
・構文は CやC++ から多くを引き継いでいる
ためC言語経験者がなじみやすい
・ネットワーク技術と相性がいい
Java言語の短所
・他のプログラミング言語と比べて動作が遅い
(最近はコンピュータの性能向上により、解消
されつつある)
・仮想マシン(Java Virtual Machine)がイン
ストールされていないコンピュータでは実行で
きない
・汎用性を重視したため、器用さでは他の言語
に劣る
JavaとC++
C++は、オブジェクト指向型言語でないC言語に、オブジェクト指向型のプログラミン
グが出来るような機能を追加したものです。
Javaは、それらの優れた点だけを引き継ぎ、オブジェクト指向に不要なものを削った
ものです。
そのためにJavaはオブジェクト指向プログラミングしかできません。
そのような理由から、JavaはC言語やC++と見た目や文法が似ています。
JavaはC++と比較すると、ほとんど誰も利用しないような機能を取り除いてシンプル
にしたうえで、さらにメモリ管理を簡単にしたという特徴があります。
そのために、JavaはC++--と表現されることもあります。
これは、C++から必要がなかったり、一般のプログラマには難しすぎるという機能
や考え方を取り除いてマイナスしたものがJavaであることを表現しています。
JavaとJavaScriptの関係
javaとよく混同されるものにJavaScriptというものが
あります。
お互い「java」という名称がついているため、関係性
があるように見えますが実は全く違うものです。
JavaはSun Microsystems社によって作られました
がJavaScriptはNetscape社がブラウザで動くスクリ
プトとして作成したものです。
記述の仕方はよく似ていますが、Javaとの直接の
互換性もありません。
Javaアプレット
Javaアプレットとはネットワークを通じてWebブラウザにダウンロードされ、ブラウザ
のウィンドウに埋め込まれて実行されるJavaプログラムのことです。
Web ページの一部として自動的に読み込まれて動作するため、Javaアプレットを
悪用してユーザのコンピュータに被害を与えることのないようにユーザのハード
ディスクの内容を読み書きしたり、自分が呼び出されたWebサーバ以外のコン
ピュータに接続したり、他のアプリケーションソフトを起動したりすることはできな
いようになっています。
このJavaアプレットを使うことにより、HTMLで記述された静的なWebページでは
実現できない動的な表現が可能となります。
しかし現在は、同じような動作ができなおかつ軽いAdobe Flashがメジャーに成り
つつあり、javaアプレットの使用率は低下してきています。
参考
参考書
Java言語入門(アプレット、AWT、先進的機構)
/プレンティスホール出版
やさしいjava(第3版)
/高橋 麻奈 著
・参考サイト
Wikipedia
-
http://ja.wikipedia.org/wiki/
IT用語辞典
-
http://e-words.jp/
サンマイクロシステムズ - http://jp.sun.com/
その他