国产编程语言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. 通过宏定义的方式对内核实现了模块化,开发者可以通过开启或关闭预 ...
随机推荐
- c++中vector与list的区别
c++标准库中,容器vector和list都可以用来存放一组类型相同的数据.而且二者不同于数组的一点是,支持动态增长.但它们还是有有几点不同 (1) vector是顺序表,表示的是一块连续的内存,元 ...
- the C programming language 阅读笔记2
1. 指针 1.1 自增符的使用 ++*p;//p指向的内容加一 (*p)++; //p指向的内容加一 *p++;//p本身自增 *++p; //p本身自增 因为诸如*和++这样的一元运算符在表达式求 ...
- 安装solaris_11.2与windows双系统(VM10模拟实现)(一)
感慨:这周刚接触solaris,装solaris很蛋疼,一个字:慢! 在上面安装软件包依然很慢,无线网也很不稳定. 在上面搭建环境更蛋疼,一个字:惨! 什么环境之类的废话就不多说了,一般的电脑都可以. ...
- SQL Server 统计信息对查询的影响
优化器根据开消确定选择哪个执行计划,开消又与行数统计信息有关,默认情况下统计信息是在优化的过程中自动生成的. 一旦列被标记为需要统计信息,查询优化器就会查找该列以有的统计信息,如果以有一个统计信息,下 ...
- Delphi下TLabel鼠标MouseEnter、MouseLeave更改颜色失灵
在Delphi 7下,如果想在鼠标MouseEnter.MouseLeave的时候改变TLabel自身的颜色,很多人可能会采用 Label.Color := clRed;这样的方式来实现,我当初也是一 ...
- [Leetcode][Python]21: Merge Two Sorted Lists
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 21: Merge Two Sorted Listshttps://oj.le ...
- Linux系统CentOS6.2版本号下安装JDK7具体过程
前言: java 是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE( ...
- iOS深入学习 (Block全面分析)
本文翻译自苹果的文档,有删减,也有添加自己的理解部分. 如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block 为了方便对比,下面的代码我假设是写在ViewCon ...
- JavaScript 开发经验整理
前言 今年接触了一个B/S的项目,总结了一些JavaScript开发经验,整理些有用的内容与大家分享. 本文会持续更新... 1.实现代码访问的控制 随着项目JavaScript代码库扩大,本应被控制 ...
- 【android】两个按钮的宽度各占屏幕的一半
<LinearLayout> <Button android:layout_height="wrap_content" android:layout_width= ...