发布一个Dao语言的集成开发环境

phoo273 2009-06-04 09:35:16
加精
上次Dao(道)语言发布时在曾此发一贴作宣传,承蒙大家的关注,有过比较热烈的讨论。一个被反复提及的问题就是道语言的开发工具。后来我用Qt4.5尝试作了一个IDE,现已发布,再来宣传一下:-)

此IDE名为Dao Studio,是一个使用Qt4.5程序框架,专门为道程序语言开发的集成开发环境 。它包括了一个带语法增亮的代码编辑器,也带语法增亮的命令行终端,并且支持变量名(全局常量,变量,函数名,类名,类成员常量变量名等)的自动补全。它还拥有代码调试功能。

此版本将主要增加对程序调试的支持,允许在代码编辑器里设置调试断点,更支持了Edit and Continue调试模式,允许程序在调试期间作修改,并在修改后继续执行程序(不需要重新从头运行)。另外,此版本也允许用户更改代码编辑器和脚本终端的配色主题,并且还支持了打印机,可打印语法增亮的源代码和终端输出。

下载: http://daovm.net/dao/download_zh
...全文
1719 67 打赏 收藏 转发到动态 举报
写回复
用AI写文章
67 条回复
切换为时间正序
请发表友善的回复…
发表回复
gehao92 2012-03-11
  • 打赏
  • 举报
回复
楼主加油。。。强人。。。
dongnanyanhai 2010-04-07
  • 打赏
  • 举报
回复
纯粹关注!
无·法 2009-06-16
  • 打赏
  • 举报
回复
或者发布到谷歌项目托管也好,相对来说速度快得很多,而且比较稳定
无·法 2009-06-16
  • 打赏
  • 举报
回复
下载不了你的ide,你不能上传到你的空间里吗?那个sourceforge真是慢死了,我这里下载不了
phoo273 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 62 楼 sysdzw 的回复:]
或者发布到谷歌项目托管也好,相对来说速度快得很多,而且比较稳定
[/Quote]

刚放上去了:
http://code.google.com/p/dao-studio
http://code.google.com/p/dao-language
phoo273 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 60 楼 cocolong2002 的回复:]
建议在网站首页简要说明一下道语言的特色和适用领域。
不知是用什么语言开发的?
[/Quote]

等下次发布时再把网站首页改改。

道语言的解释器(虚拟机)是用C语言开发的。
cumtnuist 2009-06-16
  • 打赏
  • 举报
回复
up
cocolong2002 2009-06-15
  • 打赏
  • 举报
回复
建议在网站首页简要说明一下道语言的特色和适用领域。


不知是用什么语言开发的?

擒兽 2009-06-09
  • 打赏
  • 举报
回复
楼主精神力量无敌,无敌敬仰楼主!

Dao语言要壮大,得先壮大库,这可是无限大的工程。
aw325 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 58 楼 phoo273 的回复:]
我相信Dao的库一定会壮大起来。我已经开发出了一个可用来(半)自动地封装C/C++库的工具,基于封装的库可以在较短的时间内丰富起来。我准备封装的下一个比较大库将是Qt4.5,嘿嘿。

也希望兄弟们建议些其他的好库让我封装,先多谢了。
[/Quote]
支持,有机会试一试
phoo273 2009-06-09
  • 打赏
  • 举报
回复
我相信Dao的库一定会壮大起来。我已经开发出了一个可用来(半)自动地封装C/C++库的工具,基于封装的库可以在较短的时间内丰富起来。我准备封装的下一个比较大库将是Qt4.5,嘿嘿。

也希望兄弟们建议些其他的好库让我封装,先多谢了。
fairchild811 2009-06-08
  • 打赏
  • 举报
回复
支持
adream99 2009-06-08
  • 打赏
  • 举报
回复
利害!!!
atoon_li 2009-06-07
  • 打赏
  • 举报
回复
看了楼主网站上的一些关于道语言的开发视频,非常钦佩。 我也想提出几点看法,仅供参考:

1. 如果【道语言】能集VB6, C#, Java, Python的大成,那必将前途无量。特别是Python和VB6. 很多程序员都忽视和看不起VB6,其实VB6是一款极其优秀的语言,在开发效率和易用性上几乎做到了无与伦比。微软出于推广.NET(C#和VB.NET)的目的,将VB6彻底抹杀。

2. 在语言的关键字上应该尽可能的与主流语言一致化,例如:
(1) 道语言的【routine】太长, Python 的def 只有三个字母,C++的void 也只有4个字母。我觉得改成 VB6 的【sub】会更好。这样代码看起来会简洁很多。
(2) 在交互式环境中: (dao) = a 这种语法改成: (dao) ? a 也许会更形象更好一些。 其实直接借鉴Python的 >>> a 也是不错的。
(3) 代码编辑器的高亮度颜色上(主要是关键字和注释上),尽量的和微软的Visual Studio的【默认颜色】一致,这种【默认颜色】是让人看起来比较舒服的。
虽然,大多数编辑器的颜色可以由用户自己定义,但是定义一种大家能普遍接受的默认颜色,会让仍感到亲切,熟悉,有一种想学习的冲动。

3. Python 是目前我见过的最简洁,优雅的语言,不知楼主可否将道语言与Python做一个比较,看看各自有哪些优缺点,这样就会引起很多程序员的注意的。

4. 我最近才接触Python语言,真是有一种相见恨晚的感觉。但Python真是让我爱不释手。可能是自己过于的追求完美了,对于Python 的一些细小的方面,自己还是有些不满意,甚至萌生了要改造这门语言的强烈愿望,但不知何时才能真正付诸实施,也许永远只是一个梦想。Python 有以下几点让我不是很满意:
(1)没有一个好的可视化IDE(如果能达到VB6或Dephi的可视化IDE的水平,就非常好了)
(2)由于历史的原因,命名规则很混乱,难以形成统一。
(3)代码的清晰性可以进一步的提高
(4)有太多的外部扩展库,虽然使用方便灵活,但也让人眼花缭乱
(5)程序不能直接编译成机器码。
(6)软件运行效率还有待进一步的提高(当比起Java来说还是好得多了,而且还有很大的提高空间,可以用C 将一部分库进行改写)

不知楼主的【道语言】能否在吸收Python的优点的同时,能将Python以上的一些问题解决了。


支持楼主,祝愿楼主能做出世界级的优秀的编程语言。
xiaobing12ice 2009-06-07
  • 打赏
  • 举报
回复
新手,帮顶一下.
lobtao 2009-06-07
  • 打赏
  • 举报
回复
这个貌似就是同一个呢,刚才看错了,她也支持面向对象,支持web开发
lobtao 2009-06-07
  • 打赏
  • 举报
回复
好像不是这个,那个前辈的,还支持面向对象,支持web开发,和java的模式差不多。
lobtao 2009-06-07
  • 打赏
  • 举报
回复
比较牛B,曾经也看到国内有一人也写过一种语言不知道是不是就是这个,只是在国内外没有影响而以,中国不缺乏人才的 。
jbhsdx 2009-06-07
  • 打赏
  • 举报
回复
看不懂哈
phoo273 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 47 楼 atoon_li 的回复:]
2. 在语言的关键字上应该尽可能的与主流语言一致化,例如:
(1) 道语言的【routine】太长, Python 的def 只有三个字母,C++的void 也只有4个字母。我觉得改成 VB6 的【sub】会更好。这样代码看起来会简洁很多。
(2) 在交互式环境中: (dao) = a 这种语法改成: (dao) ? a 也许会更形象更好一些。 其实直接借鉴Python的 >>> a 也是不错的。
(3) 代码编辑器的高亮度颜色上(主要是关键字和注释上),尽量的和微软的Visual Studio的【默认颜色】一致,这种【默认颜色】是让人看起来比较舒服的。
虽然,大多数编辑器的颜色可以由用户自己定义,但是定义一种大家能普遍接受的默认颜色,会让仍感到亲切,熟悉,有一种想学习的冲动。
[/Quote]

sub这个关键字是不错的,可以增加它。

在交互式环境中:= a, 是向lua学的。以前是跟python里的相似,其实在基于系统终端的交互环境里,还保持着跟python里的相似。只是在Dao Studio里才使用lua的这种方式,lua的这种方式实现起来更简单些。可以考虑两者都支持。

可以考虑增加Visual Studio的默认配色方案。我不用,也没有安装Visual Studio,不知道Visual Studio的默认配色方案是什么样的,你能给我发个屏幕截图么, 我的邮箱是phoolimin AT gmail D0T com,先谢了。


[Quote=引用 47 楼 atoon_li 的回复:]
3. Python 是目前我见过的最简洁,优雅的语言,不知楼主可否将道语言与Python做一个比较,看看各自有哪些优缺点,这样就会引起很多程序员的注意的。
[/Quote]

要作比较准确的比较,并不容易。
笼统地讲,Dao的语言语法复杂程度比Python的低不少,大致介于Python和Lua之间吧。

效率方面,在没有太频繁的小函数调用的情况下,要优于Python很多。也就是Dao的函数调用开销目前大于Python的函数调用开销,如果程序里有很多小函数的调用,也就是当函数调用的开销跟函数本身的运行相比不可忽略时,Dao要比Python慢不少。
其他情况下一般是Dao更快。

Dao跟Python相比,最显著的优点应该在于类型系统。Dao支持可选的类型系统,也就是变量的类型可以显式地定义,也可以由Dao的编译器自动从程序语句推导出变量的类型。Dao可以在编译时检测一些程序语句的操作是否能适用于有关变量的类型。Dao也可以根据变量的类型信息对计算作一些优化。前面提到的效率情况跟这个类型系统有关。

Dao的另一个优点是它的元编程支持,它有个强大的宏系统,支持自定义的语法。虽然一般情况下不建议定义自己的语法,不过在实在需要时,或在建立领域专用语言,或在增加函数式编程时,都可以派上大的用场。

这个宏系统的还一个用处就是可以用来保持语法的向后兼容性。如Dao曾经有一段时间改为类似Lua的语法,不使用{}而使用do-end等,后来觉得不喜欢,又改回来了,不过当时那种使用do-end等的语法可以完全通过元编程来支持。


[Quote=引用 47 楼 atoon_li 的回复:]
4. 我最近才接触Python语言,真是有一种相见恨晚的感觉。但Python真是让我爱不释手。可能是自己过于的追求完美了,对于Python 的一些细小的方面,自己还是有些不满意,甚至萌生了要改造这门语言的强烈愿望,但不知何时才能真正付诸实施,也许永远只是一个梦想。Python 有以下几点让我不是很满意:
(1)没有一个好的可视化IDE(如果能达到VB6或Dephi的可视化IDE的水平,就非常好了)
(2)由于历史的原因,命名规则很混乱,难以形成统一。
(3)代码的清晰性可以进一步的提高
(4)有太多的外部扩展库,虽然使用方便灵活,但也让人眼花缭乱
(5)程序不能直接编译成机器码。
(6)软件运行效率还有待进一步的提高(当比起Java来说还是好得多了,而且还有很大的提高空间,可以用C 将一部分库进行改写)

不知楼主的【道语言】能否在吸收Python的优点的同时,能将Python以上的一些问题解决了。
[/Quote]

应该说我已经在着手解决你提的一些问题。

(1) 好的可视化IDE:

Dao Studio的目标就是这个,呵呵。

(2) 命名规则:

不知道哪种规则最能被接受,或许可以规定一下常量名,全局变量名,类名,函数名的字母大小写和使用下划线的规则。

(3) 代码的清晰性:

对于代码的格式,我考虑过将来在Dao Studio增加一个功能,使它载入或保存代码时,自动调整格式。

(4) 外部扩展库:

对于比较常用,也许可以定义一套标准的扩展库。

(5) 编译成机器码:
(6) 软件运行效率:

编译成机器码只能在一定程度上支持,也许将来可以考虑使用llvm来作些这方面的改善。

我已经尝试过增加支持X86平台的JIT编译,不过还有比较大的局限性,也还不稳定,将来一定会完善它。

运行效率,我已经通过使用前面提到的类型系统,提升了很多。实际上对于不含频繁小函数调用的程序,Dao的速度已经相当快了。如果还使用JIT,速度更快。将来要做的就是改善该类型系统,降低函数调用的开销,这样的话,Dao的效率在脚本语言里应该会是非常好的。


最后,感谢你的建议和鼓励!
加载更多回复(46)

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧