The Ring is a 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 and Flexible.

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 Games (2D & 3D)
  • RingOpenGL Extension
  • RingFreeGLUT Extension
  • RingAllegro Extension
  • RingLibSDL Extension
  • RingRayLib Extension
  • RingTilengine Extension
  • RingLibui (GUI Library) Extension
  • RingThreads Extension
  • RingSockets Extension
  • Tracing & Debugger
  • Type Hints
  • Different Styles for coding
  • Syntax Flexibility (Change language keywords & operators)
  • Create GUI Applications for Desktop and Mobile
  • RingQt Extension
  • IDE (Code Editor, Form Designer and REPL)
  • Ring2EXE (Distributing Applications)
  • RingPM (Package Manager)

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow Ring

Ring Web Site

Other Useful Business Software
Everything Your Small Business Needs to Succeed | Connecteam Icon
Everything Your Small Business Needs to Succeed | Connecteam

Connecteam is an award-winning all-in-one employee management solution for daily operations, communications, and human resource management.

Easily engage and manage non-desk employees with Connecteam’s mobile-first platform that helps improve communication, enhance daily processes and increase productivity with custom checklists, forms, and reports. Schedule shifts and track accurate work hours with Connecteam’s automated GPS time clock and easily export approved timesheets to payroll. Connecteam helps you keep your employees sharp thanks to knowledge base centers and advanced training courses. Raise morale with employee recognition rewards and keep the entire company updated through the main news feed.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
4
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5

User Reviews

  • good luck !
  • Interesting alternative to Lua.
  • New and interesting. Thanks.
  • it was much useful for my project
Read more reviews >

Additional Project Details

Operating Systems

Linux, Android, Mac, Windows

Languages

English

Intended Audience

Information Technology, Science/Research, Education, Advanced End Users, Developers

User Interface

Web-based, Console/Terminal, Qt, Allegro

Programming Language

C++, C

Database Environment

MySQL, ODBC

Related Categories

C++ Software Development Software, C++ Compilers, C++ Virtual Machine Software, C++ Code Editors, C++ Programming Languages, C Software Development Software, C Compilers, C Virtual Machine Software, C Code Editors, C Programming Languages

Registered

2016-01-21