• Javascript真的是10天内做出来的吗?


    我曾听说,Javascript 之所以有这么多缺点,是因为它的第一个版本是在短短十天内完成的。我很好奇:1)这是否属实;2)这是否能解释这种语言的缺陷。

    经过一番研究,我可以不自信地说:是的,但有点复杂:

    • 事实上,JavaScript 的 "第一版 "确实花了十天时间:确切日期没有得到证实,但布伦丹-艾奇(Brendan Eich)回忆说是 1995 年 5 月 6 日至 15 日。但这只是一个用于内部演示的最小原型("Mocha")。
    • JavaScript 1.0 于 1996 年 3 月公开发布(第 10 页),第一个 "完整 "版本于 1996 年 8 月发布(同上)。
    • 即使在那之后,网景团队也会定期调整 JS 的设计;Eich 回忆说,1996 年秋天,"比尔-盖茨一直在抱怨我们不停地修改 JS"。

    艾奇在语言设计和编译器开发方面也有十年左右的经验,网景公司明确聘请他在浏览器中使用编程语言。最初这应该是 Scheme,但后来网景公司与 Sun 签订了协议,同意让它更 "像 Java"。

    这是否解释了JavaScript的缺陷?
    可以说,JavaScript 的大部分现代缺陷都不是因为开发时间太短造成的:

    • Mocha 最初并没有隐式类型转换功能,但用户要求 Eich 在 1.0 中加入这一功能(视频链接)。他对此深表遗憾。
    • JS 1.0 添加 null 是为了与 Java 更加兼容(第 13 页)。与 Java 兼容也是 typeof null = object 的原因。
    • 所有 JavaScript API 的缺陷都是在 Mocha 之后才出现的,因为所有 API 的工作都是在 Mocha 之后进行的。Mocha 是一种相当简约的语言!
    • 所有数字都是浮点数 "的问题最初出现在Mocha中,但我认为这一直都是Mocha想要解决的问题。JavaScript 1.0 手册将 HyperTalk 作为主要灵感来源。我从未使用过 HyperTalk,但略读手册后,我觉得它做了同样的事情(第 102 页,第 517 页)。

    我发现 10 天冲刺肯定会对 JavaScript 造成损害

    • 布伦丹-艾奇(Brendan Eich)没有时间添加垃圾回收器,
    • 后来试图添加垃圾回收器时又增加了很多安全漏洞(43:04)。

    原文:https://www.jdon.com/68717.html

  • 相关阅读:
    ADB常用命令
    javaScript进阶面向对象ES6【正则表达式概述、正则表达式在 JavaScript 中的使用、正则表达式中的特殊字符、正则表达式中的替换】
    POSTGIS数据库操作
    贪心算法(算法竞赛、蓝桥杯)--糖果传递
    Google Earth Engine ——利用where来合理划分NDVI阈值
    17. 机器学习 - 随机森林
    【MySQL数据库】 七
    kyuubi的查询遇到的问题NoneType‘ object has no attribute ‘_getitem_‘
    十大排序算法
    Telnet
  • 原文地址:https://blog.csdn.net/cfy_banq/article/details/133424784