+ -
当前位置:首页 → 问答吧 → 应该比 Go 更理想的语言

应该比 Go 更理想的语言

时间:2014-03-14

来源:互联网

在网上发现了 Dao 这个新的电脑语言。
看来它比 Go 更为理想。
发展下去很可能会是另一个 Java !
http://daovm.net/slides/Fu-DaoProgrammingLanguageForScriptingAndComputing.pdf
(36 页 slide)
http://daovm.net/
(官网)

作者: xianrenb   发布时间: 2014-03-14

汪汪都在开发自己的程式语言

作者: Susan﹏汪汪   发布时间: 2014-03-14

Go是Google开发的一种编译型,可平行化,并具有垃圾回收功能的程式语言。[2]

罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊於2007年9月开始设计Go语言,[1],稍后Ian Lance Taylor, Russ Cox加入专案中。Go语言是基於Inferno作业系统所开发的。[3]Go语言於2009年11月正式宣布推出,成为开放源码专案,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实作。[4]

作者: loko2014   发布时间: 2014-03-14

睇嚟有前途
有冇留意作者系中国人?

作者: fitcat07   发布时间: 2014-03-14

引用:原帖由 fitcat07 於 2014-2-22 09:14 PM 发表
睇嚟有前途
有冇留意作者系中国人?
是的。
其实中国人那么多,这种事总会发生。
不过看来他主要凭一个人就做了那么多(四、五年间增减了约 408K + 367K 行 code),能力实在太强了。https://github.com/daokoder/dao/graphs/contributors
工具选用上亦是取最新最好的,如不用 git ,而用 Fossil (github 是 mirror)。
http://daovm.net/projects
真称得上是神人!

作者: xianrenb   发布时间: 2014-03-14

引用:原帖由 Susan﹏汪汪 於 2014-2-22 04:06 PM 发表
汪汪都在开发自己的程式语言



我自问就无能力试作这类 project 了。
不过你们写惯 C/C++ 的,或许有种捷径。
如写一种“compiler”,把新设计的程式语言“compile”成 C/C++ 。
再利用 clang/LLVM toolchain 就可转成可 run 的程式了。
相信这种作法最省时间,亦最灵活。

作者: xianrenb   发布时间: 2014-03-14

引用:原帖由 xianrenb 於 2014-2-23 09:35 AM 发表

我自问就无能力试作这类 project 了。
不过你们写惯 C/C++ 的,或许有种捷径。
如写一种“compiler”,把新设计的程式语言“compile”成 C/C++ 。
再利用 clang/LLVM toolchain 就可转成可 run 的程式了。
相信 ...
汪汪都有谂过

但直接做虚拟机仲方便
等第日自己、或者其他人做个完整的compiler

作者: Susan﹏汪汪   发布时间: 2014-03-14

引用:原帖由 xianrenb 於 2014-2-23 09:27 AM 发表

是的。
其实中国人那么多,这种事总会发生。
不过看来他主要凭一个人就做了那么多(四、五年间增减了约 408K + 367K 行 code),能力实在太强了。https://github.com/daokoder/dao/graphs/contributors
工具选用 ...
咁多?

佢个library有几大?
如果唔计GDI、API多过C++的standard库
都唔多系好野

作者: Susan﹏汪汪   发布时间: 2014-03-14

C++11的threading
已经系难得一见很精简的standard

其他的都好烦锁

作者: Susan﹏汪汪   发布时间: 2014-03-14

引用:原帖由 Susan﹏汪汪 於 2014-2-23 01:51 PM 发表

咁多?

佢个library有几大?
如果唔计GDI、API多过C++的standard库
都唔多系好野



计开发者的工作量的话,应该算多。
不过如果计整个 project 的 code size 的话,应该算合理。
CPython 约 68K 行 code 。
http://www.ohloh.net/p/cython
Lua 约 21K 行 code 。
http://www.ohloh.net/p/lua
Dao 应该约 408K - 367K ~= 41K 行 code 。
https://github.com/daokoder/dao/graphs/contributors
Go lang 就夸张: 1034K 行 code !
http://www.ohloh.net/p/go
整套 GCC 就更夸: 6461K 行 code !
http://www.ohloh.net/p/gcc

如果以程式语言使用者的角度来看的话,最重要都是看 benchmark 及语言的 syntax 是否易写。
http://daovm.net/help/en/misc.benchmarks.html 中的数字都算合理及不错。
library 可能要时间发展。
不过相关 project 都好像不少。
http://daovm.net/projects

作者: xianrenb   发布时间: 2014-03-14

睇佢唧power point,吾系好明佢个BNF想 点做? 用嚟做即时translate去第只language,定系第只languge translate 去dao?BNF 吾系一早定左架咩?

作者: form5   发布时间: 2014-03-14

引用:原帖由 form5 於 2014-2-25 12:37 AM 发表
睇佢唧power point,吾系好明佢个BNF想 点做? 用嚟做即时translate去第只language,定系第只languge translate 去dao?BNF 吾系一早定左架咩?
应该是这个东西: http://daovm.net/help/en/dao.macro.html

无理解错的话应只是一种似 BNF 的 macro 。
应该都是由 dao (的 macro )转成 dao 。

我个人就觉得这种功能的确可以容易的扩展一个电脑语言的功能。
但若使用了这种 macro 功能的话,却好容易使不同来源的 code 变成难於融合。
因为有机会不同的 programmer 把相似的 macro 定下不同的规则。

作者: xianrenb   发布时间: 2014-03-14

引用:原帖由 xianrenb 於 2014-2-25 09:13 AM 发表

应该是这个东西: http://daovm.net/help/en/dao.macro.html

无理解错的话应只是一种似 BNF 的 macro 。
应该都是由 dao (的 macro )转成 dao 。

我个人就觉得这种功能的确可以容易的扩展一个电脑语言的功 ...
容易做 DSL瓜

作者: form5   发布时间: 2014-03-14

引用:原帖由 xianrenb 於 2014-2-25 09:13 AM 发表

应该是这个东西: http://daovm.net/help/en/dao.macro.html

无理解错的话应只是一种似 BNF 的 macro 。
应该都是由 dao (的 macro )转成 dao 。

我个人就觉得这种功能的确可以容易的扩展一个电脑语言的功 ...
原来这种 macro 可以定名/定范围的。
如果说不幸同名的机会应该很少的话,这个功能可说是无问题了。

作者: xianrenb   发布时间: 2014-03-14

引用:原帖由 xianrenb 於 2014-2-22 03:12 PM 发表
在网上发现了 Dao 这个新的电脑语言。
看来它比 Go 更为理想。
发展下去很可能会是另一个 Java !
http://daovm.net/slides/Fu-DaoProgrammingLanguageForScriptingAndComputing.pdf
(36 页 slide)
http://da ...
用/不用一个language, 除了他先天性完全不适合作某一种类project外(像用assembly写website server side, 用java写核电站的管制系统)

一个project leader决定用某语言, 很很大程度是因为他的library够不够用(不只计build-in, 还要看3rd party的)
java我也用得好烦, 像是一定要handle exception, 个calendar class真心胶

但是java是我接触到有最完整library的language

GO我有在某project已经实战使用, library算可以接受, 至少大路的都有(gopdf不支持中文, 害我要额外开个个jasper project去出pdf)

作者: TritonHo   发布时间: 2014-03-14