h*i 发帖数: 3446 | 1 大家知道,Clojure是一个寄生语言。在JVM上叫Clojure, 在.net上也有。在
Javascript上叫Clojurescript。
现在这个pixie, 寄生在C环境上,和C无缝结合,有GC,JIT, lightweight thread, 等
等,感觉Clojure现在要无敌了。
https://www.youtube.com/watch?v=1AjhFZVfB9c |
a*****g 发帖数: 19398 | 2 good
【在 h*i 的大作中提到】 : 大家知道,Clojure是一个寄生语言。在JVM上叫Clojure, 在.net上也有。在 : Javascript上叫Clojurescript。 : 现在这个pixie, 寄生在C环境上,和C无缝结合,有GC,JIT, lightweight thread, 等 : 等,感觉Clojure现在要无敌了。 : https://www.youtube.com/watch?v=1AjhFZVfB9c
|
l*********s 发帖数: 5409 | |
d*******r 发帖数: 3299 | 4 赞, 现在有实际用途了没
【在 h*i 的大作中提到】 : 大家知道,Clojure是一个寄生语言。在JVM上叫Clojure, 在.net上也有。在 : Javascript上叫Clojurescript。 : 现在这个pixie, 寄生在C环境上,和C无缝结合,有GC,JIT, lightweight thread, 等 : 等,感觉Clojure现在要无敌了。 : https://www.youtube.com/watch?v=1AjhFZVfB9c
|
h*i 发帖数: 3446 | 5 pixie还没有Beta。不过看进展的速度(从最开始到现在也就一年时间),可能今年底
就可用了。有了这个,Clojure程序员搞native也没有问题了,比较看好。看实现细节
,基本上是偷了各种目前最好的东东,RPython, node.js, C++ boost template, 都
用上了,哈哈。
pixie的作者是Cognitect(Rich Hickey的公司)的雇员,写Clojure core.async的,
要是pixie比较成功的话(现在github都有1200多星了),cognitect可能会把它纳入
Clojure的系列中吧,看他们两个人能不能达成什么样的协议。
【在 d*******r 的大作中提到】 : 赞, 现在有实际用途了没
|
n******7 发帖数: 12463 | 6 这个似乎挺nb啊
能到C的速度吗?能在1.5x内我就立马跳了
这都是通过transcompiler实现的吧?
那其实scala,乃至java/javascript都可以这样搞?
如果每种语言都能编译成其他语言实现,那么最关键的其实就是语法本身了? |
h*i 发帖数: 3446 | 7 和Clojure的实现方法类似,就是直接编译成虚拟机的byte code。 不过pixie的虚拟机
是自己实现的,用RPython写的,GC,JIT啥的都从这儿来。Async IO用的node的libuv
,C interop利用boost。挺clever的。
速度不知道,现在micro benchmark和LLVM byte code和Java差不多快,对一个GC,
dynamic typed, immutable data的语言来说,这是很可观了。以后优化了肯定可以更
快,C的2x以内不是不可能的吧。
【在 n******7 的大作中提到】 : 这个似乎挺nb啊 : 能到C的速度吗?能在1.5x内我就立马跳了 : 这都是通过transcompiler实现的吧? : 那其实scala,乃至java/javascript都可以这样搞? : 如果每种语言都能编译成其他语言实现,那么最关键的其实就是语法本身了?
|
d*******r 发帖数: 3299 | 8 看了下 RPython 的介绍,挺有意思
libuv
【在 h*i 的大作中提到】 : 和Clojure的实现方法类似,就是直接编译成虚拟机的byte code。 不过pixie的虚拟机 : 是自己实现的,用RPython写的,GC,JIT啥的都从这儿来。Async IO用的node的libuv : ,C interop利用boost。挺clever的。 : 速度不知道,现在micro benchmark和LLVM byte code和Java差不多快,对一个GC, : dynamic typed, immutable data的语言来说,这是很可观了。以后优化了肯定可以更 : 快,C的2x以内不是不可能的吧。
|
z****e 发帖数: 54598 | 9
是的,所谓的语言语法文件
其实就是一个text
只不过多了点规则而已
后缀只是一个标识
你真要全部搞成native,当然可以
只不过有些语言,比如java,为了不破坏跨平台的特性
官方不推荐而已,真要native compiling
早就可以了,现在之所以不搞c的部分
主要是因为不想跟os捆绑,这个在server side很重要
这也是防lockin的一种,因为windows这种恶名昭彰的东家比较糟糕
【在 n******7 的大作中提到】 : 这个似乎挺nb啊 : 能到C的速度吗?能在1.5x内我就立马跳了 : 这都是通过transcompiler实现的吧? : 那其实scala,乃至java/javascript都可以这样搞? : 如果每种语言都能编译成其他语言实现,那么最关键的其实就是语法本身了?
|
h*i 发帖数: 3446 | 10 我觉得现在有了docker, 所谓跨平台的需求其实被降低了。在不久的将来,在服务器端
,其实就只有一个平台,那就是Linux。Window server啥的必然都是legacy.在这种情
况下,我觉得JVM的优势会被逐渐降低,而native的重要性逐步回升。
这就是轮回,时尚行业的宿命。
【在 z****e 的大作中提到】 : : 是的,所谓的语言语法文件 : 其实就是一个text : 只不过多了点规则而已 : 后缀只是一个标识 : 你真要全部搞成native,当然可以 : 只不过有些语言,比如java,为了不破坏跨平台的特性 : 官方不推荐而已,真要native compiling : 早就可以了,现在之所以不搞c的部分 : 主要是因为不想跟os捆绑,这个在server side很重要
|