免费注册!6月19-20日,「亚马逊云科技中国峰会」重磅来袭! 了解详情
写点什么

Java 三十周年:一门改变世界的编程语言回顾

  • 2025-05-29
    北京
  • 本文字数:1511 字

    阅读完需:约 5 分钟

大小:696.88K时长:03:57
Java 三十周年:一门改变世界的编程语言回顾

1995 年 5 月 23 日,三十年前的加州旧金山 Sun World 大会上,Sun Microsystems 正式发布了 Java 编程语言。

 

Sun 将 Java 定义为一种:


简单、面向对象、分布式、解释型、健壮、安全、架构中立、可移植、高性能、多线程的动态语言。

 

Java 之父 James Gosling 则给出了更简洁的定义:


Java 就是除去了枪支、匕首和棍棒的 C++。

 

Java 最初的命名为 Oak(据称源于 Gosling 办公室窗外的橡树),其诞生可追溯至 1990 年 12 月 Sun 公司的 Green 项目。Gosling 与 Patrick Naughton、Mike Sheridan 希望创建一门面向消费级应用的编程语言,且具备架构无关性和面向对象的特性。1992 年 9 月,他们推出了名为 Star7 个人数字助理,该设备集成了电视遥控、电子节目指南等功能,可通过 5 英寸的屏幕图形界面操作。

 

官方吉祥物 Duke 也作为“智能代理的化身”首次亮相于 Star7 的界面。这个由 Sun 员工 Joe Palrang 设计的形象被描述为“随时提供帮助的友好伙伴”。

 

从 Applet 到泛型、Lambda 表达式、var 类型推断,再到记录类(records)和密封类(sealed)以及虚拟线程;从 Java EE 到 Jakarta EE;从平均三年的发布周期缩短至每半年一次——Java 在这三十年间也有低谷,比如包括被诟病“运行缓慢”甚至被开发者认为“已消亡”,但仍是有了重大的演进。

 

Oracle 的最新举措源自其 Java 语言架构师 Brian Goetz 在 2022 年 9 月发表的博客《铺设入门之路》。经过四轮预览,JEP 512(紧凑源文件与实例 main 方法)最终定案,该特性旨在“优化 Java 语言设计,让学生编写首个程序时无需理解面向大型程序的语言特性”。Oracle 技术顾问 Gavin Bierman规范文档对此有详细说明。

 

Oracle 通过 Java 三十岁生日的庆祝活动来纪念这一里程碑。六小时的庆典由开发者倡导官 Ana-Maria MihalceanuBilly KorandoNicolai Parlog 与产品管理高级总监 Sharat Chander 共同主持,邀请多位嘉宾就广泛议题展开讨论。

 

Oracle 的技术领袖们分别进行了专题讨论:Java 平台组首席架构师 Mark Reinhold 探讨了 Java 的管理工作;Brian Goetz 讲解了“降低入门门槛”计划和 Lambda 表达式;Gavin Bierman 带来了 Java 语言更新报告;Java 平台组软件开发高级副总裁 Georges Saab 讨论了语言发展;技术顾问 Stuart Marks(人称“Dr. 废弃特性”)则专门讲解了 Java 集合框架。

 

社区倡导者和活跃人士也分别发表了见解:被称为“巴西 Java 先生”的 Bruno Souza 讨论了 Java 社区对开发者的影响;Spotify 高级后端工程师 Mohammed Aboullaite 分享了在中东和非洲的社区推广工作;Endava 首席开发顾问 Laurentiu Spilca 则介绍了通过非英语内容吸引初学者的计划。

 

JetBrains 的开发者倡导官 Mala GuptaMarit van Dijk 提供了许多 IntelliJ IDEA 的使用技巧,比如如何使用 IntelliJ IDEA 的编程助手 Junie

 

Oracle 教育的 Java 负责人 Heather Stephens 采访了伊利诺伊州 Riverside Brookfield 高中的数学与计算机科学教师 Sandy Czajka,探讨高中阶段的 Java 教学。随后,Stephens 又采访了分别来自斯坦福大学、华盛顿大学和加州大学伯克利分校的三名学生,听取他们对 Java 的看法。

 

Agile Developer 公司总裁 Venkat Subramanian 带来了“Java 中隐藏的创新”主题演讲,内容涉及五大方法调用操作码之一的 invokedynamic、流式编程中的惰性求值,以及与 heredoc 相关的智能缩进等主题。

 

Korando 采访了 Java 之父 Gosling,后者分享了他对 Java 创建历程的回顾以及对当前发展状况的见解。

 

Java 能否再续三十年辉煌?如今的年轻 Java 开发者或许将见证这一预言是否成真。但凭借充满活力的 Java 社区及人们对这门语言的热爱,我们很可能会在 2055 年迎来 Java 的六十周年大庆。

2025-05-29 14:002

评论

发布
暂无评论

前端leetcde算法面试套路之双指针

js2030code

JavaScript LeetCode

Java高手速成 | Spring、JPA与Hibernate的整合

TiAmo

hibernate Spring JPA Spring Java

如果才能做好准备好前端面试

loveX001

JavaScript

谈谈前端性能优化-面试版

loveX001

JavaScript

Java中不可或缺的关键字「volatile」

小小怪下士

Java 程序员 volatile

前端一面react面试题总结

beifeng1996

React

FLStudio水果萝卜最新汉化21版本下载

茶色酒

flstudio FLStudio21 FLStudio21.0.0

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

用javascript分类刷leetcode17.栈(图文视频讲解)

js2030code

JavaScript LeetCode

【12.30-1.6】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

水印LOGO有哪些类型?如何在线给图片添加水印LOGO?

互联网民工阿强

图片处理 添加水印 水印 水印LOGO

深航携手华为云,共建数字化智慧民航标杆

极客天地

字节前端必会vue面试题集锦

bb_xiaxia1998

Vue

React组件之间的通信方式总结(下)

beifeng1996

React

Hyperledger AnonCreds:开源、开放规范下,保护隐私的可验证凭证

BSN研习社

【从零开始学爬虫】采集食品行业最新报价数据

前嗅大数据

数据采集 爬虫软件 爬虫案例 爬虫入门教程 爬虫分享

写过vue自定义指令吗,原理是什么?.m

bb_xiaxia1998

Vue

美团前端一面必会react面试题

beifeng1996

React

SREWorks v1.4 版本发布 | 离线安装 & 前端重构

阿里云大数据AI技术

大数据 开源 运维 企业号 1 月 PK 榜

前端leetcde算法面试套路之二叉树

js2030code

JavaScript LeetCode

跨集群流量调度实现 Kubernetes 集群金丝雀升级

Flomesh

K8s 多集群管理 流量管理

【团队效率提升】Python-PyWebIO介绍

京东科技开发者

html 软件 markdown Python. 企业号 1 月 PK 榜

前端经典面试题(有答案)

loveX001

JavaScript

小游戏引擎如何选?看完这篇就够了

FinClip

HummerRisk V0.8.0:新增金山云、K8s基准检测、源IP审计分析等

HummerCloud

Kubernetes 云安全 云原生安全

火山引擎DataLeap数据调度实例的 DAG 优化方案

字节跳动数据平台

大数据 数据治理 数据研发

FinClip 12 月大事件 | IDE支持小游戏开发调试和预览

FinClip

我在京东做研发 | 京东云算法科学家解析爆火的ChatGPT

京东科技开发者

AI 技术 算法 经验分享 ChatGPT

这些js原型及原型链面试题你能做对几道

loveX001

JavaScript

React组件之间的通信方式总结(上)

beifeng1996

React

聚焦技术创新实力,时序数据库 TDengine 荣登中国技术先锋年度评选两大榜单

TDengine

数据库 tdengine 时序数据库

Java 三十周年:一门改变世界的编程语言回顾_编程语言_Michael Redlich_InfoQ精选文章