写点什么

引入 JavaScript 虚拟机的语言:CoffeeScript 1.0、StratifiedJS、利用 C/C++ 的 Emscripten 和 Python

  • 2010-12-29
  • 本文字数:979 字

    阅读完需:约 3 分钟

JavaScript 虚拟机现在发展非常迅速,而且也不断变得普适化 - 这是语言设计者和实现者都喜闻乐见的事情。期望运行于 JVM 或者.NET 平台的语言也吸引了很多目光,但是最近一些新的语言还是主要围绕 JavaScript 做文章。

JavaScript 的主要缺点就是语言本身,所以开发者着手创建一种能够编译 JavaScript 的新语言

CoffeeScript 刚刚发布了 1.0 版,这门语言希冀于能够在整理 JavaScript 的基础上加入一些有用的特性。CoffeeScript 编译器是使用 CoffeeScript 语言本身编写,可以在编译的时候格式化 JavaScript 代码。

它是使用空格缩进而不是花括号来分隔代码段 - 这个功能引起了社区不小的争论,虽然其他语言,例如 CSS3 扩展 Sass Haml 等也是这样做的。

CoffeeScript 已经开发了近一年时间,但是直到最近才为一些项目所采用。 ArsTechnica 的 iPad 应用就是使用 HTML 和 CoffeeScript 编写,在 PhoneGap 的帮助下作为原生应用运行。37Signal 也发布了 Chalk ,这是一个运行在 iPad 上的白板应用,并且使用了例如 Cache Manifest 这样的 HTML5 特性来支持离线运行。它同样也使用了 CoffeeScript

StratifiedJS 是 JavaScript 的一个超集,它加入了一些并发相关的关键字来解决异步编程的冗长拖沓。可以阅读关于 StratifiedJS 以及浏览器实现 Apollo 背后的动机的采访来获取更多信息。

Emscripten 项目使用了另外一种方法。它尝试将使用 LLVM 编译器的语言引入到 JavaScript 虚拟机中。LLVM 可以将代码编译成比特码,然后 Emscripten 将其翻译成 JavaScript。它使用一个堆数组和一个自定义的 malloc 版本在某种程度上支持手动内存管理。

Emscripten 也可以翻译 C 和 C++ 代码,我们可以看到它的主页上已经有了一些已经翻译好的 C 和 C++ 库的 demo。不仅仅是这两种语言,在主页上我们也可以看到 Python Lua 也有一些已经翻译完毕的运行时 demo。

不只是这些新语言和运行时,已有语言仍然可以翻译成 JavaScript,例如 Haskell ,Steve Dekorte 的 lo 语言也可以在 Skulpt 项目的帮助下翻译成 Python。

仍然需要时间来证明哪种语言将会是最有用和最成功的。但是,有一件事情是肯定的,那就是:即便 Emscripten 这样的解决方案能够流行起来的话,JavaScript VM、JIT 和 GC 开发者仍然需要不断地改进性能。

查看英文原文: Languages Come to Javascript VMs: CoffeeScript 1.0, StratifiedJS, C/C++ with Emscripten, Python

2010-12-29 17:425705
用户头像

发布了 90 篇内容, 共 36.9 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

什么是Token?为什么大模型要计算Token数

华为云开发者联盟

人工智能 华为云 大模型 华为云开发者联盟 企业号2024年5月PK榜

从智能马桶到“万物互联”生态,这家国货品牌领跑卫浴新趋势

Alter

寻找高质量数据之旅:您的数据指南 ️

蛙人族

Data 数据集 数据集成 阿里云; 大数据‘’

阿里云天池AI课程证书学习计划

阿里云天池

阿里云

事业-最佳实践-架构-团队技术规划

南山

架构 规划 架构规划

解读注意力机制原理,教你使用Python实现深度学习模型

华为云开发者联盟

Python 人工智能 华为云 华为云开发者联盟 企业号2024年5月PK榜

被众多AI大佬看好的具身智能到底是什么?它凭什么成为下一个AI浪潮?

博文视点Broadview

蚂蚁数科 MAPPIC 密态计算云平台入驻阿里云计算巢

蚂蚁数科技术园

阿里云 隐私计算 数据要素

事业-最佳实践-项目管理-项目关键节点

南山

项目管理 关键节点

未来科技潮流:区块链、物联网与虚拟现实的融合与创新

web3区块链创业团队DappNetWork

取代或转型?人工智能对软件测试的影响(内附工具推荐)

禅道项目管理

人工智能 AI 软件测试 自动化测试 测试人员

专家解读 | NIST网络安全框架(2):核心功能

权说安全

网络安全

浅析MySQL 8.0直方图原理

华为云开发者联盟

MySQL 数据库 华为云 华为云开发者联盟 企业号2024年5月PK榜

低代码与人工智能:改变软件开发的未来

天津汇柏科技有限公司

低代码 低代码平台 人工智能’

数据价值的挖掘,有哪些实现路径呢?

蛙人族

Data 数据集 阿里云; 大数据‘’

数据应用场景,欢迎分享!

蛙人族

Data 大数据‘’

软件测试学习笔记丨Jenkins安装与配置-霍格沃兹测试开发学社

测试人

软件测试 jenkins

Intel HDSLB 高性能四层负载均衡器 — 基本原理和部署配置

云物互联

记录线上数据库飙升到60的性能优化

奔跑吧!

性能优化 后端 二级缓存 架构优化 Java线上优化经验

嘿,同学,你要的 Java 内存模型 (JMM) 来了

冰羽

【等保小知识】等保服务是一次性服务吗?为什么?怎么理解?

行云管家

等保 等级保护 等保测评 等保服务

事业-最佳实践-项目管理-MVP版本拆解

南山

项目管理 MVP MVP版本 需求拆解 项目拆解

引入JavaScript虚拟机的语言:CoffeeScript 1.0、StratifiedJS、利用C/C++的Emscripten和Python_Java_Werner Schuster_InfoQ精选文章