首页 > 资讯 > 关键词  > JavaScript最新资讯  > 正文

JavaScript是Web的汇编语言(二):疯狂 亦或只是精神错乱?

2011-07-21 14:35 · 稿源:为之漫笔

有些人认为“JavaScript是Web的汇编语言”完全是精神病说的话。为此,我询问了几位JavaScript权威,比如Brendan Eich(JavaScript之父)、Douglas Crockford(JSON之父),还有Mike Shaver(Mozilla技术副总裁)。以下都是从个人邮件里摘过来的,得到了以上几位的许可。

Mike Shaver:

以前我就听说过这种比较,我认为很大程度上确实如此。但是,这种说法忽视了JS开发人员与机器之间的人机工程学方面的大量努力,因为汇编语法设计得没有那么人性化(特别是现代的汇编语言)。

Brendan Eich:

几年前,我曾说过“JS是Web的x86”(好像是在一次JSConf上),不过我不敢说我是第一个这么说的。(Nick Thompson今年也在Hacker News中这么说过。)

关键在于,JS确实在按照我们想的,越来越往低级方向发展了。但它也具备高级的特性。

Shaver说得没错,汇编缺少可靠的宏处理器,因此不适合程序员,也不够安全。但JS可不是这样。所以,这个比喻需要加点限制条件,不然就要闹出笑话来了。

无论从高级函数式编程还是内存安全角这个角度看,还是从低级特性,像类型化数组以及即将成为现实的ES中类型化数组的扩展、二进制数据,等等来说,JS都是一个比汇编更加强大的编程语言。当然了,内存安全是首要的区别。

Douglas Crockford:

就这个问题来说,我觉得说JavaScript是Web的虚拟机更接近一些。过去我们一直都把Java的JVM看成是Web的虚拟机,但结果呢,JavaScript才是。

从提供代码安全的角度说,JavaScript的解析器比JVM的字节码验证器更有效。就兑现“编写一次,到处运行”这个诺言来看,JavaScript更出色;这或许正是因为它是在较高层次上运行,才得以避免触及一些底层的棘手问题。因为它把剩下的事儿都交给图灵去解决了。

当然啦,也有不少人始终不肯承认JavaScript能把一切都处理好,我过去就是这样一个人。而现在我则不断地被眼前这种百花齐放的景象震撼着。

Brendan Eich,补充:

Doug说源代码强过字节码,说得太好了。很早以前,我的朋友,加州大学欧文分校的Michael Franz教授就指出了Java验证器O(n^4)级别的复杂性(计算机时钟周期失控,拒绝服务)。精简之后的JS呢,确实传输更便捷,而且词法/语法分析也相当快。

(JS)源代码作为“字节码”同样也避免了Java字节码的一个很傻的问题:冻结设计不良的Java低级形式,导致高级形式的源代码也无法解决这个问题。换句话说,Java唯恐破坏其字节码的兼容性。而这严重影响了Java内部类及其泛型的设计。——不管怎么说,Sun最后还是破坏了字节码的兼容性。

以下是前一段时间Nick Thompson在YCombinator说过的话:

这只是我个人的看法:我花了自己两年时间,想尽可能让JVM能够与JavaScript互通。当时的Netscape有不少人认为字节码作为移动代码的基础比较好。但Sun从头搭建了自己大而全的软件体系,把问题搞得很复杂。他们没有想让Java与其他语言沟通,更别提让Java能嵌入其他软件中了。他们的字符串处理代码都是用一种解释型语言来写,而不肯用C来玷污自己!有什么我就说什么,Netscape,这个当时Java唯一的一个大客户,在Sun眼里无非就是一个用来实现他们取代Windows梦想的工具而已。所有想用Java的人都是自己给自己找罪受。

在此期间,Brendan一个人干了10个工程师,外加3个客户服务人员的活儿,同时还要关注Web作者在乎的一些事,比如把JS代码混合到HTML中、即时加载、与浏览器其他模块的集成等等,此外还要协调其他浏览器厂商,以便让JS成为一个开放标准。

因此,今天的JS作为Web的x86汇编程序,并没有像它本该的那样完美,但你通过它真能把事情稿定(GWT就是一个最明显的例子)。这可以说是一个经典的“更差就是更好”的例子,只不过Java也就是从下往上那么看起来更好罢了。而JS则在此期间取得了相当不错的成就。要想取代它的地位可没那么容易。

当然,这个比喻不一定准确。JavaScript代码无论从外观到行为,肯定不像ASM。但作为一个比喻,至少可以说明:

JavaScript无所不在;

它速度快而且越来越快;

JavaScript酷似低级的Web编程语言;

它可以通过手工编写,也可以从另一种语言编译而来。

诸如此类的话题也经常在Hacker News中出现:

“现在的JavaScript其实就是客户端的汇编语言。想改它太难了,所以得想办法开发一些工具来解决这个问题。”——jonnycat

好啦,能听到如此有见地、有深度,而又详尽的讨论,该满足了吧。亲爱的读者,你们太棒了。

【相关阅读】:

JavaScript是Web的汇编语言(一):语义Web已死!

(来源:为之漫笔 原文:hanselman.com

举报

  • 相关推荐
  • AI日报:百度发布“绘想”平台与MuseSteamer;阿里音频驱动全身数字人模型OmniAvatar

    【AI日报】今日AI领域重要动态:1.开源语音大模型Step-Audio-AQAA发布,实现音频到语音的端到端自然转换;2.百度推出"绘想"平台与MuseSteamer,通过AI一键生成专业级视频;3.浙大与阿里联合发布OmniAvatar,音频驱动数字人技术取得突破;4.百度搜索迎十年来最大改版,新增智能框、百看和AI助手功能;5.xAI开发者控制台新增Grok4及Grok4Code引用,预示新一代AI模型即将发布;6.Gemin

  • AI日报:阿里开源3D数字人项目MNN TaoAvatar;MiniMax Agent上线;罗永浩数字人直播再探“AI+IP”带货模式

    本文汇总了AI领域最新动态:1)阿里开源MNN+TaoAvatar技术,实现手机端3D数字人实时交互;2)MiniMax升级AI工具Agent,新增智能图像搜索和多语言支持;3)罗永浩数字人将登陆百度电商直播;4)OpenAI员工套现近30亿美元,软银成最大接盘方;5)ChatGPT推出深度研究和语音模式升级;6)Meta发布V-JEPA2模型,提升机器人环境适应能力;7)AMD与OpenAI合作推出新一代AI芯片;8)Google Gemini集成Imagen4图像生成模型;9)谷歌AI实现10公里级精准天气预报;10)Gartner预测到2028年80%的AI应用开发时间将缩短50%。

  • CertiK 联合创始人顾荣辉做客纽交所,剖析 Web3.0 安全挑战与未来趋势

    2025年5月21日,CertiK联合创始人顾荣辉教授在纽约证券交易所接受FintechTV专访,深入探讨Web3.0领域的安全问题。访谈聚焦Bybit和Coinbase近期安全事件,分析其暴露的系统性风险,并展望Web3.0安全发展趋势。顾教授指出,2025年第一季度全球区块链安全事件损失达16.7亿美元,其中Bybit的Safe Wallet遭新型攻击尤为突出,凸显Web3.0多层防护的迫切需求。他强调行业需加速构建更韧性的安全机制,呼吁完善监管框架,将网络安全纳入核心范畴。作为新加坡金管局顾问,顾教授建议监管制度需持续迭代,尤其在私钥保护等关键环节提供明确指引。他指出Web3.0行业对数据隐私的重视远超传统金融,推动行业向"用户为中心、安全优先"转型。未来监管框架、网络安全和数据隐私将成为推动Web3.0健康发展的三大支柱。CertiK作为全球最大Web3.0安全公司,持续为行业提供全周期安全产品和服务。

  • 海尔青岛洗衣机互联工厂获国际BSCI认证

    海尔青岛洗衣机互联工厂近日通过国际BSCI认证审核,在员工权益保障、环境保护等社会责任维度获得A级评价。这是继2021年成为全球家电行业首个"碳中和"工厂后,该工厂在可持续发展领域再获国际认可。BSCI认证由欧洲对外贸易协会发起,是进入国际供应链的重要通行证。此次认证将助力海尔拓展欧盟高端市场,提升国际竞争力。未来工厂将以认证为新起点,深化智能制造能力,为全球用户提供更优质产品体验。

  • BYDFi 亮相首尔Meta Week 2025,聚焦Web3愿景与全球合规战略

    韩国首尔,2025年6月26日 —— 全球领先的加密货币交易平台 BYDFi 将参与2025年首尔 Meta Week:METACON(SMW2025),活动于6月26–27日在首尔 COEX 会展中心三楼礼堂举行。BYDFi 是 SMW2025官方合作伙伴之一,同列的还有三星、谷歌、英特尔、Spotify、Kakao、NAVER Cloud 和 GitHub 等知名科技公司。BYDFi 在 SMW2025 的参展亮点作为 SMW2025官方合作伙伴之一,BYDFi 的参与体现了其在不断发展的 Web3和数字�

  • 老头乐成为县城小伙的精神迈巴赫 精神小伙群体有新宠

    ​近日,在河北邢台及山东等多地县城,一种原本用于老年人代步的低速电动车——“老头乐”,意外成为了当地青年,尤其是被戏称为“精神小伙”群体的新宠,被形象地称为“精神迈巴赫”。 据了解,“老头乐”最初设计为老年人提供便捷的出行方式,因其价格低廉、操作简便且无需驾照,在县城及农村地区广受欢迎。然而,随着时间推移,这种低速电动车逐渐演变成了

  • REDMI K Pad首发双USB-C接口!支持充电+DP OUT等多场景

    REDMI K Pad将于6月26日发布,这是REDMI首款旗舰小平板。 REDMI K Pad还是小米首款拥有双USB-C接口的平板,横竖握持都不会影响充电。 今日,REDMI品牌总经理王腾表示,USB-C接口支持至高USB 3.2 Gen1的协议,并且带来两大核心体验升级。 首先依托于双C口,无论横竖握持,边充边玩都不再挡手。

  • 如何手工焊接PCB电路板

    本文详细介绍了电路板焊接技术,包括手工焊接和机器焊接两种方式。手工焊接部分重点讲解了焊接工具(电烙铁、焊锡丝、松香等)的选择与使用方法,以及单脚固定法和多脚固定法等焊接技巧。机器焊接适用于量产阶段,能大幅提升效率和质量控制。文章还强调了焊接过程中的注意事项,如控制焊接时间、防止虚焊和短路,并提供了检测焊接质量的方法。最后对比了手工焊接和机器焊接的适用场景,建议研发阶段使用手工焊接,量产阶段选择机器焊接以确保产品质量和生产效率。

  • Meta拟百亿美元投资Scale AI,微美全息(WIMI.US)端侧多模态AI加速开启科技新局

    Meta正与AI初创企业Scale AI洽谈数十亿美元投资,估值或超100亿美元,有望创下私营企业融资纪录。Scale AI为微软、OpenAI等提供数据标注服务,是生成式AI热潮主要受益者。这将是Meta史上最大规模外部AI投资,标志其战略转向。Meta CEO扎克伯格宣布将AI确立为战略重心,2024年将投入650亿美元推进相关项目,重点打造Llama模型成为行业标准。同时,谷歌推出Gemini助手"计划操作"新功能,支持任务自动化管理。科技巨头纷纷重金布局AI,微软向OpenAI注资逾130亿美元,亚马逊投资Anthropic数十亿美元。行业观察认为AI技术普及将推动效率革命,微美全息等企业正通过技术创新赋能产业转型,共同探讨人工智能技术突破新动态。AI正以前所未有的速度重塑全球发展格局。

  • 与 ChatGPT 一起“越陷越深”

    ChatGPT 似乎正在让一些用户走上妄想甚至阴谋论的道路,或者说,至少在某种程度上强化了这类思维模式……