r++

r++

R++是專為懶人設計的新型程式語言,它試圖融合C++和Lisp,並假定用戶是天才,允許DIY運算符和內置數據類型。它可以在Windows、Linux、Android或者IOS上運行,甚至能編譯成機器碼無作業系統裸奔。這個新玩具是綠色、免費、解釋器開源的。(編譯器暫不開源) 它的特點是: 全新JIT引擎,極致的編譯和運行速度。 精簡Lisp核心,無限的動態擴展能力。 完全開源,真正的開源不需要協定。 集成IDE,編輯、編譯、運行一體化,支持代碼自動完成。 兼容50%的C++語法,70%的C語法,編譯器本身使用C++編寫,但其90%的源碼都可以自我編譯。 。

R+介紹

更徹底的類型推斷,C++11需要使用關鍵字auto,R++可以省略auto

語句後面的分號是可選的

宏自動加括弧,也不需要寫折行符號

空參函式的括弧是可選的

支持自定義新的運算符和優先權

更簡潔的模板寫法

更簡單的函式指針語法,函式指針不需要聲明

默認參數更靈活,默認參數可以訪問到前面的參數,也可以訪問到類的數據成員

Lisp的S表達式和C++的中綴表達式可以混合使用,也為C++增加了一些動態特性

可以遞歸引用,不需要向前聲明

無縫內聯彙編,不需要關鍵字asm,暫存器幾乎可以當做一個整型變數使用

程式設計師可以隨意DIY,可以認為R++沒有內置數據類型,int也是程式設計師自定義的

R++既可以編譯運行又可以解釋運行,靜態類型和動態類型都可以使用

自動處理重複包含問題,R++沒有.CPP檔案,只有.H檔案

1.

更徹底的類型推斷,C++11需要使用關鍵字auto,R++可以省略auto

2.

語句後面的分號是可選的

3.

宏自動加括弧,也不需要寫折行符號

4.

空參函式的括弧是可選的

5.

支持自定義新的運算符和優先權

6.

更簡潔的模板寫法

7.

更簡單的函式指針語法,函式指針不需要聲明

8.

默認參數更靈活,默認參數可以訪問到前面的參數,也可以訪問到類的數據成員

9.

Lisp的S表達式和C++的中綴表達式可以混合使用,也為C++增加了一些動態特性

10.

可以遞歸引用,不需要向前聲明

11.

無縫內聯彙編,不需要關鍵字asm,暫存器幾乎可以當做一個整型變數使用

12.

程式設計師可以隨意DIY,可以認為R++沒有內置數據類型,int也是程式設計師自定義的

13.

R++既可以編譯運行又可以解釋運行,靜態類型和動態類型都可以使用

14.

自動處理重複包含問題,R++沒有.CPP檔案,只有.H檔案

適合人群

編程初學者,希望了解語言的本質

喜歡DIY語言的玩家

需要一種腳本語言,但又不習慣腳本內置的運算符優先權和數據類型

希望自己的程式能在手機上運行,但又不想使用Java,也不想安裝龐大的開發環境

喜歡DIY作業系統的玩家,R++能編譯成nasm彙編代碼,也可以使用grub引導

1.

編程初學者,希望了解語言的本質

2.

喜歡DIY語言的玩家

3.

需要一種腳本語言,但又不習慣腳本內置的運算符優先權和數據類型

4.

希望自己的程式能在手機上運行,但又不想使用Java,也不想安裝龐大的開發環境

5.

喜歡DIY作業系統的玩家,R++能編譯成nasm彙編代碼,也可以使用grub引導

R++ v1.5:

使用PJIT(Pseudocode Just-In-Time),編譯速度大幅提高,但運行效率遠遠不如C++,不過R++將在下一版本支持RJIT(Real Just-In-Time),理論上RJIT的運行速度和C++完全相同,而編譯速度卻比C++快得多。

強大的元編程支持,元函式可以直接訪問實函式的變數

完整的反射和自省機制,解釋器和R++代碼幾乎融為一體

字元串常量統一使用utf8(如果需要在控制台輸出中文請參考rpp.pdf修改控制台的編碼)

完整的模板函式支持,模板函式不僅可以作為類的成員,還可以動態生成

可變參數支持

內部列表多改為紅黑樹,動態調用效率大幅提高

方便的調用外部DLL接口(R++所有數據類型和C/C++二進制兼容)

暫不支持跨平台和生成機器碼,如果需要這些功能請暫時使用v1.1

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
模板 × ×
不太安全 × √√
運算符自定義 僅重載 × 僅前綴
語法簡潔 簡潔 不太簡潔 較簡潔 極簡潔
內聯彙編 × ×
指針 × ×
元編程(非模板) ×(boost已實現) ×
動態編譯 ×
模組(包) v1.1支持 ×
內置並行通訊 × × × ×
依賴解釋器 雙運行模式 不依賴 依賴 依賴
國產 × × ×
r+ r++

R++ v1.8:

目前DIY作業系統一般使用gcc+nasm,R++是編譯型語言,抽象能力強過C,可直接內聯彙編,不需要面對討厭的AT&T彙編,絕對是您DIY作業系統的利器(支持GRUB從隨身碟或硬碟引導)。

R++沒有GC,所以理論運行速度和C++一樣,可以作為lua的替代者候選。

R++既可以編譯運行又可以解釋運行,既可以用靜態類型又可以用動態類型。語法層支持C++、JS、Lisp、python、asm混合編程,一種語言,五種語法。

R++自由度極高,完全開源,您可以隨意DIY運算符的優先權,增加新運算符,增加修改“內置類型”,甚至於int、double這些基礎類型都是由用戶自定義的,一切由您做主。(如果您想製作屬於自己的程式語言並進入實用階段,R++將是您的最佳參考,沒有之一)

它的語法相當簡潔,支持N種省略語法,最大程度減少您的擊鍵次數。(R++支持類似《算法導論》的偽代碼)

R++支持多種花括弧風格,無論是python的無花括弧風格還是K&D風格,或者是花括弧單獨占一行,隨你喜歡。

它是C++的山寨版,如果您習慣了C++的語法,又需要一種類似C++的腳本語言,似乎選擇R++是一個明智的決定。

既然它是C++的山寨版,所以R++幾乎不需要學習成本,很多C++和C的代碼經少量修改都可以移植過來,甚至能夠寫出同時兼容R++和C++的代碼。

又因為它是C++的山寨版,R++所有數據類型和C++二進制兼容,無論是靜態連結還是動態連結,想怎樣就怎樣。

R++原始碼檔案可以使用任意後綴,在R++的世界裡,一切都是代碼。

支持中文編程是必須的。

1.

目前DIY作業系統一般使用gcc+nasm,R++是編譯型語言,抽象能力強過C,可直接內聯彙編,不需要面對討厭的AT&T彙編,絕對是您DIY作業系統的利器(支持GRUB從隨身碟或硬碟引導)。

2.

R++沒有GC,所以理論運行速度和C++一樣,可以作為lua的替代者候選。

3.

R++既可以編譯運行又可以解釋運行,既可以用靜態類型又可以用動態類型。語法層支持C++、JS、Lisp、python、asm混合編程,一種語言,五種語法。

4.

R++自由度極高,完全開源,您可以隨意DIY運算符的優先權,增加新運算符,增加修改“內置類型”,甚至於int、double這些基礎類型都是由用戶自定義的,一切由您做主。(如果您想製作屬於自己的程式語言並進入實用階段,R++將是您的最佳參考,沒有之一)

5.

它的語法相當簡潔,支持N種省略語法,最大程度減少您的擊鍵次數。(R++支持類似《算法導論》的偽代碼)

6.

R++支持多種花括弧風格,無論是python的無花括弧風格還是K&D風格,或者是花括弧單獨占一行,隨你喜歡。

7.

它是C++的山寨版,如果您習慣了C++的語法,又需要一種類似C++的腳本語言,似乎選擇R++是一個明智的決定。

8.

既然它是C++的山寨版,所以R++幾乎不需要學習成本,很多C++和C的代碼經少量修改都可以移植過來,甚至能夠寫出同時兼容R++和C++的代碼。

9.

又因為它是C++的山寨版,R++所有數據類型和C++二進制兼容,無論是靜態連結還是動態連結,想怎樣就怎樣。

10.

R++原始碼檔案可以使用任意後綴,在R++的世界裡,一切都是代碼。

11.

支持中文編程是必須的。

r+ r++

RPP v1.86:(為避免與貝爾實驗室的R++名字衝突,從1.86開始R++改名為RPP)

全新JIT引擎,極致的編譯和運行速度。

精簡Lisp核心,無限的動態擴展能力。

完全開源,真正的開源不需要協定。

集成IDE,編輯、編譯、運行一體化,支持代碼自動完成。

兼容50%的C++語法,70%的C語法,編譯器本身使用C++編寫,但其90%的源碼都可以自我編譯。

1.

全新JIT引擎,極致的編譯和運行速度。

2.

精簡Lisp核心,無限的動態擴展能力。

3.

完全開源,真正的開源不需要協定。

4.

集成IDE,編輯、編譯、運行一體化,支持代碼自動完成。

5.

兼容50%的C++語法,70%的C語法,編譯器本身使用C++編寫,但其90%的源碼都可以自我編譯。

相關詞條

熱門詞條

聯絡我們