需要一种什么样的编程语言

      C++编写出来的程序运行时不能访问类型信息(遍历属性、便利函数、运行时由程序编写者决定调用的函数等)。如果那RPC这样的例子来说,就算是用特殊的方式实现了这些功能,访问起来太难受,我们调用一个函数需要用参数列表的方式来调用(比如 : Call( "Package.ClassName.FunName", vargList, obj ); )而不能像是调用普通函数的方式调用( 比如 : obj.fun( arg1, arg2, arg3 ); ),如果我们为了调用方便来制作的话,都得像COM一样首先使用一门结构描述语言定制接口,然后生成接口实现代码和结构代理代码,这样的开发也是让人纠结啊。在常规的反射机制下,我们还需要一个对象的管理功能,能够让我们使用“对象路径”的形式来查找我们需要的对象(如 : RfObject * pObj = RfObjectManager::FindObject( NULL, "PackageName.ClassName.FunctionName" ); ),我们还需要对象序列化(XML和Bin2中格式)。

       现在一般能够提供这些信息的基本上都是一些运行在虚拟机上的语言/程序(C#(- - 不是十分确定)、Java),运行在虚拟机上的这种特性使得程序运行效率比较难以提升。在制作效率要求比较高的程序时问题就一大堆了呢!!

 

       我们需要是什么:

       1. 像C++一样灵活

       2. 我们能够在运行时访问到类型信息

       3. 有一个支持通过"对象路径"的方式访问对象的对象管理

       4. 能够帮助我们实现远程对象功能的编译器!(不用通过 Call( "Pakcage.Class.Fun", vArgList, obj );方式去访问远程对象的函数,而是像访问普通函数的方式访问 obj.Fun(arg1, arg2, arg3); )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值