• 我的订阅
  • 科技

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
延期十天 PS5日服《幻兽帕鲁》现已发售
开发商Pocketpair宣布,PS5版《幻兽帕鲁》现已在日本以抢先体验版的形式推出,售价为3400日元(约合人民币160元)
2024-10-05 10:38:00
乐学圆梦:怎样成为一名合格的前端开发者?
...成为初级前端开发人员。有时候,学习新技能的最好方法是在更有知识的人手下工作,这就是初级前端开发人员或实习生所做的。此外,你可以向更有经验的人学习,这总是有益的。前端开发者的未
2022-12-19 10:00
从日增10万条差评,到近三十天95%好评!这款游戏用更新拿捏玩家
...,因为由玩家评测打分的Steam好评率从来不会骗人。甭管开发商来头有多大,只要游戏质量不行,大家就不会惯着。而在游戏更新过程中,玩家好评率往往也会产生动态变化。可在今年发布的
2024-12-05 15:00:00
苹果推出了 Swift 编程语言 | 历史上的今天
...必然敌不过电信,大部分人还是继续用着电信的业务。于是在 1998 年 9 月,信息产业部决定,将中国电信的全国寻呼业务剥离,单独组建国信寻呼集团公司。1999 年,电信的移动
2023-06-03 01:00:00
一块GPU都没用,苹果自研大模型干翻GPT-4?
...模型遵循指令、推理和写作方面的能力。据称,这些模型是在多样化的数据集上进行训练的,包括网页、来自出版商的授权内容、代码存储库以及专门的数学和科学数据。苹果称其未使用私人数据训
2024-07-31 09:37:00
Java 17 采用率增长 430%、Java 11 稳居第一,最新 Java 编程语言报告来了!
...)1995 年,Sun Microsystem 公司发布了 Java 程序设计语言,为开发现代多媒体应用程序提供了一种更加可移植和交互的方式
2023-05-30 20:00:00
刚刚,Llama 3.2 来了!支持图像推理,还有可在手机上运行的版本
...们将通过 Llama 3.2 继续推动让开源成为标准。」Llama 家族是在今天的 Meta Connect 2024 大会上迎来升级的
2024-09-27 13:42:00
安卓版本将不再兼容鸿蒙,多家互联网公司急招开发员!
...蒙系统有关的岗位。11月10日,网易更新了高级/资深Android开发工程师岗位,职位要求参与云音乐多端多os的产品(Android
2023-11-13 09:51:00
更多关于科技的资讯: