Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java 30周年記念! Javaの30年をふりかえる

Java 30周年記念! Javaの30年をふりかえる

JJUG CCC 2025 Spring 発表資料

Avatar for Yuichi.Sakuraba

Yuichi.Sakuraba

June 06, 2025
Tweet

More Decks by Yuichi.Sakuraba

Other Decks in Technology

Transcript

  1. 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
  2. 1995 2005 2015 2025 1990 *7 (Star 7) Green Project

    プロトタイプ Computer History Museum 展示 YouTube: Star 7 demo キャラクターのアニメーション 形状からFang ( 牙) と呼ばれる 日本の家電メーカーを行脚 3DO と交渉 いずれも採択にいたらず
  3. 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
  4. 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
  5. 1995 2005 2015 2025 1990 1996.01 Java 1.0 リリース パッケージ

    : 8 クラス : 211 (Applet/GUI 関連が 84) 1996.03 NetScape Navigator 2.0 リリース LiveScript JavaScript
  6. 1995 2005 2015 2025 1990 JavaOne 世界最大だった Java カンファレンス 当初

    : Sun Microsystems + ZD Event 共催 現在 : Oracle 単独開催 第 1 回 : 1996 年 サンフランシスコ Moscone Center 最盛期には参加者 25,00 人超 消防法の制限により公式には 20,000 人と発表 日本での開催 2001, 2002, 2005, 2012
  7. 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) ロゴ変更
  8. 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 ビジネスロジックのコンポーネント化 失敗
  9. 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 仕様策定 少数のエキスパートグループによる仕様策定
  10. 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
  11. 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 ひが やすを
  12. 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
  13. 1995 2005 2015 2025 1990 停滞期の Java リリース 2004 J2SE

    5.0 2006 Java 6 2011 Java 7 2014 Java 8 5 年 !! 3 年 !
  14. 1995 2005 2015 2025 1990 停滞の要因?? Sun Microsystems の業績悪化 .COM

    バブルはじける WS から PC へ 業績悪化に伴い人材流出 2009 Oracle が買収発表
  15. 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
  16. 1995 2005 2015 2025 1990 JavaOne 2010 - Java 7

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

    OpenJDK 7 リリース後、OpenJDK 6 にバックポート JEP による機能追加 仕様策定のオープン化
  18. 1995 2005 2015 2025 1990 Java 8 - Project Lambda

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

    半年ごとのリリース 6 リリースごとの LTS (Java 21 から 4 リリースに変更 ) Project Jigsaw JShell (Project Kula)
  20. 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
  21. 1995 2005 2015 2025 1990 ... in the Future より宣言的に

    ... データ指向プログラミング Project Amber Project Valhalla 初学者にやさしく Project Amber 起動時間短縮 Project Leyden パフォーマンス Project Babylon Vector API (Project Panama)
  22. 1995 2005 2015 2025 1990 コミュニティ / カンファレンス JJUG メンバー

    : 約 13,000 人 NPO 化 コロナの影響で地方 JUG が停滞 ... JavaOne 規模は縮小したものの、CloudWorld から独立して開催 他のカンファレンス In Person カンファレンスの客足が戻る Devoxx, Jfokus などが盛況