我们正处于一个信息大暴发的时代,每天都能产生数以百万计的新闻资讯!
虽然有大数据推荐,但面对海量数据,通过我们的调研发现,在一个小时的时间里,您通常无法真正有效地获取您感兴趣的资讯!
头条新闻资讯订阅,旨在帮助您收集感兴趣的资讯内容,并且在第一时间通知到您。可以有效节约您获取资讯的时间,避免错过一些关键信息。
起初网景公司用了十天时间创建了一个 Java,后来它成为事实上的 Web 标准,并横扫各大编程语言榜单成为开发者最受欢迎的语言之一。
近日,有开发者对 Java 的开发周期提出了质疑,以及想要了解 Java 现存的一些缺陷譬如隐式类型转换导致代码可读性差的存在是否与最初的开发时间有关。于是,其在从《Java:第一个 20 年》(https://www.wirfs-brock.com/allen/jshopl.pdf)等系列资料中进行了深入挖掘,并根据自己的了解撰写了此文,希望能够更清晰地了解 Java 的过去。
原文:https://buttondown.email/hillelwayne/archive/did-brendan-eich-really-make-java-in-10-days/
作者 | Hillel 编译 | 苏宓
出品 | CSDN(ID:CSDNnews)
我曾经听说 Java 有很多缺点,因为第一个版本只用了十天来开发。我很好奇这是否属实,并且是否因为初版开发时间的短暂导致了这门语言存在一些缺点。
经过一些研究,我可以不太确定地说:事情比较复杂。
Java 的“第一个版本”确实只花了十天的时间。确切的日期没有得到确认,但是据 Java 之父 Brendan Eich 回忆,Java 是在 1995 年 5 月 6 日至 15 日之间开发出来的。但起初这只是一个用于内部演示的最小原型(Mocha)。
Java 1.0 在 1996 年 3 月公开发布,第一个“完整”的版本则在 1996 年 8 月发布。
即使在那之后,Netscape 团队仍经常调整 Java 的设计。Eich 回忆说,在 1996 年秋天,「Bill Gates一直在抱怨我们一直在改动 JS」。
拥有大约十年的语言设计和编译器开发经验的 Eich,明确受雇于 Netscape 公司,为浏览器开发一门编程语言。最初计划使用的是 Scheme 语言,但之后 Netscape 与 Sun 达成协议,同意使其变得更加“像 Java”。
这是否能解释这些缺陷呢?
可以说,Java 现代版本中的大多数缺陷并不是由于开发时间短造成的:最初的 Mocha 版本并没有隐式类型转换,但用户要求 Eich 在 1.0 版本中添加这个功能。他对此深感遗憾。Java 1.0 增加了与 Java 的兼容性。Java 的兼容性也解释了为什么有 ".nulltypeof null = object" 这样的情况。任何 Java API 的缺陷必定是在 Mocha 之后出现的,因为所有 API 的工作都是在 Mocha 之后进行的。Mocha 是一门相当简单的语言!“所有数字都是浮点数”的问题最初出现在 Mocha 中,但我认为这始终是预期的行为。Java 1.0 手册中提到 HyperTalk 是其主要灵感来源。我从未使用过 HyperTalk,但快速浏览手册让我觉得它的行为是相同的。
我找到一个确凿的证据表明,这十天的开发确实对 Java 造成了伤害:Brendan Eich 没有时间添加垃圾回收器,后来试图添加垃圾回收器时引入了一系列安全漏洞。
▶“用 40 亿条 if 语句,只为判断一个数字是奇是偶?”
▶我的同事是 GPT-4 机器人,我们在 Slack 上一起工作
▶苹果市值一夜蒸发 7660 亿元;雷军:小米汽车 50 万以内有对手吗?Blender 诞生三十周年|极客头条返回搜狐,查看更多
责任编辑:
以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。
快照生成时间:2024-01-03 18:45:25
本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。
信息原文地址: