Slide 1

Slide 1 text

櫻庭 祐一 Java 30 周年記念! Javaの 30 年をふりかえる

Slide 2

Slide 2 text

1995 2005 2015 2025 Java 発表 1990 Java 前史 興隆期 停滞期 再興期

Slide 3

Slide 3 text

1995 2005 2015 2025 1990 Java 前史

Slide 4

Slide 4 text

1995 2005 2015 2025 1990 Green Project 1990: Green Project 発足 情報家電向けプラットフォーム STB, PDA Bill Joy James Gosling vi, csh の作者 Gosling Emacs, NeWS の作者 Green Project プラットフォーム OS: Green OS ( 改良版 SunOS) 言語 : Oak

Slide 5

Slide 5 text

1995 2005 2015 2025 1990 *7 (Star 7) Green Project プロトタイプ Computer History Museum 展示 YouTube: Star 7 demo キャラクターのアニメーション 形状からFang ( 牙) と呼ばれる 日本の家電メーカーを行脚 3DO と交渉 いずれも採択にいたらず

Slide 6

Slide 6 text

1995 2005 2015 2025 1990 1994 Green Project 方針変更 情報家電 Web + Applet 1993 NCSA Mosaic Oak 商標問題 Java Fang Duke The Amazing Adventures of Duke より引用 Sun Microsystems のスローガン The Network is The Computer John Gage Java のスローガン Write Once, Run Anywhere

Slide 7

Slide 7 text

1995 2005 2015 2025 1990 1995.05.23 SunWorld Ed Zander Jon Kannegaard が基調講演で Java を発表 Marc Andreesen (NetScape) がゲスト NetScape で Java/Applet をサポート JDK 1.0α ダウンロード開始 JDK 1.0α: 対応ブラウザ HotJava JDK 1.0β: 対応ブラウザ NetScape 2.0

Slide 8

Slide 8 text

1995 2005 2015 2025 1990 興隆期

Slide 9

Slide 9 text

1995 2005 2015 2025 1990 1996.01 Java 1.0 リリース パッケージ : 8 クラス : 211 (Applet/GUI 関連が 84) 1996.03 NetScape Navigator 2.0 リリース LiveScript JavaScript

Slide 10

Slide 10 text

1995 2005 2015 2025 1990 JavaOne 世界最大だった Java カンファレンス 当初 : Sun Microsystems + ZD Event 共催 現在 : Oracle 単独開催 第 1 回 : 1996 年 サンフランシスコ Moscone Center 最盛期には参加者 25,00 人超 消防法の制限により公式には 20,000 人と発表 日本での開催 2001, 2002, 2005, 2012

Slide 11

Slide 11 text

1995 2005 2015 2025 1990 1997 Java 1.1 内部クラス / 匿名クラス 国際化 JIT (Symantec) 風間一洋 ( 当時 NTT, 現和歌山大学 ) 1998 Java 2 Platform Java 2 SE Java 2 EE Java 2 ME Servlet/JSP, EJB et al. CDC, CLDC (MIDP) 2003 ロゴ変更

Slide 12

Slide 12 text

1995 2005 2015 2025 1990 ビジネス用途への取り組み Applet による業務システム ex) Oracle - Network Computing (1996) 問題 ネットワーク帯域 CGI パフォーマンス 失敗 サーバーサイド Java 1996 JavaOne BOF で Servlet API 発表 Jeeves 1999 Jakarta Tomcat 1998 IBM - San Francisco Project ビジネスロジックのコンポーネント化 失敗

Slide 13

Slide 13 text

1995 2005 2015 2025 1990 標準化 1997 Microsoft 提訴 独自拡張 : delegate, Active X 連携 ~ 2004 和解 (Sun 勝訴 ) 1998 Java Community Process (JCP) ISO/ANSI ECMA による標準化を断念 JCP にさきがけて Sun, IBM, BEA, Oracle などで EJB 1.0 仕様策定 少数のエキスパートグループによる仕様策定

Slide 14

Slide 14 text

1995 2005 2015 2025 1990 2004 J2SE 5.0 ( コードネーム Tiger) JavaOne 2004 で発表 JavaOne 2004 Spec. Lead: Mark Reinhold J2SE 5.0 テーマ : Ease of Developing (EoD) Generics Annotation Typesafe Enum Concurrency Utils Unicode 4.0 補助文字 JMX Martin Odersky, Neal Gafter Joshua Bloch Doug Lea, Brian Goetz 奥津正義 Eamonn McManus

Slide 15

Slide 15 text

1995 2005 2015 2025 1990 オープンソースの台頭 (2000 年代初頭~ ) Tomcat が Servlet/JSP の実質的 RI に 1999 Apache Jakarta Project Tomcat, Ant, Log4j, Commons et al. 2000 NetBeans IDE 2001 Eclipse IDE 2003 Struts Spring Framework Seasar 2004 Seasar 2 ひが やすを

Slide 16

Slide 16 text

1995 2005 2015 2025 1990 興隆期のコミュニティ動向 1995 JavaHouse ML 高木浩光 1996 Java カンファレンス 初代会長 溝口文雄 ( 当時 東京理科大 ) JavaOne 1996 で幹事たちが出会う 1998 Java コンソーシアム 主幹 日本 IBM 3 年間の時限 その後 XML コンソーシアムに発展解消 2000 Ja-Jakarta Jakarta プロジェクトの翻訳 2003 Seasar Project (2005 NPO Seasar ファウンデーション ) 2006 java-ja 2007 JJUG 丸レクがベース 1999 SouJava ( ブラジル ) 世界最大の JUG 2005 Java Champions

Slide 17

Slide 17 text

1995 2005 2015 2025 1990 停滞期

Slide 18

Slide 18 text

1995 2005 2015 2025 1990 停滞期の Java リリース 2004 J2SE 5.0 2006 Java 6 2011 Java 7 2014 Java 8 5 年 !! 3 年 !

Slide 19

Slide 19 text

1995 2005 2015 2025 1990 停滞の要因?? Sun Microsystems の業績悪化 Java の方向性の議論

Slide 20

Slide 20 text

1995 2005 2015 2025 1990 停滞の要因?? Sun Microsystems の業績悪化 .COM バブルはじける WS から PC へ 業績悪化に伴い人材流出 2009 Oracle が買収発表

Slide 21

Slide 21 text

1995 2005 2015 2025 1990 Java の方向性の議論 関数 / クロージャー パッケージング / モジュール BGGA - Neal Gafter, James Gosling CICE - Joshua Bloch, Doug Lea FCM - Stephen Colebourne 2008 Mark Reinhold - Project Jigsaw 発表 2008 Devoxx BE Mark Reinhold - クロージャーは見送り 2009 Devoxx BE Mark Reinhold - Project Lambda 発表 Lambda Spec. Lead: Brian Goetz

Slide 22

Slide 22 text

1995 2005 2015 2025 1990 JavaOne 2010 - Java 7 リリースに関するアンケート Plan A 予定していた機能はすべて入れる リリースは遅れる Plan B Lambda/Jigsaw は Java 8 にスリップ なるべく早くリリース 採用

Slide 23

Slide 23 text

1995 2005 2015 2025 1990 2014.03 Java 8 リリース

Slide 24

Slide 24 text

1995 2005 2015 2025 1990 2006 OpenJDK Java 7 がターゲット OpenJDK 7 リリース後、OpenJDK 6 にバックポート JEP による機能追加 仕様策定のオープン化

Slide 25

Slide 25 text

1995 2005 2015 2025 1990 再興期

Slide 26

Slide 26 text

1995 2005 2015 2025 1990 Java 8 - Project Lambda のためのリリース Project Lambda Date&Time API Type Annotation et al. Project Lambda Java のプログラミングスタイルが変わる契機 命令型から宣言型へ 文から式へ Mutable から Immutable へ

Slide 27

Slide 27 text

1995 2005 2015 2025 1990 2019.09 Java 9 リリース リリースモデルの変更 半年ごとのリリース 6 リリースごとの LTS (Java 21 から 4 リリースに変更 ) Project Jigsaw JShell (Project Kula)

Slide 28

Slide 28 text

1995 2005 2015 2025 1990 そして Java 25 までに ... Project Amber Text Block Record class/Sealed Class switch 式 パターンマッチング et al. Brian Goetz Project Panama Foreign Function&Memory API Maurizio Cimadamore Project Loom Virtual Thread Ron Pressler Project Leyden Project Lilliput

Slide 29

Slide 29 text

1995 2005 2015 2025 1990 ... in the Future より宣言的に ... データ指向プログラミング Project Amber Project Valhalla 初学者にやさしく Project Amber 起動時間短縮 Project Leyden パフォーマンス Project Babylon Vector API (Project Panama)

Slide 30

Slide 30 text

1995 2005 2015 2025 1990 コミュニティ / カンファレンス JJUG メンバー : 約 13,000 人 NPO 化 コロナの影響で地方 JUG が停滞 ... JavaOne 規模は縮小したものの、CloudWorld から独立して開催 他のカンファレンス In Person カンファレンスの客足が戻る Devoxx, Jfokus などが盛況

Slide 31

Slide 31 text

未来の Java を作るのは ...