当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/178786.html

相关文章:

  • picoctf_2018_got_shell
  • 作用域 CSS 回来了
  • 简述ceph文件储存系统
  • 计算机图像处理:椒盐噪声和高斯噪声
  • SQL SELECT 子查询与正则表达式
  • Package vips was not found in the pkg-config search path的解决方案
  • Vue封装全局SVG组件
  • 课题学习(二)----倾角和方位角的动态测量方法(基于磁场的测量系统)
  • Docker-Windows安装使用
  • 在Windows11上安装ubuntu虚拟机
  • 【微服务】spring 控制bean加载顺序使用详解
  • python-切换镜像源和使用PyCharm进行第三方开源包安装
  • tp6 + swagger 配置文档接口
  • 试图一文彻底讲清 “精准测试”
  • Visual Studio 删除行尾空格
  • LeetCode_BFS_中等_1926.迷宫中离入口最近的出口
  • 开源Windows12网页版HTML源码
  • vscode中使用指定路径下的cmake
  • 复杂度分析
  • Linux安装jrockit-jdk1.6.0_29-R28.2.0-4.1.0-linux-x64
  • 7.2 怎样定义函数
  • Chrome扩展V2到V3的变化
  • lock、tryLock、lockInterruptibly有什么区别?
  • mysql面试题5:索引、主键、唯一索引、联合索引的区别?什么情况下设置了索引但无法使用?并且举例说明
  • 数据集笔记:纽约花旗共享单车od数据
  • 为什么 0.1+0.2 不等于 0.3
  • huggingface_hub v0.17 现已发布
  • 机器学习——一元线性回归构造直线,并给出损失函数
  • OpenHarmony自定义组件介绍
  • 云原生之使用Docker部署PDF多功能工具Stirling-PDF