第1回:Javaとその開発環境
プログラミングII
2007年9月25日
本日の講義内容
プログラミング言語の種類
Javaとはどんな技術か?
Javaとオープンソース
Javaの開発環境(JDK)
Javaによる開発手順
Javaのプログラムの構造(クラス)
ソフトウェアとは何か?
ハードウェア(hardware)
= コンピュータを構成する物理的装置
CPU、メモリ、ハードディスク・・・
ソフトウェア(software)
= 装置ではない。目に見えない?
でも、ないとマシンは動かない
プログラム、OS・・・
ソフトウェアはどう作る?どう使う?
プログラミング言語
処理の手順を記述
必要なソフトウェアの選択と実行
OS(オペレーティング・システム)の働き
Windows XP, Linux, MacOS 10・・・
Javaとはどんな技術か?
プログラミング言語としてのJava
インターネット時代の新しい言語
優れた開発効率
実行環境としてのJava
携帯電話からスパコンまで
あらゆる装置をネットワーク化
Javaは誰が作っているのか?
Sun Microsystems 社の製品
http://java.sun.com/
開発環境は無償で提供(対MS戦略)
2006年11月に「オープンソース」に
http://openjdk.dev.java.net/
言語としてのJavaの特徴
オブジェクト指向(Object Oriented)
仮想マシン(JVM)による実行
スレッドによる並列処理
簡潔な言語仕様
豊富なクラスライブラリ
開発環境は無償、ソース公開
現在のJavaの存在
インターネット上の標準言語
(特にサーバサイド)
異なるシステム間に共通の実行環境
ソースコード共有の新たな運動
apache.org, eclipse.org
Javaの登場と発展の背景
Java誕生以前 (1969-1994)
最初のJava (1995)
実用的開発言語へ (1996)
拡大する応用範囲 (1997~ 99)
B2BとWebサービス(2000~)
Java誕生以前
1969
1970
1975
1977
1977
1981
1982
1984
1987
1991
1993
1994
ARPAnet(インターネットの原型)
UNIX と C言語
最初のパソコン
アップルコンピュータ誕生
BSDの登場 -- ソースコードの配布・公開
BSDに TCP/IP実装
ビル・ジョイら Sun Microsystemsを設立
ストールマン本格的に活動開始
稚内北星学園短期大学開学
Linux と FreeBSD 誕生
最初のWebブラウザ登場
Netscape Comunications社誕生
リチャード・ストールマン
「ハッカー」の中の「ハッ
カー」
Free Software
Foundation (オープンソ
フト運動)
GNUプロジェクト(1984)
ソフトウェア生成の共同体
emacs, gcc(g++)
http://www.stallman.org
Javaの歴史
1995
1996
1997
1998
1999
2001
2002
2004
2006
α版、β版、HotJava
JDK1.0
JDK1.1
Java2, 3つのJava
J2SDK 1.3
i503にJava搭載
J2SDK 1.4
J2SDK 5.0 (Tiger)
Java SE 6, JDKがオープンソース化
Javaの祖先?
C (1970) 手続き指向、アルゴリズム
の構造化(関数、ループと条件分岐)、
データ型の導入(原始型と構造体)
C++ (1980~) オブジェクト指向、クラ
ス、クラスの継承、アクセス制御、抽
象クラス、演算子の多重定義、多重継
承、例外処理・・・(次々と機能拡張)
Java登場の背景
C++の機能の肥大化の弊害
開発者の負担軽減
教育コストの軽減
シンプルでかつ多様な環境に対
応できるオブジェクト指向言語
「オープン」な性格のルーツ
Sun Microsystemsの戦略の要
仕様の公開、開発環境の無償配布
背景に UNIX文化、オープンソース運
動の影響
インターネットの普及 (異機種・異OS
のネットワーク)
最初のJava (1995)
α、β、JDK 1.0
8個のパッケージ:java.applet,
java.awt, java.awt.image,
java.awt.peer, java.lang, java.io,
java.net, java.util
HotJavaブラウザとアプレット
玩具? 入門教育用には最適だった
実用的な開発言語へ (1997)
JDK 1.1
国際化対応、Unicodeの採用
セキュリティ機能の強化
JavaBeans
RMI (分散オブジェクト)
Jarアーカイブ
拡大する応用範囲 (98-99)
Java 2 の登場 (J2EE, J2SE, J2ME)
基幹システムから携帯電話まで
世の中なんでも Java ?
「ミドルウェア」の提供
単なる言語ではなく実行環境の標準
サーバサイドの標準(2000以降)
XMLとの融合
B2BとWebサービスの普及
システムの違いを越えてサービス提供
サービス提供の自動化
言語の違いも超越?
Javaの変化(2004-)
J2SE 5.0 で大きな言語仕様拡張
(1つの曲がり角)
新しい開発スタイル
EOD(Ease of Development)
(もはや言語を意識しなくてもいい?)
プログラマの階層化(役割分担)
Java SE 6、オープンソース化
Javaと開発ツール
開発ツールの「標準化」を意識
(JavaBeans、Ant)
無償の開発ツールが「標準」に?
(Eclipse、 DoCoMoのiアプリツール)
Webアプリケーション用の開発ツール
Javaの開発環境の構成
Java仮想マシン(JVM)
Java コンパイラ
その他のツール(jarなど)
標準クラスライブラリ
(java.awt, java.net など)
Java による開発手順
1.
2.
3.
クラスの設計 (ソースファイル
の記述)
コンパイル (バイトコードの生
成)
実行 (仮想マシンへのロード)
サンプルソース: Welcome.java
public class Welcome {
public static void main(String av[]){
System.out.println( "Welcome!" );
}
}
クラス名とファイル
クラス名でソースファイル名が決まる
Welcomeクラス=> Welcome.java
コンパイルでバイトコード
javac Welcome.java
クラス名+.class => Welcome.class
実行時にはクラス名を引数に
java Welcome
© Copyright 2026 ExpyDoc