📖Contents: 📜Welcome to Ring 🎉Get Excited! 🔋Batteries Included! ⚙️Practical 🎨Custom Styles And Modern Programming Paradigms 🖥️GUI Applications Development And RAD Tools 🎮First Class Support For Game Development 🌐WebAssembly (Front-End Web Development) 🖧Back-End Web Development 📱Mobile Development 🛠️Building Tools (Command Line) 🏗️Implementation 🔍Transparent Implementation 🖌️Visual Implementation ♻️Smart Memory Management System 🔓No Global Interpreter (VM) Lock - No GIL 🚀Fast Enough For Many Applications 🔧Building from source code 📚Publications 📜License Ring is a practical general-purpose multi-paradigm dynamic programming language for developing applications, tools, and domain-specific languages. The supported programming paradigms are imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming. The language is portable (MS-DOS, Windows, Linux, macOS, Android, WebAssembly, Microcontrollers, etc.) and can be used to create Console, GUI, Web, Games, and Mobile applications. Ring comes with better support for Natural Language Programming and Declarative Programming. The language support these paradigms with new practical techniques on top of Object-Oriented Programming and Functional Programming. No need to know anything about (Compilers and Parsing). You get the language constructs ready for use to create domain-specific languages in a fraction of time. Many of the Ring libraries (StdLib, WebLib, Natural Library, Games Engine, etc.) and the Ring IDE (Ring Notepad, Form Designer, etc.) are written in the Ring language itself. Ring is ready for use in production and increases the developers productivity. Using Ring you will feel that the language is yours! A lot of modern programming paradigms are ready for use in production and using Natural Language Programming you can quickly integrate natural interfaces to your programs. Also, you can start your software development by writing natural descriptions, then adding the implementation later. Many developers reported that using Ring we can develop many GUI applications in a few hours. Ring comes with Rapid Application Development (RAD) tools that we can use to quickly develop GUI applications using the MVC design pattern. Also, using the same source code we can distribute our applications for Desktop, Web, and Mobile platforms. We believe in Games as a nice way to encourage people to learn to program. Ring comes with many game programming libraries in the standard library. Ring provides native support for Allegro, LibSDL, RayLib, OpenGL, FreeGLUT, Tilengine and Qt3D libraries. Also, Ring comes with a simple game engine for 2D game development using Declarative Programming. Using Ring we can quickly develop web applications using WebAssembly (Binary format that allows sand-boxed executable code in web pages. This format is nearly as fast as native machine code and is now supported by all major web browsers) Using Ring we can quickly develop web applications using the MVC design pattern. We can easily use HTML templates with embedded Ring code. Also, we can generate HTML code from Ring programs using Declarative Programming. Using Ring we can distribute our applications for mobile platforms (Android, iOS, etc.) Ring comes with transparent implementation. We can know what is happening in each compiler stage and what is going on during the run-time by the Virtual Machine The Ring programming language is designed using the PWCT visual programming tool. We designed the Ring compiler and VM using CPWCT, which generates ANSI C code. Ring utilizes a deterministic, safe, and flexible scope-based memory management system that incorporates escape analysis and optional reference counting with cycle detection.
Excerpt from the source-code README · 9,187 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).