写点什么

引入 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:425457
用户头像

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

关注

评论

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

面试官:什么是虚拟线程?为什么要有虚拟线程?

王磊

Java 面试

Apache Doris 在某工商信息商业查询平台的湖仓一体建设实践

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

数据库产品层出不穷,金融行业如何选择?|FCon 专访

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

测试开发 | 个性化推荐引领社交媒体新潮流:定制化互动,畅享个性世界

测吧(北京)科技有限公司

测试

测试开发 | 工业制造中的人工智能应用:智能制造引领未来产业革命

测吧(北京)科技有限公司

测试

一文教你提高写代码效率,程序员别错过!

伤感汤姆布利柏

效率 程序员 敏捷开发 低代码

海外云手机怎么帮助您运营facebook?

Ogcloud

云计算 facebook 弹性云手机 手机云服务

Integrity Plus for Mac:数据完整性校验的得力助手

iMac小白

SecureFX for Mac(ftp文件传输工具)附注册码 v9.4.3破解激活版

mac

苹果mac Windows软件 SecureFX 文件传输客户端

天猫商品评论数据接口(Tmall.item_review)

tbapi

天猫API接口 天猫商品评论接口 天猫评论接口 天猫商品评论内容接口 天猫评论API接口

在极狐GitLab 上使用 DVC 实现简单机器学习

极狐GitLab

Machine Learning MLOps

权威认可,天翼云云原生一体机iStack斩获“2023云原生企业TOP50”第一名

编程猫

iZotope RX 10 for mac:音频处理的最佳选择

iMac小白

时隔几年,再来聊聊低代码

互联网工科生

软件开发 低代码 JNPF

个人年度总结:深度学习与AIGC技术在智能诗歌生成中的应用

熬夜磕代码、

淘宝商品详情API:挖掘实时数据金矿,点燃电商增长引擎

Noah

千万用户的人群过滤,做好这几个点,竟然支持亿级流量

Geek_j8uecm

架构 后端 高并发

使用TikTok云手机轻松拓展全球市场

Ogcloud

云计算 TikTok 手机云服务

淘宝源数据商品详情API:解锁电商实时数据,驱动业务增长

Noah

精细经营:为 Web3 游戏长期卓越奠定基石

Footprint Analytics

区块链 Web3 游戏 加密攻略

一分钟了解人工神经网络(ANN)

小魏写代码

Node.js 文件操作:学习如何删除文件

Liam

node.js 后端 nodejs Node文件系统 NodeAPI

云原生的实践探索和深入学习

Geek-yan

速度与稳定性的完美结合:深入横测ToDesk、TeamViewer和AnyDesk

阿Q说代码

远程办公 ToDesk TeamViewer AnyDesk

lazada商品评论接口(lazada.item_review)

tbapi

lazada商品评论接口 lazada评论接口 lazada商品评价接口 lazada评论API接口 lazada商品评论API接口

SecureFX for Mac v9.4.3注册激活版:实现高效安全的文件传输

iMac小白

Scrutiny for Mac v12.8.3激活版:网页开发人员的得力助手

iMac小白

Luminar Neo for Mac(AI技术图像编辑软件) 1.17.0完美激活版

mac

Luminar Neo 苹果mac Windows软件 AI技术图像编辑软件

叮,你有一份来自2023开放原子开发者大会的邀请函,请查收!

开放原子开源基金会

Java 开源 程序员 开发者 算法

SecureCRT for Mac:实现安全稳定的远程工作

iMac小白

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