|
|
|
|
| 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 |
 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - peterx [ 2005-03-01 22:05 | 2,327 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - bushuhui [ 2005-03-07 16:16 | 70 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - peterx [ 2005-03-08 12:04 | 607 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - suowei1979 [ 2005-03-07 18:01 | 25 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - peterx [ 2005-03-08 12:19 | 426 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - suowei1979 [ 2005-03-08 12:44 | 88 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - peterx [ 2005-03-09 13:01 | 83 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - phunyx [ 2005-03-03 17:17 | 168 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - peterx [ 2005-03-04 09:47 | 515 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - xyb [ 2005-03-02 16:32 | 36 byte(s)]
 Re: 巧了, 又一个中国人的语言: 鲁班编程语言诞生. 大家一起探讨 - peterx [ 2005-03-03 12:26 | 897 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
发自美国爱迪生市 ---- 一个中国人自己发明的全新的编程语言: 鲁班语言正式向世界发布. 鲁班发明人黄晓川现居住于美国新泽西州爱迪生市.
黄晓川发明鲁班的想法来自于他的编程经验. 他发现整合语言(Scripting Language)简单容易上手. 非计算机专业人士都可用. 但是整合语言普遍缺乏构架. 代码一多就难以管理和分享. 所以黄晓川设计了鲁班语言. 鲁班是一个面向部件的整合语言(Component-Oriented Scripting Language). 鲁班是一个简单易学的整合语言. 而且鲁班提供一个强大的部件模型(Component Model). 有必要的时候用户可以很容易把代码组织成可重用和分享的部件. 可以说鲁班是第一个兼有整合语言和编译语言(Compiled Language)的优点的编程语言. 黄晓川把语言命名为鲁班,正因为这语言与鲁班的工作有神似之处.
鲁班语言的设计要点有二: 一是简单, 让语言成为工具而非障碍. 二是部件组合平台, 让大家可以重利用和分享代码.
鲁班是自由源码公开软件.
网站:
http://www.lubankit.org/index_chinese.html
鲁班的主要特色有:
- 易上手, 语法简洁, 无须编译
- 鲁班部件类似于JAVA BEAN
- 部件可以是一个过程(Process)或者一个组合(Composition)
- 所有的数据类型和部件都存放在一个多层次名字空间(Namespace)
- 可以多线并行和协调(thread dispatching & synchronization)
- 部件界面可以继承(Component Interface Inheritance)
- 动态数据类型检查(Dynamic type checking)
- 反映(REFLECTION)
- 所有数据和部件都可以转换成串行流(Serialized)通过网络传输或存储到文件
- 网络远程部件调用
- 无异常错误处理(Exception free error handling)
- 可从C++添加新数据类型
运行平台:
- LINUX
- Windows + Cygwin
- 任何支持POSIX标准的操作系统.
编译器:
- gcc 3.0 或更高
- 任何ANSI C++编译器,要求STL thread safe
如果您喜欢整合语言又希望能做的更多,鲁班会是你得心应手的工具. 下载鲁班语言和说明书从:
http://www.lubankit.org/index_chinese.html
联系人:黄晓川
peterx@lubankit.org
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
说起中国味儿, 鲁班的设计思想更有中国味儿. 还是新中国的味儿.
鲁班语言的设计出发点有两条,一是要简明, 二是要部件. 部件的目的是代码再利用和共享.
打个比方, 鲁班设计思想和”人民战争”思想相似. 鲁班的简单性让更多的人可以自己编程, 编程的人多了需要协调和共享, 所以要有部件组合平台. 用鲁班语言可以把部件象积木一样搭起来. 这一点是其他语言从没有的.
记得有个讲人民战争的老电影叫”地道战”, 张庄的和李庄的一起打日本鬼子, 地道连成一片神出鬼没, 枪枪打中日本人屁股. 地道战里农民游击队员的武器有一只枪, 一把锹. 枪打鬼子, 锹挖地道. 连成一片威力无穷. 如果你给李庄的一辆坦克, 恐怕要吃败仗, 因为不知道怎么使.
鲁班也是这样, 简单得来上来就能用来做事/打枪. 代码多了, 要协调/挖地道, 有部件模型可用. 部件模型比对象模型简单得多. 即使非计算机专业的也能明白.
如果你和李庄的人说搞”对象”, 十有八九人家会以为你要跟人谈恋爱.
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
谢谢评语.
鲁班是一个通用语言. 设计时并没有面向特定的领域. 从用户角度说是一个高层语言, 比C++/JAVA容易. 但做的事不一样.
部件模型比起对象模型的主要不同是部件模型简单. 个人认为部件模型更适于脚本语言. 用脚本语言写对象类型, 很难比得上C++/JAVA. 而且部件模型能解决不同的问题. 比如说, 股票用鲁班部件模型可能更容易表达. 股票可以看成几个属性的集合, 属性之间的关系用鲁班很容易表达.
我不认为部件模型比对象模型好或更先进, 只是部件模型可能更适合脚本语言
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
鲁班的错误处理很简单: 所有错误都返回错误类型数据. 比如如下例子
x=1/0;
std::println(obj=x);
运行以上代码, 会打印出:
ERROR: Error for +-*/% operation: Divided by zero
X的值是一个错误类型. 打印X得到以上信息. 以下代码做错误检查
x=1/0;
if ( x isa error )
std::println(obj=" x is an error as expected");
else
std::println(obj=" your Luban interpreter needs a bug fix");
希望以上例子对你有帮助.
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
鲁班是鸡年新年发布的, 到今天恰好一个月.
可能有人已经用鲁班语言写了企业信息系统, 可我还不知道 :-)
认真说, 在鲁班的网站上有应用举例. 一个是实时信息发布及定阅系统(Message Publishing and Subsribing System) Client+Server代码不到100行, 已经可用.
另一个是并行计算系统, 用鲁班的网络传输+多线程功能可以很容易的把计算分布到几十台或上百台LINUX SERVER 上在把结果收回来会总. 代码也是就几十行.
|
|
|
[Original]
[Print]
[Top]
|
|
|