About this project
Ring is a practical general-purpose multi-paradigm dynamic programming language designed for developing applications, tools, and domain-specific languages. It supports imperative, procedural, object-oriented, declarative (using nested structures), functional, meta-programming, and natural programming paradigms. The language is portable across MS-DOS, Windows, Linux, macOS, Android, WebAssembly, and microcontrollers, and can be used to create console, GUI, web, games, and mobile applications.
Key features include:
- **Batteries Included**: High-quality bindings for popular libraries (e.g., Allegro, LibSDL, RayLib, OpenGL, FreeGLUT, Tilengine, Qt3D).
- **Practical**: Many libraries (StdLib, WebLib, Natural Library, Games Engine) and the Ring IDE (Ring Notepad, Form Designer) are written in Ring itself.
- **GUI Development**: RAD tools for quick GUI applications using MVC design pattern; same source code can target desktop, web, and mobile.
- **Game Development**: First-class support with native bindings and a simple 2D game engine using declarative programming.
- **Web Development**: Front-end via WebAssembly and back-end using MVC with HTML templates and declarative HTML generation.
- **Mobile Development**: Distribute applications to Android, iOS, etc.
- **Command-Line Tools**: Quickly build CLI tools; the Ring Package Manager is an example.
- **Transparent Implementation**: Inspect compiler stages and VM runtime behavior.
- **Visual Implementation**: Designed using the PWCT visual programming tool, generating ANSI C code.
- **Smart Memory Management**: Deterministic, safe, scope-based with escape analysis and optional reference counting with cycle detection.
- **No GIL**: Threads can execute Ring instructions in parallel.
- **Performance**: Fast enough for many applications; C/C++ extensions for more speed.
Building instructions are provided for Windows, Ubuntu Linux, and macOS. The language is distributed under the MIT License.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.