要写一种语言,我早有准备了,现在开始起草规格说明书,请路过的人都来参与。DD已经在ccrun.com做广告了,应该知名度会逐渐上升的。
虽然我已经广发请帖征求良方,可是还是孤身奋战http://community.csdn.net/Expert/TopicView3.asp?id=4690611
虽然我的前期作品也得到一定的肯定
http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Others/Duceland-Designer.shtml
"We believe that the concept can be changed once the functions are developed to a certain level."
现在是动手做实际的累活的时候了。
一前言
在说明ds 语言之前,先说明ds与其他语言的不同之处,也是读者最关心的地方
二与其他语言不同之处
1 类的方法可以随时hook,例如
class A
{
public void func();
public int x;
};
那么
A a;
a.func+=after_call; //- - - - 这里表示在func之后调用after_call
a.func-=before_call; //- - - - 这里表示在func之前调用before_call
a.x.get+=after_call;//对于变量的存取也可hook
a.x.get-=before_call;
该特性将函数合事件混合起来
2 数组。数组自动形成,例如
A a;
a.x=100;与a.x[0]=100;一致
好处,在数据库的记录操作的时候能自然使用,例如声明一个,学生信息录入窗口,窗口中放入一个输入姓名的编辑框,自然,该编辑框是单个变量,但是如果是多行编辑的话,则使用上述特性更加自然。又如获取全部成员的语法:
object m=memberof(a);//memberof是关键字
那么m可以直接使用,当然表示m[0],即第一个成员,也可以m[9]表示第10个成员啦
3 自成的toString 和 fromString 的序列化和反序列化,该特性在DD中已经得到使用
4 别名,用户e文和中文同时混合使用
例如
#alias class<-->类
#alias public<-->公有
类 学生录入窗体
{
#alias 设置值<-->SetValue
#alias from "c://别名对照表.txt" //从外部装入别名对照表
公有 设置值(....);
};
5 防止重入
例如,有时候在Edit1的改变事件中设置Edit2的内容,而在Edit2的改变事件中反过来又设置Edit的内容,结果是事件重入,导致stack overload,死循环直至栈用完,所有的事件加入once关键字后可以防止重入。
6动态成员数据和操作,生成的对象名字化。例如
class A
{
public int x;
A()
{
adddef(int y);
}
};
A a;
a.y=100;//此处为动态成员数据
7类代替功能
例如:VCL的TForm 和 MFC的CWnd非常类似,提供一种比较容易的替代方法,以便平台移植容易一些,例如一些嵌入式也要用TForm的时候。
其他在协同方面的特性还在设计中,请有协同OA,或游戏编写经验者,或编程语言高手新手来指点指点。更请语言爱好者倾注你的期望。
虽然我已经广发请帖征求良方,可是还是孤身奋战http://community.csdn.net/Expert/TopicView3.asp?id=4690611
虽然我的前期作品也得到一定的肯定
http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Others/Duceland-Designer.shtml
"We believe that the concept can be changed once the functions are developed to a certain level."
现在是动手做实际的累活的时候了。
一前言
在说明ds 语言之前,先说明ds与其他语言的不同之处,也是读者最关心的地方
二与其他语言不同之处
1 类的方法可以随时hook,例如
class A
{
public void func();
public int x;
};
那么
A a;
a.func+=after_call; //- - - - 这里表示在func之后调用after_call
a.func-=before_call; //- - - - 这里表示在func之前调用before_call
a.x.get+=after_call;//对于变量的存取也可hook
a.x.get-=before_call;
该特性将函数合事件混合起来
2 数组。数组自动形成,例如
A a;
a.x=100;与a.x[0]=100;一致
好处,在数据库的记录操作的时候能自然使用,例如声明一个,学生信息录入窗口,窗口中放入一个输入姓名的编辑框,自然,该编辑框是单个变量,但是如果是多行编辑的话,则使用上述特性更加自然。又如获取全部成员的语法:
object m=memberof(a);//memberof是关键字
那么m可以直接使用,当然表示m[0],即第一个成员,也可以m[9]表示第10个成员啦
3 自成的toString 和 fromString 的序列化和反序列化,该特性在DD中已经得到使用
4 别名,用户e文和中文同时混合使用
例如
#alias class<-->类
#alias public<-->公有
类 学生录入窗体
{
#alias 设置值<-->SetValue
#alias from "c://别名对照表.txt" //从外部装入别名对照表
公有 设置值(....);
};
5 防止重入
例如,有时候在Edit1的改变事件中设置Edit2的内容,而在Edit2的改变事件中反过来又设置Edit的内容,结果是事件重入,导致stack overload,死循环直至栈用完,所有的事件加入once关键字后可以防止重入。
6动态成员数据和操作,生成的对象名字化。例如
class A
{
public int x;
A()
{
adddef(int y);
}
};
A a;
a.y=100;//此处为动态成员数据
7类代替功能
例如:VCL的TForm 和 MFC的CWnd非常类似,提供一种比较容易的替代方法,以便平台移植容易一些,例如一些嵌入式也要用TForm的时候。
其他在协同方面的特性还在设计中,请有协同OA,或游戏编写经验者,或编程语言高手新手来指点指点。更请语言爱好者倾注你的期望。