We aggregate information from all open source repositories to provide the most of useful open source products, from Enterprise product to small libraries across all platforms. Please search and find what you want.

The Ring Programming Language

The Ring is an Innovative and practical general-purpose multi-paradigm language.

The supported programming paradigms are Imperative, Procedural, Object-Oriented, Functional, Meta programming, Declarative programming using nested structures, and Natural programming.

The language is portable (Windows, Linux, macOS, Android, etc.) and can be used to create Console, GUI, Web, Games and Mobile applications.

The language is designed to be Simple, Small, Flexible and Fast.

The SourceForge Speed Test measures Latency/Ping, Jitter, Download Speed, Upload Speed, Buffer Bloat, and Packet Loss. Upon completion, you can view detailed reports about your connection. This HTML5 speed test does not require Flash or Java, and works on all devices including tablets and smartphones. Host on your own infrastructure or use ours. For licensing, inquire today.

Website http://ring-lang.net
Tags
License
Platform
Features
  • Free Open Source (MIT License)
  • Hybrid Implementation (Compiler+VM)
  • Declarative programming on the top of Object-Oriented programming
  • No explicit end for statements (No ; or ENTER is required)
  • Compiler + Virtual Machine
  • Many libraries!
  • Writen in ANSI C (The code is generated)
  • Developed using Visual Programming (PWCT)
  • Optional Printing for Tokens/Grammar/Byte-Code during execution
  • Portable (Windows, Linux, macOS, Android, etc.)
  • Comments (One line & Multi-line)
  • Not Case-Sensitive
  • Dynamic Typing
  • Weakly typed
  • Lexical Scoping (Global, Local & Object State)
  • Default scope for variables inside functions (Local)
  • Default scope for variables outside functions (global)
  • Garbage Collector - Automatic Memory Management (Escape Analysis and Reference Counting)
  • Structure Programming
  • Rich control structures & Operators
  • For in get item by reference not value, you can read/edit the item
  • Use exit to go outside from more than one loop
  • Procedures/Functions
  • Main Function (optional)
  • Call Function before the definition
  • Recursion
  • Multi-line literals
  • Access (read/write) string letter by index
  • The list index start from 1
  • No keyword to end Functions/Classes/Packages
  • Range operator ex: 1:10 and ā€œaā€:ā€zā€
  • First Class Variables, Lists, Objects and Functions
  • Store/Copy Lists/Objects by value (Deep Copy)
  • Pass Lists/Objects by reference
  • Native Object-Oriented Support
  • Encapsulation
  • Setter/Getter (optional)
  • private state (optional)
  • Instantiation
  • Polymorphism
  • Composition
  • Inheritance (Single Inheritance)
  • Operator Overloading
  • Packages
  • using { } to access objects and use attributes/methods as variables/functions
  • Reflection and Meta-programming
  • Clear program structure (Statements then functions then packages & classes)
  • Exception Handling
  • Eval() to execute code during run-time
  • 8-bit clean, work on binary data directly
  • I/O commands
  • Math functions
  • String functions
  • List functions
  • File processing functions
  • Database support (ODBC & MySQL)
  • Security Functions (OpenSSL)
  • Internet Functions (LibCurl)
  • CGI Library (Written in Ring)
  • CGI LIbrary - HTTP Get
  • CGI LIbrary - HTTP Post
  • CGI LIbrary - File upload
  • CGI LIbrary - Cookies
  • CGI LIbrary - URL Encode
  • CGI LIbrary - Templates
  • CGI LIbrary - HTML Special Characters
  • CGI LIbrary - HTML Generation using Functions
  • CGI LIbrary - HTML Generation using Classes
  • CGI LIbrary - CRUD Example (using MVC)
  • CGI Library - Users Example (Register, Login and Check)
  • Extension using C/C++ (Simple API)
  • Embedding the language in C/C++ programs
  • Embedding Ring in Ring
  • Comes with code generator (Written in Ring) to quickly wrap C/C++ Libraries
  • Create 2D Games (Using the Allegro Library)
  • RingLibSDL Extension
  • RingOpenGL Extension
  • RingFreeGLUT Extension
  • Tracing & Debugger
  • Type Hints
  • Different Styles for coding
  • Syntax Flexibility (Change language keywords & operators)
  • Create GUI Applications for Desktop and Mobile (Using the Qt Framework)
  • IDE (Code Editor, Form Designer and REPL)
  • Ring2EXE (Distributing Applications)