第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 2025 ExpyDoc