国产编程语言R++ V1.5发布
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
国产编程语言R++ V1.5发布的更多相关文章
- 热烈庆祝国产编程语言R++1.8研发成功
R++是专为懒人设计的国产编程语言.支持无操作系统裸奔.编译成机器码.android.cocos2dx绑定.中文编程.闭包.惰性求值.JSON.Lisp的S表达式.内联汇编.伪代码.模板.宏.多重继承 ...
- 亿能测试白盒安全测试模板V1.0发布
亿能测试白盒安全测试模板V1.0发布http://automationqa.com/forum.php?mod=viewthread&tid=2911&fromuid=21
- RDIFramework.NET平台代码生成器V1.0发布(提供下载)
RDIFramework.NET平台代码生成器V1.0发布(提供下载) RDIFramework.NET(.NET快速开发整合框架)框架做为信息化系统快速开发.整合的框架,其目的一至是给用户和开发 ...
- 启明星手机版安卓android会议室预定系统 V1.0发布
启明星手机版会议室预定系统 V1.0发布 在手机里输入 http://www.dotnetcms.org/e4.apk 或者扫描二维码下载 用户打开系统,可以实时查看所有会议室状态 点击会议室名称,可 ...
- Kubernetes v1.16 发布 | 云原生生态周报 Vol. 20
作者:心贵.进超.元毅.心水.衷源.洗兵 业界要闻 Kubernetes v1.16 发布 在这次发布中值得关注的一些特性和 Feature: CRD 正式进入 GA 阶段: Admission We ...
- Delphi MlSkin V1.1 发布啦! 它能让你的程序拥有像QQ一样多彩炫丽的外观!
http://bbs.csdn.net/topics/390740239 本帖最后由 u014161811 于 2014-03-24 09:46:40 编辑 QQ皮肤透明TEdit透明TMemo图片按 ...
- Rust v1.39发布 - 这个编程语言真不一般!
https://zhuanlan.zhihu.com/p/90612241 今天(2019-11-07)Rust终于发布了期待已久的v1.39版本,增加了重量级的async/await关键字支持.Ru ...
- ComponentOne Studio for Enterprise 2015 v1 全新发布
ComponentOne Studio 即将发布2015年的第一个版本.2015 v1版本聚焦于优化性能.提升数据可视化能力.加强数据管理以及更人性的输入方式及报表解决方案. 免费下载试用 WinFo ...
- 物联网操作系统Hello China移植mile stone之一:移植基础版本V1.76发布
Hello China V1.76版发布,这是向ARM系列CPU移植的基础版本.相对V1.75版,该版本主要做了如下的一些调整: 1. 通过宏定义的方式对内核实现了模块化,开发者可以通过开启或关闭预 ...
随机推荐
- Python封装的访问MySQL数据库的类及DEMO
# Filename:mysql_class.py # Author:Rain.Zen; Date: 2014-04-15 import MySQLdb class MyDb: '''初始化[类似于构 ...
- silverlight控件动画状态的过渡
动画代码: xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows" <vsm:VisualState ...
- The number of positions
Description The number of positions time limit per test: 0.5 second memory limit per test: 256 megab ...
- Linux内核中的list用法和实现分析
这些天在思考知识体系的完整性,发现总是对消息队列的实现不满意,索性看看内核里面的链表实现形式,这篇文章就当做是学习的i笔记吧.. 内核代码中有很多的地方使用了list,而这个list的用法又跟我们平时 ...
- Java定时器:Timer
项目中往往会遇到需要定时的任务,例如订单,当用户在某个规定时间内没有操作订单时,订单状态将会发生改变. 那么在这种情况下,我们会用到定时器. 举例: import java.util.Timer; / ...
- cocos2d-x -------之笔记篇 3D动作说明
CCShaky3D::create(时间,晃动网格大小,晃动范围,Z轴是否晃动); //创建一个3D晃动的效果 CCShakyTiles3D::create(时间,晃动网格大小,晃动范围,Z轴是 ...
- xtrabackup 链接不上MySQL的问题
先看问题: [root@localhost ~]# innobackupex --user=root --password=131417 /backup InnoDB Backup Utility v ...
- Oracle EBS-SQL (SYS-7):表单个性化查询.sql
SELECT * FROM FND_FORM_CUSTOM_RULES; SELECT * FROM FND_FORM_CUSTOM_ACTIONS; SELECT * FROM FND_FORM_C ...
- 利用指针突破C++编译器的防线
C++ 面向对象的一大特性就是封装,使用不同的访问控制符来控制外接对其的访问权限.比如: class A { public: A(): i(){} void print(){ cout << ...
- linux 开通ftp账号
1.更新yum源 首先需要更新系统的yum源,便捷工具下载地址:http://help.aliyun.com/manual?spm=0.0.0.0.zJ3dBU&helpId=1692 2.安 ...