• 我的订阅
  • 科技

JavaScript 真的是在 10 天内完成的吗?

类别:科技 发布时间:2024-01-03 16:00:00 来源:CSDN

起初网景公司用了十天时间创建了一个 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)。

JavaScript 真的是在 10 天内完成的吗?

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

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

微信wcdb重大升级:新增支持了 C++
...都是独立开发的。随着WCDB不断迭代,WCDB的很多新能力都是在ObjC版本上开发完成和上线验证,Swift和Java版本基本处于停止迭代的状态
2024-04-10 01:59:00
乐学圆梦:怎样成为一名合格的前端开发者?
...成为初级前端开发人员。有时候,学习新技能的最好方法是在更有知识的人手下工作,这就是初级前端开发人员或实习生所做的。此外,你可以向更有经验的人学习,这总是有益的。前端开发者的未
2022-12-19 10:00
苹果推出了 Swift 编程语言 | 历史上的今天
...必然敌不过电信,大部分人还是继续用着电信的业务。于是在 1998 年 9 月,信息产业部决定,将中国电信的全国寻呼业务剥离,单独组建国信寻呼集团公司。1999 年,电信的移动
2023-06-03 01:00:00
Java 17 采用率增长 430%、Java 11 稳居第一,最新 Java 编程语言报告来了!
...)1995 年,Sun Microsystem 公司发布了 Java 程序设计语言,为开发现代多媒体应用程序提供了一种更加可移植和交互的方式
2023-05-30 20:00:00
安卓版本将不再兼容鸿蒙,多家互联网公司急招开发员!
...蒙系统有关的岗位。11月10日,网易更新了高级/资深Android开发工程师岗位,职位要求参与云音乐多端多os的产品(Android
2023-11-13 09:51:00
操作系统的最强入门科普(unix/linux篇)
...较多,开发和维护的主体是开源社区。商业版数量较少,是在社区版的基础上进一步优化而来。值得一提的是,发行版之间也有复杂的衍生关系。也就是说,发行版可以构建在另一个发行版之上。一
2023-05-14 22:20:00
新高端MPV十天后上市!配置无可挑剔,价格“卷死”腾势D9?
...腾讯会议,还配备5G网络和二排独立麦克风。V09搭载独立开发的8点式按摩+4向腰托的航空头等舱级座椅,搭配7.1.4全景声效+前后排独立的影音系统
2023-10-09 09:36:00
ChatGPT连夜登陆iOS 免费无广告、还支持语音
...去年9月OpenAI发布的语音转文本模型Whisper开发。Whisper模型是在68万小时标记音频数据的数据集上进行训练的
2023-05-19 21:10:00
Windows 11 初尝 Rust,36000 行内核代码已重写!
...语言的性能相当,同时更易于调试和维护,而且最重要的是在内存安全方面 几乎打遍天下无敌手。一直以来,内存安全的漏洞是多个企业与开发者颇为头疼的难题。此前,CSDN 也报道过,根
2023-05-16 20:00:00
更多关于科技的资讯: