R++ v1.5内核改动较大,下面是一些主要变化:
1.使用PJIT(Pseudocode Just-In-Time),编译速度大幅提高,但运行效率远远不如C++,不过R++将在下一版本支持RJIT(Real Just-In-Time),理论上RJIT的运行速度和C++完全相同,而编译速度却比C++快得多。
2.强大的元编程支持,元函数可以直接访问实函数的变量
3.完整的反射和自省机制,解释器和R++代码几乎融为一体
4.字符串常量统一使用utf8(如果需要在控制台输出中文请参考rpp.pdf修改控制台的编码)
5.完整的模板函数支持,模板函数不仅可以作为类的成员,还可以动态生成
6.可变参数支持
7.内部列表多改为红黑树,动态调用效率大幅提高
8.方便的调用外部DLL接口(R++所有数据类型和C/C++二进制兼容)
9.暂不支持跨平台和生成机器码,如果需要这些功能请暂时使用v1.1
特性 |
R++ |
C++ |
Java |
Lisp |
模板 |
√ |
√ |
× |
× |
宏 |
√ |
不太安全 |
× |
√√ |
运算符自定义 |
√ |
仅重载 |
× |
仅前缀 |
语法简洁 |
简洁 |
不太简洁 |
较简洁 |
极简洁 |
内联汇编 |
√ |
√ |
× |
× |
指针 |
√ |
√ |
× |
× |
元编程(非模板) |
√ |
× |
× |
√ |
动态编译 |
√ |
× |
√ |
√ |
模块(包) |
v1.1支持 |
× |
√ |
√ |
内置并行通讯 |
× |
× |
× |
× |
依赖解释器 |
双运行模式 |
不依赖 |
依赖 |
依赖 |
国产 |
√ |
× |
× |
× |
以上列举了几种语言的关键特性,可以看到R++的确像C++和Lisp的综合体,不过目前R++无论是运行速度还是成熟度,都无法和这些主流语言竞争。
下载地址:
http://pan.baidu.com/share/link?shareid=2588214458&uk=3120889058