R++

R++

R++是專為懶人設計的新型程式語言,它試圖融合C++和Lisp,並假定用戶是天才,允許DIY運算符和內置數據類型。它可以在Windows、Linux、Android或者IOS上運行,甚至能編譯成機器碼無作業系統裸奔。這個新玩具是綠色、免費、解釋器開源的。(編譯器暫不開源)

它的特點是:

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

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

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

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

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

基本介紹

  • 中文名:程式R++
  • 外文名:RPP
  • 類別:國產開源程式語言
  • 闡述:融合C++和Lisp
  • 相關:專為懶人設計
  • 運行環境:Windows、Linux、Android或者IOS
R+介紹,適合人群,

R+介紹

  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檔案

適合人群

  1. 編程初學者,希望了解語言的本質
  2. 喜歡DIY語言的玩家
  3. 需要一種腳本語言,但又不習慣腳本內置的運算符優先權和數據類型
  4. 希望自己的程式能在手機上運行,但又不想使用Java,也不想安裝龐大的開發環境
  5. 喜歡DIY作業系統的玩家,R++能編譯成nasm彙編代碼,也可以使用grub引導
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
模板


×
×


不太安全
×
√√
運算符自定義

僅重載
×
僅前綴
語法簡潔
簡潔
不太簡潔
較簡潔
極簡潔
內聯彙編


×
×
指針


×
×
元編程(非模板)

×(boost已實現)
×

動態編譯

×


模組(包)
v1.1支持
×


內置並行通訊
×
×
×
×
依賴解釋器
雙運行模式
不依賴
依賴
依賴
國產

×
×
×
R++
R++ v1.8:
  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. 支持中文編程是必須的。
RPP v1.86:(為避免與貝爾實驗室的R++名字衝突,從1.86開始R++改名為RPP)
R++
  1. 全新JIT引擎,極致的編譯和運行速度。
  2. 精簡Lisp核心,無限的動態擴展能力。
  3. 完全開源,真正的開源不需要協定。
  4. 集成IDE,編輯、編譯、運行一體化,支持代碼自動完成。
  5. 兼容50%的C++語法,70%的C語法,編譯器本身使用C++編寫,但其90%的源碼都可以自我編譯。

相關詞條

熱門詞條

聯絡我們