由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Dao语言2.0第一个测试版发布了!
相关主题
问个C++编译器如何处理函数内的static 变量Scala确实是功能强大,齐全
程序员薪水OOP里面的Object其实是actor
问-最近几年流行的计算机语言会是什么?想学 (转载)The WhatsApp Architecture
能否创立一个functional programming的版面大本,跟你说,你凹凸了
从今天开始起,学C++!我觉得java比c++难啊
看看Linux开源社区的评选结果又看了一下go
抛砖引玉,来谈谈functional programminggo is ugly
各个编程语言平均工资(ZT)这文章貌似说明了Java EE对多核编程的看法。
相关话题的讨论汇总
话题: dao话题: 语言话题: 线程话题: matlab话题: cmake
进入Programming版参与讨论
1 (共1页)
N*******t
发帖数: 66
1
这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
发布宣告:http://daovm.net/space/dao/thread/940
直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download
d*******r
发帖数: 3299
2
这个要顶~~!
N*******t
发帖数: 66
3
谢谢!
请各位朋友也上slashdot这里顶一顶(vote up):
http://slashdot.org/submission/2690123/dao-a-new-programming-la
先谢了!!!

【在 d*******r 的大作中提到】
: 这个要顶~~!
b***i
发帖数: 3043
4
希望你能增加介绍两个特性:多线程(如何在虚拟机实现)和面向对象,因为这两个是
Lua没有的。

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

N*******t
发帖数: 66
5
简单地讲,Dao虚拟机上的运行单元是虚拟进程,不同的虚拟进程可以在不同的系统线
程上跑。并行的程序里的并行计算单元是微线程(tasklet),每个微线程对应一个Dao
虚拟进程。
Dao虚拟机提供一个系统线程池和三个个微线程调度事件队列(一个有限定时,一个无
限定时,和一个非定时)。线程池里的每个线程都会主动去队列里取事件,如果事件所
对应的微线程可以被激活,那么这个系统线程就会运行这个微线程。如果一个系统线程
没有获得可运行的微线程,那么它将阻塞,直到被新的事件唤醒。
微线程的阻塞一般不阻塞系统线程,阻塞的微线程都被放在事件队列里,定时阻塞放在
定时队列里,非定时阻塞放在非定时队列里。定时队列有一个单独的线程处理,把超时
事件已到非定时队列里。
感觉面向对象没什么特别可说的。对于类,就是一个数据类型,加上语法和编译支持,
编译时处理好继承关系,成员访问限制,方法重载关系,运行时处理好成员访问限制,
方法重载和调用就基本上可以了。对于虚接口,这个就是一个类型,在类型匹配,检查
类型的方法是否满足接口的定义就可以了。
对于这两个特性的使用,可以看看这些链接:
http://daovm.net/help/en/dao.tutorial.class.html
http://daovm.net/help/en/dao.tutorial.interface.html
http://daovm.net/help/en/dao.tutorial.concurrent.html
http://daovm.net/help/en/dao.class.html
http://daovm.net/help/en/dao.concurrent.html

【在 b***i 的大作中提到】
: 希望你能增加介绍两个特性:多线程(如何在虚拟机实现)和面向对象,因为这两个是
: Lua没有的。

t*****n
发帖数: 4908
6
数值计算性能如何?

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

d***q
发帖数: 1119
7
和erlang类似?

Dao

【在 N*******t 的大作中提到】
: 简单地讲,Dao虚拟机上的运行单元是虚拟进程,不同的虚拟进程可以在不同的系统线
: 程上跑。并行的程序里的并行计算单元是微线程(tasklet),每个微线程对应一个Dao
: 虚拟进程。
: Dao虚拟机提供一个系统线程池和三个个微线程调度事件队列(一个有限定时,一个无
: 限定时,和一个非定时)。线程池里的每个线程都会主动去队列里取事件,如果事件所
: 对应的微线程可以被激活,那么这个系统线程就会运行这个微线程。如果一个系统线程
: 没有获得可运行的微线程,那么它将阻塞,直到被新的事件唤醒。
: 微线程的阻塞一般不阻塞系统线程,阻塞的微线程都被放在事件队列里,定时阻塞放在
: 定时队列里,非定时阻塞放在非定时队列里。定时队列有一个单独的线程处理,把超时
: 事件已到非定时队列里。

d**o
发帖数: 864
8
顶有用的信息

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

l*********s
发帖数: 5409
9
ding!
N*******t
发帖数: 66
10
相对其他脚本语言,应该算比较好。
你可以看下附件里的测试。

【在 t*****n 的大作中提到】
: 数值计算性能如何?
相关主题
看看Linux开源社区的评选结果Scala确实是功能强大,齐全
抛砖引玉,来谈谈functional programmingOOP里面的Object其实是actor
各个编程语言平均工资(ZT)The WhatsApp Architecture
进入Programming版参与讨论
N*******t
发帖数: 66
11
没研究erlang的实现,不过我觉得应该差不多,
好像支持高并发的微线程大概都是这个思路。

【在 d***q 的大作中提到】
: 和erlang类似?
:
: Dao

d***q
发帖数: 1119
12
常见的
actor (scala), erlang的light weight process。
coroutine (stackless python)
erlang的process 有人证实过可以开几百万个
我看你的描述似乎和erlang有些像。如果能充分利用多核,倒是一件好事。

【在 N*******t 的大作中提到】
: 没研究erlang的实现,不过我觉得应该差不多,
: 好像支持高并发的微线程大概都是这个思路。

t*****n
发帖数: 4908
13
比python强多了,牛!比C还是差点。你准备怎么定位这个语言?

【在 N*******t 的大作中提到】
: 相对其他脚本语言,应该算比较好。
: 你可以看下附件里的测试。

b***i
发帖数: 3043
14
讲讲多个线程共享数据的情况吧?比如,全局变量应该共享吧。还有两个同一个类的线
程(同一个成员函数?)能否共享类的成员变量?还是这个函数是static的?

Dao

【在 N*******t 的大作中提到】
: 简单地讲,Dao虚拟机上的运行单元是虚拟进程,不同的虚拟进程可以在不同的系统线
: 程上跑。并行的程序里的并行计算单元是微线程(tasklet),每个微线程对应一个Dao
: 虚拟进程。
: Dao虚拟机提供一个系统线程池和三个个微线程调度事件队列(一个有限定时,一个无
: 限定时,和一个非定时)。线程池里的每个线程都会主动去队列里取事件,如果事件所
: 对应的微线程可以被激活,那么这个系统线程就会运行这个微线程。如果一个系统线程
: 没有获得可运行的微线程,那么它将阻塞,直到被新的事件唤醒。
: 微线程的阻塞一般不阻塞系统线程,阻塞的微线程都被放在事件队列里,定时阻塞放在
: 定时队列里,非定时阻塞放在非定时队列里。定时队列有一个单独的线程处理,把超时
: 事件已到非定时队列里。

d*******r
发帖数: 3299
15
同问,如何推广这个语言,比如找到专门适合它的蓝海战略,真心希望有一门国人设计
的语言流行起来 :)

【在 t*****n 的大作中提到】
: 比python强多了,牛!比C还是差点。你准备怎么定位这个语言?
d********g
发帖数: 10550
16
虽不明但觉厉。先学习学习

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

l*********s
发帖数: 5409
17
问题就是一门编程语言要么有大公司使用/支持,要么有明显的独特优势。否则要流行
开很难了。

【在 d*******r 的大作中提到】
: 同问,如何推广这个语言,比如找到专门适合它的蓝海战略,真心希望有一门国人设计
: 的语言流行起来 :)

d*******r
发帖数: 3299
18
所以得找这门语言得独特优势, 就是要有它自己的蓝海。
还有,貌似寄生到其他主流语言平台也是个不错的推广方法。
最近在看Clojure, 发觉这个lisp可以寄生到几乎所有流行的语言中: http://langlangmatrix.com/

【在 l*********s 的大作中提到】
: 问题就是一门编程语言要么有大公司使用/支持,要么有明显的独特优势。否则要流行
: 开很难了。

N*******t
发帖数: 66
19
从语言大小方面讲,dao定位在lua和python之间,
语言特性丰富程度向python,ruby这类语言看齐,
runtime尽量保持小巧(想向lua看齐,但已不可能)。
dao也定位为适合嵌入的语言,适合做计算的语言。

【在 t*****n 的大作中提到】
: 比python强多了,牛!比C还是差点。你准备怎么定位这个语言?
t*****n
发帖数: 4908
20
能当lua的替代吗?lua包装C++类还是挺繁琐的。luabind已经好久没更新了。
相关主题
大本,跟你说,你凹凸了go is ugly
我觉得java比c++难啊这文章貌似说明了Java EE对多核编程的看法。
又看了一下go学Scala是不是要学Erlang
进入Programming版参与讨论
t*****n
发帖数: 4908
21
我觉得可以这样:用C++写程序,用dao把C++的类暴露给用户。用户写dao的脚本,类似
plugin等等。这样程序的功能可以大大增强。
lua已经可以这样做了。还有就是对嵌入脚本语言的调试问题。调试和ide解决了,我觉
得dao要比lua强。

【在 N*******t 的大作中提到】
: 从语言大小方面讲,dao定位在lua和python之间,
: 语言特性丰富程度向python,ruby这类语言看齐,
: runtime尽量保持小巧(想向lua看齐,但已不可能)。
: dao也定位为适合嵌入的语言,适合做计算的语言。

N*******t
发帖数: 66
22
不能直接替代,它们两的C接口很不一样。我觉得dao的c接口
更好用,对c++的支持远好于lua。

【在 t*****n 的大作中提到】
: 能当lua的替代吗?lua包装C++类还是挺繁琐的。luabind已经好久没更新了。
N*******t
发帖数: 66
23
这个都基本自动化了,ClangDao就是用来干这事的:)

【在 t*****n 的大作中提到】
: 我觉得可以这样:用C++写程序,用dao把C++的类暴露给用户。用户写dao的脚本,类似
: plugin等等。这样程序的功能可以大大增强。
: lua已经可以这样做了。还有就是对嵌入脚本语言的调试问题。调试和ide解决了,我觉
: 得dao要比lua强。

N*******t
发帖数: 66
24
我对这种寄生方式不太放心,这种方式从长远看也不太好。
现在基于jvm的语言应该也很多吧,成功的也就那么几个。
感觉这种推广方式难度也不低。

【在 d*******r 的大作中提到】
: 所以得找这门语言得独特优势, 就是要有它自己的蓝海。
: 还有,貌似寄生到其他主流语言平台也是个不错的推广方法。
: 最近在看Clojure, 发觉这个lisp可以寄生到几乎所有流行的语言中: http://langlangmatrix.com/

N******K
发帖数: 10202
25
说个题外话
python很多搞研究的也用 就是为了替代matlab 能调用底层函数 能画画图 达到快速原
型设计
Dao的定位是啥?

【在 t*****n 的大作中提到】
: 我觉得可以这样:用C++写程序,用dao把C++的类暴露给用户。用户写dao的脚本,类似
: plugin等等。这样程序的功能可以大大增强。
: lua已经可以这样做了。还有就是对嵌入脚本语言的调试问题。调试和ide解决了,我觉
: 得dao要比lua强。

N*******t
发帖数: 66
26
请看19楼。

【在 N******K 的大作中提到】
: 说个题外话
: python很多搞研究的也用 就是为了替代matlab 能调用底层函数 能画画图 达到快速原
: 型设计
: Dao的定位是啥?

N******K
发帖数: 10202
27
你这个和 octave 、matlab 比 如何? 不考虑那些工具包 就看语言本身
我一直想找一个能替代以上两者的脚本语言 python 太恶心

【在 N*******t 的大作中提到】
: 请看19楼。
d********g
发帖数: 10550
28
这个安装做得有点奇怪。看到CMakeLists.txt习惯性地cmake .但是不行,看README是
要裸make Makefile.daomake,又没有提供configure,要改prefix还得人工确认一下
Makefile里的参数。希望能直接搞成cmake的

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

N*******t
发帖数: 66
29
从语言本身讲,dao应该比octave、matlab强很多吧。
matlab语言出来时,有些编程范式(如OOP)还没出来
或还不成熟,matlab对这些方面支持比较弱。另外matlab
里的数据类型好像也不太灵活,如果想做纯数值计算之外的
事情,就会比较不方便。octave为了跟matlab兼容,应该
从matlab继承了不少类似问题。

【在 N******K 的大作中提到】
: 你这个和 octave 、matlab 比 如何? 不考虑那些工具包 就看语言本身
: 我一直想找一个能替代以上两者的脚本语言 python 太恶心

N*******t
发帖数: 66
30
我刚试了,cmake可以的,你用cmake时,它打印的是
什么信息?
如果你目录下已有Makefile,它会要你做out-of-source
编译。我做的就是:
rm -f CMakeCache.txt
mkdir build
cd build
cmake ..

【在 d********g 的大作中提到】
: 这个安装做得有点奇怪。看到CMakeLists.txt习惯性地cmake .但是不行,看README是
: 要裸make Makefile.daomake,又没有提供configure,要改prefix还得人工确认一下
: Makefile里的参数。希望能直接搞成cmake的

相关主题
Why oop is bad?程序员薪水
批判Rust语言,以及C/C++为什么永远不会死(ZZ)问-最近几年流行的计算机语言会是什么?想学 (转载)
问个C++编译器如何处理函数内的static 变量能否创立一个functional programming的版面
进入Programming版参与讨论
d********g
发帖数: 10550
31
好了,指定了个~/opt来装。先用用看

【在 N*******t 的大作中提到】
: 我刚试了,cmake可以的,你用cmake时,它打印的是
: 什么信息?
: 如果你目录下已有Makefile,它会要你做out-of-source
: 编译。我做的就是:
: rm -f CMakeCache.txt
: mkdir build
: cd build
: cmake ..

M********t
发帖数: 5032
32
牛比
赞一个

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

c***n
发帖数: 809
33
特性完全? 功能完全吧。 文档谈谈与众不同特点, 否则很难吸引人的。 鼓励一下。

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

N******K
发帖数: 10202
34
matlab oop 也很不错
只不过 多线程啥的 没有
如果你这个语言搞的 从计算层面看 语法=matlab 从程序结构和流程看 语法类似java
最好矩阵运算 能支持matlab那种语法 支持调用lapack等线性代数库 对c/c++接口用
起来简单
这样的话 至少研究机构都会采用这个语言 替代python

【在 N*******t 的大作中提到】
: 从语言本身讲,dao应该比octave、matlab强很多吧。
: matlab语言出来时,有些编程范式(如OOP)还没出来
: 或还不成熟,matlab对这些方面支持比较弱。另外matlab
: 里的数据类型好像也不太灵活,如果想做纯数值计算之外的
: 事情,就会比较不方便。octave为了跟matlab兼容,应该
: 从matlab继承了不少类似问题。

r*g
发帖数: 3159
35
Dap 的潜在市场是不是跟Julia 一样?Julia 也用llvm jit. 你能不能做做Julia 主页
的benchmark,跟它比一比?

【在 N*******t 的大作中提到】
: 这是Dao达到特性完全之后的第一个测试版本,欢迎试用!
: 发布宣告:http://daovm.net/space/dao/thread/940
: 直接下载链接:http://sourceforge.net/projects/daoscript/files/dao-2.0-beta/dao-2.0-beta1-2013-05-28.tgz/download

N******K
发帖数: 10202
36
Julia 的function 居然没有声明输出变量 非要 return X 这些人脑子有问题

【在 r*g 的大作中提到】
: Dap 的潜在市场是不是跟Julia 一样?Julia 也用llvm jit. 你能不能做做Julia 主页
: 的benchmark,跟它比一比?

N*******t
发帖数: 66
37

对,功能完全更准确些。
我准备写点文档逐个比较跟其他语言相关的特性。

【在 c***n 的大作中提到】
: 特性完全? 功能完全吧。 文档谈谈与众不同特点, 否则很难吸引人的。 鼓励一下。
N*******t
发帖数: 66
38

ok) 的大作中提到: 】
好久没碰matlab了,难道它的oop改进了
觉得现在通用语言必须支持并行计算,
没这个很难讲是门好的语言。
java
感觉java语法有点繁琐。
曾经支持过blas,lapack等,准备再重新做一下,
并增加对矩阵运算的支持。
另外还打算用opencl实现些并行的矩阵运算:)
希望能这样吧

【在 N******K 的大作中提到】
: Julia 的function 居然没有声明输出变量 非要 return X 这些人脑子有问题
N*******t
发帖数: 66
39

不太一样,Dao的目标是通用语言,但有比较好科学计算支持。
Julia的目标好像就是科学计算语言。
有时间试试看。

【在 r*g 的大作中提到】
: Dap 的潜在市场是不是跟Julia 一样?Julia 也用llvm jit. 你能不能做做Julia 主页
: 的benchmark,跟它比一比?

s****y
发帖数: 38
40
支持一下,很想要个高性能,可带类型的动态语言,本来go勉强可以,但强加了gc,就
没什么兴趣了。
不知dao可不可自己管理内存?
dao和lisp相比有没有什么优势?
相关主题
能否创立一个functional programming的版面抛砖引玉,来谈谈functional programming
从今天开始起,学C++!各个编程语言平均工资(ZT)
看看Linux开源社区的评选结果Scala确实是功能强大,齐全
进入Programming版参与讨论
N*******t
发帖数: 66
41
Dao不让用户管理内存。不过Dao是用基于引用计数的
垃圾回收,所以大部分垃圾对象不会在内存滞留很久
(大部分应该在一两个GC周期里就会释放)。另外,
如果占内存的主要是数组,列表等,用户可以在不需要
时,通过把它们resize为0来释放内存。
我只是初略地看过lisp,没认真用过,不好做恰当的评价。
不过我可以肯定大部分人更喜欢C风格语法。这也算一个
优势吧:)

【在 s****y 的大作中提到】
: 支持一下,很想要个高性能,可带类型的动态语言,本来go勉强可以,但强加了gc,就
: 没什么兴趣了。
: 不知dao可不可自己管理内存?
: dao和lisp相比有没有什么优势?

1 (共1页)
进入Programming版参与讨论
相关主题
这文章貌似说明了Java EE对多核编程的看法。从今天开始起,学C++!
学Scala是不是要学Erlang看看Linux开源社区的评选结果
Why oop is bad?抛砖引玉,来谈谈functional programming
批判Rust语言,以及C/C++为什么永远不会死(ZZ)各个编程语言平均工资(ZT)
问个C++编译器如何处理函数内的static 变量Scala确实是功能强大,齐全
程序员薪水OOP里面的Object其实是actor
问-最近几年流行的计算机语言会是什么?想学 (转载)The WhatsApp Architecture
能否创立一个functional programming的版面大本,跟你说,你凹凸了
相关话题的讨论汇总
话题: dao话题: 语言话题: 线程话题: matlab话题: cmake