我们差点就用不上 Java 了!
Java,作为静态面向对象编程语言的代表,想必大家并不陌生。可能许多人会认为 1995 年 5 月 23 日是 Java 诞生的日子,毕竟这个时间点是 Java 第一次在 SunWorld 会议上公开发布的日子。
然而其实在这之前,1994 年,Java 1.0 的 Alpha 版本已经可以提供下载。并且,Java 真正意义上开始作为独立开发工具的重要里程碑,是 1996 年 1 月 23 日 Java 第一个开发工具包 JDK 1.0 ——即 Java 1.0 的问世。
须臾间,其距今已有 25 年。
接下来,让我们搭乘时光机,回到二十世纪 90 年代看看,Java 1.0 在发布前都经历了什么?
Java 险些“夭折”
Java 其实原本只是 Sun 公司(Java 的开发公司,2009 年已被甲骨文收购)在 1990 年 12 月开始研究的一个内部项目。当时,Sun 公司成立了工作小组以研究一个名为“Green 计划”的项目(原名为“Stealth 计划”)。九十年代的他们已很有远见,预料到了未来科技将在家电领域大显身手,因此他们将目标定在了下一代智能家居的程序设计。
最初团队考虑采用 C++ 语言进行设计,但以公司首席科学家比尔·乔伊为首的许多开发者一致认为 C++ 与其 API 并不适用。因此比尔·乔伊决定开发一种集 C 语言和 Mesa 语言优势于一体的新语言,并建议工程师们在 C++ 的基础上开发一种面向对象的环境。
随后,公司的开发者们对 C++ 取其精华,并结合嵌入式系统的实时性要求,创建出名为 Oak 的面向对象的程序语言,并为了将 Oak 语言带入市场,1992 年夏天,团队向硬件开发商演示了 Green 操作系统和 Oak 程序设计语言等。但那时 Oak 刚问世,没有人愿意冒风险在一个并不了解的事物上投资,因此没有硬件支持的 Oak 语言就此被搁置,Java 的前身险些“夭折”。
直到 1994 年 6 月开发团队决定改变目标,将 Oak 应用于万维网。
团队中的帕特里克·诺顿写了一个小型万维网浏览器 WebRunner,后来改名为 HotJava,Oak 也更名为 Java,并在 10 月向 Sun 公司的高层进行演示。恰逢当时互联网蓬勃发展,小巧精简的 Java 又尤为适用于网络的传输系统,Sun 公司终于开始重用,并在 1995 年 5 月 23 日正式对外公布了 Java 和 HotJava 浏览器。
Java 终成为独立开发工具
Java 和 HotJava 浏览器现世后迎来众多支持,苹果、甲骨文和微软等大型公司都转向 Java 并为各自产品开发相应的 Java 平台,同时,Java 也收到越来越多的改进建议,加速了 Java 1.0 的问世。
1996 年 1 月 23 日,Sun 公司新成立的 JavaSoft 公司发布了一则新闻,宣布 Java 1.0 的诞生:Java™1.0 编程环境目前可前往 http://java.sun.com 下载。
彼时,JavaSoft 总裁 Alan Baratz 对外界表示:“Java“一次编译,到处运行”的能力及其易访问性,使多数软件和互联网社区迅速应用于复杂网络的应用程序编写。我们很乐意看到更多的开发者尝试 Java 1.0 去构建下一个杀手级应用程序。”
JavaSoft 的 Java 语言和应用程序总经理 Ruth
Hennigar 也说道:“改进 Java ,创建出了这个强大的 1.0 通用版本对我们的团队来说是一个伟大的成就。自从 3 月份发布了第一个 Alpha 版本以来,我们收到了很多开发者的反馈,并就此改进了功能和可靠性。Java 1.0 这个版本包含了软件开发者们所需要的组件——用于运行和测试 Applet 的 Java Applet Viewer;Java 编译器;原型调试器和运行基于 Java 的程序的 Java 虚拟机,还包含了用于图形、音频、动画和网络的类库。”
Sun 公司还表示 Java 1.0 可以用于 Solaris、Windows 95 和 Windows NT,并将在次年年底发布 macOS 版本。
那时的 Java 可谓是众多大型公司追捧的对象,以至于当 Apple 和 NeXT 合并创建 macOS 时,系统默认安装 Java,并将 Objective-C 运行环境桥接到 Java 中,生成一个 Objective-C WebObjects 堆栈的 Java 化端口 JavaWebObjects。
距 Java 1.0 发布至今已有 25 个年头,Java 具备自动垃圾回收机制,还支持跨平台,能在不同操作系统上运行,这些优势在当时都独一无二。
但在流行几年后,Java 在浏览器中的地位逐渐没有那么强势了。Adobe Flash 可以满足简单交互的动画需求,微软在其 Internet Explorer 和 Windows 中也不再附带 Java 平台。不过,Java 在万维网端却得到了长足的发展,很多网站的后端仍在使用 Java。
那么,作为 Java 开发人员,我们应该学习哪些技术?哪些工具能够帮助我们成为更好的 Java 开发人员?Java 开发人员必须学习的框架有哪些?答案都在接下来这张学习路线图里,你可看好了!
Java 开发人员学习路线图
工具
JDK API
(1)Java Collections 框架
(2)Java Concurrency
(3)Java IO
(4)Java 8
结构
(1)Springtime 框架
(2)Hibernate
(3)Spring Boot
测试
实用程序库
Java 在去年 9 月 15 日已更新至 Java 15,而外界对 Java 唱衰的声音却不绝于耳,不知你有什么看法?你使用的 Java 又是哪个版本呢?欢迎评论区留言!
参考链接:
https://www.solidot.org/story?sid=66747
https://web.archive.org/web/20070310235103/http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml
https://www.decipherzone.com/blog-detail/roadmap-java-developers-2020
☞印度永久封禁了微信、百度、TikTok 等 59 款中国 App……
☞腾讯回应 PC 微信扫描浏览器 cookies;约会网站 228 万用户数据泄露;Java 1.0 发布 25周年 | 极客头条
☞Objective-C 之父 Brad Cox 逝世,创建过乐队、推动苹果软件生态