SlideShare a Scribd company logo
Ring Documentation, Release 1.7
“Very interesting effort.” , Giannakakis Kostas (Greece)
“I am too lazy to open comment window and write message. But in your case I must say “Perfect” Really, create new
remarkable language like your Ring is really perfect job. Even create editor for your language in your language with
only few rows... Even noticed in rosettacode.org !
I read your previous articles and I tried these examples a few days ago and I will continue. I love Ring.
P.S.: Anders Hejlsberg, Niklaus Wirth, Bjarne Stroustrup, Ada Lovelace Hall of fame is waiting....”
, Martin Nedopil (Czech Republic )
“Ring seems very attractive to me through its very easy design and the Qt bindings. I like its declarative approach and
the generous documentation.”
, Shalok Shalom (Austria)
“Ring (and plenty of extension library + Qt) is wonderful.” , Kovacs Attila (Hungary)
“Since two days I’m trying Ring and I’m really impressed, in add to power commands and easy use, it’s really very
efficient and very fast.
Each day I hope to find the couple of the year PWCT+RING ... Maybe for my Christmas gift!!!! HO HO HO HO
Continue your fantastic job and congratulations.” , Jose Le Roux (France)
“There are 3 different styles, it looks like Python and C” , 64remy
“I was taking a tour around Rosettacode and have found Ring. I like the syntax a lot. It’s clean and easy to understand.
It looks like a very clean BASIC dialect without sigils. I can say that this is the easiest and the most BASIC-like
language I’ve ever tried.”
, Tomaaz
“Thanks for your effort. I took a quick look and found it interesting.
You are trying to follow more or less like Clipper with simple command and no rigid declaration rules. Good.”
, Anand Gupta
“Thanks for this wonderful language” , Vinod kc (India)
“Very enlightening. good job!” , Southmountain (United States)
“The thing I liked was the loop exiting” , Leon de boer (Australia)
“An outstanding and easy language to program with.” , Kenneth Burgo (Philippines)
“I chose your language as I feel I can understand it better than other languages” , Harry Singh
“I like the totality of the language, far more features than expected and the freedom of expressiveness is unique.”
, Evikone
“Thank you very much Mahmoud! I am using ring for many experiments and so far I love it.
I really want to continue using ring and contribute what I can.” , John (SienSystem)
“Sir, Very Good” , Kamlesh Patel
“That’s more than a “cool” syntax, the example of writing free-form text between curly-brackets such that each
word calls a function. Which could be interesting (A syntax like that would be nice for declaring text styles)”
, LaurieCheers
“If you browse around you see they have listed 160 contributors. This year they have entered Top 100 in the
TIOBE index. Lot of effort seem to have been made to make this language pop out and catch the attention
of masses.”
, Htuhola
1.1. Quotes about Ring 2
Ring Documentation, Release 1.7
“I like the idea of The Ring being in ANSI C
it’s an impressive creation, and a lot of skill went into it” , Garry Taylor
“Very innovative language! Syntactically clean” , CodeProject Member
“The author must be commended for the readily-obvious hard work and effort that has gone into creating a rich
ecosystem for his language. It seems that the language is quite extensive as well. I would find it useful to see a BNF
grammar and concise coverage of its semantics.”
, Xx-Leninist-1917-Xx (Reddit)
“I can see the AI of the future using this technology to solve computational problems for..... the humans.” ,
Cryptonite (United States)
“I like your programming language, I like you are going to develop mobile app using RingQt and also I appreciate
your web library.”
, Domenico D’Oria (Italy)
“Congratulations for the great work with this new programming language.” , Kenny Silva (Venezuela)
“Ring is an amazingly full-featured language and so well documented (the bane of most newer languages out there!)”
, Alex McCullie
” I found the language yesterday, and liked the Qt bindings, as they give a declarative way to create a QtWidgets GUI.”
, Cochise Cesar
“Ring does look intriguing, and I’ll be reading more of the documentation soon” , Jamie Cooper
“I was recently considering designing my own dynamically-typed, prototypical language and then developing a means
to compile it into C/C++. However, last night I was surfing the web and noticed a little-known language called “Ring”
which you’ve recently created. I began reading the Motivation section in Wikibooks to see why the language was
designed and implemented, and I was shocked to see that someone else had created a language with the same intention
and need as myself. I mean, it’s mind-blowing that someone would have addressed every issue I have with the currently
accepted languages. Why bother with C/C++ when the syntax can be cryptic and they are largely antiquated - why
should we still be dealing with header files, etc? Moreover, your comments on Java and C# being too verbose and
forcing OOP onto the user is spot on as well - yet these languages are still primarily used by millions of programmers
for the most mundane tasks. At this point, I’m led to believe that it’s simply a matter of legacy applications that still
haven’t made the transition, as well as the ever-popular “Appeal to Popularity” fallacy shared by many in academia
and enterprise. Then we come to languages, that are easier and much more modern, and yet even now, are being to
show their age. Languages like Python which stresses whitespace and indentation, as well as (just like the formerly
mentioned languages) irrelevant tokens for the conditional statements. Granted, it’s not as bad as tracking down various
curly braces or semi-colons, but one misstep in indentation might as well be as frustrating to track down. The same
could be true of Ruby, except with Ruby, we have even odder conventions embedded into the design of the language,
which I don’t feel the need to address and moreover, we’re left with something like Lua which is missing a great many
features that the previously mentioned languages include. There are many more languages and faults with them, we
could claim that PHP is nothing more than a glue for web pages and backends but with so many frameworks available
now, it’s falling by the wayside fast. Javascript is constantly being cloned. So, each of these general purpose languages,
which we all know are mostly domain-specific and in some cases, also oriented at certain OS(C# was before 2016 and
Obj-C/Swift will likely always be primarily for MacOS apps). So, then we’re left with several additional options,
involving everything from hybrids to other imperative-based languages like D, GoLang, Scala, Julia, etc. But finally,
there’s a new language called Ring - and yes, it may just end up ruling them all. It’s the unicorn we’ve finally been
waiting to arrive, that can handle multiple domains, tasks, and paradigms. I honestly can’t wait to jump in and when I
do I probably won’t come back up anytime soon. My only apprehension is that the language may not include a library
or primitive functions for math as Python and Julia do. Aside from that, if so, hopefully, I won’t be having to use
linear expressions as arrays (considering how intellectually lazy it is to do) and that there will be more support/tools as
the community continues to grow. It’s crazy to think it’s only been around for a year and yet, it’s already, practically a
batteries-included language.”
1.1. Quotes about Ring 3
Ring Documentation, Release 1.7
, Gedalya (YouTube)
“Thank you Mr. Mahmoud for all the wonderful work, whenever I dive in the Source code I see the great effort, further
development more excellence, God will reward you with what you wish”
, Azzedine Ramal
1.2 FetchStockData Application
URL : https://groups.google.com/forum/#!topic/ring-lang/-fa1U_SXSjo
Author : Bert Mariani
This App is written in Ring.
It will fetch stock data from Yahoo and draw various types of charts. Any valid stock ticker can be entered, or selected
from the drop down list - Select Symbol.
It will not guarantee that you make money in the stock market. But it will visualize the history of the stock.
1.3 Fifteen Puzzle Game 2
URL : https://github.com/ring-lang/ring/blob/master/applications/fifteenpuzzle/CalmoSoftFifteenPuzzleGame.ring
1.2. FetchStockData Application 4
Ring Documentation, Release 1.7
Author : Gal Zsolt (CalmoSoft)
1.3. Fifteen Puzzle Game 2 5
Ring Documentation, Release 1.7
1.4 Google API Shortener Application
Author : John Storm (SienSystem)
Hi everyone,
Wanted to (finally) share a first release version of a small but very nice tool to shorten urls using the Google shortener
API. The code is fully documented, maybe too documented, but, provides a good reference as to what is going on.
You can obtain your own API key, or you can use my key to test and use the tool.
Hope you enjoy the application. Please feel free to test at your convenience.
Ring is FUN!!
1.4. Google API Shortener Application 6
Ring Documentation, Release 1.7
1.5 Analog Clock
URL : https://github.com/ring-lang/ring/blob/master/applications/analogclock/AnalogClock-Image.ring
Author : Bert Mariani
1.6 TicTacToe Game
URL : https://github.com/AbdelrahmanGIT/RingSamples/blob/master/src/TecTacToe.ring
Author : Abdelrahman Mohammed
1.5. Analog Clock 7
Ring Documentation, Release 1.7
1.7 Squares Puzzle Game
URL : https://github.com/MajdiSobain/RingAllegro_SquaresPuzzle
Author : Majdi Sobain
This project is about (Squares Puzzle) popular game that I have programmed using ring language with its RingAllegro
Library. The principle of this game is very known to all of us, which is moving squares to get the real full shape of the
original picture.
This game could be played using mouse and keyboard as well, showing a message of congratulations at the successful
solving.
1.7. Squares Puzzle Game 8
Ring Documentation, Release 1.7
1.8 Video-Music-Player Application
Author : Bert Mariani
Screen Shot:
1.8. Video-Music-Player Application 9
Ring Documentation, Release 1.7
1.9 Calculator Application
Author : Magdy Ragab
Updated Version by Gal Zsolt and Bert Mariani
Screen Shot:
1.9. Calculator Application 10
Ring Documentation, Release 1.7
1.10 Windows StartUp Manager Application
URL : https://github.com/ring-lang/WinStartupManager
Author : Majdi Sobain
Windows Startup Manager is an application that has the ability to let the user control what programs should start at
Windows booting time. It gives you the ability to show, edit, delete, or even add new programs entries to be lunched
at Windows booting time.
It is specialized at managing Windows startup entries that are stored in Windows Registry only, but provides a quick
option to edit programs shortcuts type entries.
Screen Shot:
1.10. Windows StartUp Manager Application 11

More Related Content

Similar to The Ring programming language version 1.7 book - Part 4 of 196 (20)

PDF
The Ring programming language version 1.10 book - Part 99 of 212
Mahmoud Samir Fayed
 
PPT
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
PPT
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
PDF
The Ring programming language version 1.5.1 book - Part 173 of 180
Mahmoud Samir Fayed
 
PDF
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
 
PDF
The Ring programming language version 1.2 book - Part 77 of 84
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.9 book - Part 6 of 210
Mahmoud Samir Fayed
 
PDF
Unit 4 Assignment 1 Comparative Study Of Programming...
Carmen Sanborn
 
PDF
The Ring programming language version 1.5.1 book - Part 4 of 180
Mahmoud Samir Fayed
 
PDF
How to create/improve OSS product and its community (revised)
SATOSHI TAGOMORI
 
PDF
Computer Science Is The Study Of Principals And How The...
Laura Martin
 
PPT
Do Languages Matter?
Bruce Eckel
 
PDF
The Ring programming language version 1.6 book - Part 4 of 189
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 6 of 212
Mahmoud Samir Fayed
 
PDF
Learning to code in 2020
Nicholas Sterling
 
PDF
Summer training report on java se6 technology
Shamsher Ahmed
 
PDF
The Ring programming language version 1.8 book - Part 93 of 202
Mahmoud Samir Fayed
 
PDF
Invasion of the dynamic language weenies
Srijit Kumar Bhadra
 
PDF
The Ring programming language version 1.4.1 book - Part 2 of 31
Mahmoud Samir Fayed
 
PDF
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
mtoppa
 
The Ring programming language version 1.10 book - Part 99 of 212
Mahmoud Samir Fayed
 
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
The Ring programming language version 1.5.1 book - Part 173 of 180
Mahmoud Samir Fayed
 
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
 
The Ring programming language version 1.2 book - Part 77 of 84
Mahmoud Samir Fayed
 
The Ring programming language version 1.9 book - Part 6 of 210
Mahmoud Samir Fayed
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Carmen Sanborn
 
The Ring programming language version 1.5.1 book - Part 4 of 180
Mahmoud Samir Fayed
 
How to create/improve OSS product and its community (revised)
SATOSHI TAGOMORI
 
Computer Science Is The Study Of Principals And How The...
Laura Martin
 
Do Languages Matter?
Bruce Eckel
 
The Ring programming language version 1.6 book - Part 4 of 189
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 6 of 212
Mahmoud Samir Fayed
 
Learning to code in 2020
Nicholas Sterling
 
Summer training report on java se6 technology
Shamsher Ahmed
 
The Ring programming language version 1.8 book - Part 93 of 202
Mahmoud Samir Fayed
 
Invasion of the dynamic language weenies
Srijit Kumar Bhadra
 
The Ring programming language version 1.4.1 book - Part 2 of 31
Mahmoud Samir Fayed
 
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
mtoppa
 

More from Mahmoud Samir Fayed (20)

PDF
The Ring programming language version 1.10 book - Part 212 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 211 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 210 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 208 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 207 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 205 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 206 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 204 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 203 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 202 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 201 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 200 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 199 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 198 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 197 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 196 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 195 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 194 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 193 of 212
Mahmoud Samir Fayed
 
PDF
The Ring programming language version 1.10 book - Part 192 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 212 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 211 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 210 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 208 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 207 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 205 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 206 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 204 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 203 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 202 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 201 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 200 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 199 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 198 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 197 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 196 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 195 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 194 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 193 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 192 of 212
Mahmoud Samir Fayed
 
Ad

Recently uploaded (20)

PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Ad

The Ring programming language version 1.7 book - Part 4 of 196

  • 1. Ring Documentation, Release 1.7 “Very interesting effort.” , Giannakakis Kostas (Greece) “I am too lazy to open comment window and write message. But in your case I must say “Perfect” Really, create new remarkable language like your Ring is really perfect job. Even create editor for your language in your language with only few rows... Even noticed in rosettacode.org ! I read your previous articles and I tried these examples a few days ago and I will continue. I love Ring. P.S.: Anders Hejlsberg, Niklaus Wirth, Bjarne Stroustrup, Ada Lovelace Hall of fame is waiting....” , Martin Nedopil (Czech Republic ) “Ring seems very attractive to me through its very easy design and the Qt bindings. I like its declarative approach and the generous documentation.” , Shalok Shalom (Austria) “Ring (and plenty of extension library + Qt) is wonderful.” , Kovacs Attila (Hungary) “Since two days I’m trying Ring and I’m really impressed, in add to power commands and easy use, it’s really very efficient and very fast. Each day I hope to find the couple of the year PWCT+RING ... Maybe for my Christmas gift!!!! HO HO HO HO Continue your fantastic job and congratulations.” , Jose Le Roux (France) “There are 3 different styles, it looks like Python and C” , 64remy “I was taking a tour around Rosettacode and have found Ring. I like the syntax a lot. It’s clean and easy to understand. It looks like a very clean BASIC dialect without sigils. I can say that this is the easiest and the most BASIC-like language I’ve ever tried.” , Tomaaz “Thanks for your effort. I took a quick look and found it interesting. You are trying to follow more or less like Clipper with simple command and no rigid declaration rules. Good.” , Anand Gupta “Thanks for this wonderful language” , Vinod kc (India) “Very enlightening. good job!” , Southmountain (United States) “The thing I liked was the loop exiting” , Leon de boer (Australia) “An outstanding and easy language to program with.” , Kenneth Burgo (Philippines) “I chose your language as I feel I can understand it better than other languages” , Harry Singh “I like the totality of the language, far more features than expected and the freedom of expressiveness is unique.” , Evikone “Thank you very much Mahmoud! I am using ring for many experiments and so far I love it. I really want to continue using ring and contribute what I can.” , John (SienSystem) “Sir, Very Good” , Kamlesh Patel “That’s more than a “cool” syntax, the example of writing free-form text between curly-brackets such that each word calls a function. Which could be interesting (A syntax like that would be nice for declaring text styles)” , LaurieCheers “If you browse around you see they have listed 160 contributors. This year they have entered Top 100 in the TIOBE index. Lot of effort seem to have been made to make this language pop out and catch the attention of masses.” , Htuhola 1.1. Quotes about Ring 2
  • 2. Ring Documentation, Release 1.7 “I like the idea of The Ring being in ANSI C it’s an impressive creation, and a lot of skill went into it” , Garry Taylor “Very innovative language! Syntactically clean” , CodeProject Member “The author must be commended for the readily-obvious hard work and effort that has gone into creating a rich ecosystem for his language. It seems that the language is quite extensive as well. I would find it useful to see a BNF grammar and concise coverage of its semantics.” , Xx-Leninist-1917-Xx (Reddit) “I can see the AI of the future using this technology to solve computational problems for..... the humans.” , Cryptonite (United States) “I like your programming language, I like you are going to develop mobile app using RingQt and also I appreciate your web library.” , Domenico D’Oria (Italy) “Congratulations for the great work with this new programming language.” , Kenny Silva (Venezuela) “Ring is an amazingly full-featured language and so well documented (the bane of most newer languages out there!)” , Alex McCullie ” I found the language yesterday, and liked the Qt bindings, as they give a declarative way to create a QtWidgets GUI.” , Cochise Cesar “Ring does look intriguing, and I’ll be reading more of the documentation soon” , Jamie Cooper “I was recently considering designing my own dynamically-typed, prototypical language and then developing a means to compile it into C/C++. However, last night I was surfing the web and noticed a little-known language called “Ring” which you’ve recently created. I began reading the Motivation section in Wikibooks to see why the language was designed and implemented, and I was shocked to see that someone else had created a language with the same intention and need as myself. I mean, it’s mind-blowing that someone would have addressed every issue I have with the currently accepted languages. Why bother with C/C++ when the syntax can be cryptic and they are largely antiquated - why should we still be dealing with header files, etc? Moreover, your comments on Java and C# being too verbose and forcing OOP onto the user is spot on as well - yet these languages are still primarily used by millions of programmers for the most mundane tasks. At this point, I’m led to believe that it’s simply a matter of legacy applications that still haven’t made the transition, as well as the ever-popular “Appeal to Popularity” fallacy shared by many in academia and enterprise. Then we come to languages, that are easier and much more modern, and yet even now, are being to show their age. Languages like Python which stresses whitespace and indentation, as well as (just like the formerly mentioned languages) irrelevant tokens for the conditional statements. Granted, it’s not as bad as tracking down various curly braces or semi-colons, but one misstep in indentation might as well be as frustrating to track down. The same could be true of Ruby, except with Ruby, we have even odder conventions embedded into the design of the language, which I don’t feel the need to address and moreover, we’re left with something like Lua which is missing a great many features that the previously mentioned languages include. There are many more languages and faults with them, we could claim that PHP is nothing more than a glue for web pages and backends but with so many frameworks available now, it’s falling by the wayside fast. Javascript is constantly being cloned. So, each of these general purpose languages, which we all know are mostly domain-specific and in some cases, also oriented at certain OS(C# was before 2016 and Obj-C/Swift will likely always be primarily for MacOS apps). So, then we’re left with several additional options, involving everything from hybrids to other imperative-based languages like D, GoLang, Scala, Julia, etc. But finally, there’s a new language called Ring - and yes, it may just end up ruling them all. It’s the unicorn we’ve finally been waiting to arrive, that can handle multiple domains, tasks, and paradigms. I honestly can’t wait to jump in and when I do I probably won’t come back up anytime soon. My only apprehension is that the language may not include a library or primitive functions for math as Python and Julia do. Aside from that, if so, hopefully, I won’t be having to use linear expressions as arrays (considering how intellectually lazy it is to do) and that there will be more support/tools as the community continues to grow. It’s crazy to think it’s only been around for a year and yet, it’s already, practically a batteries-included language.” 1.1. Quotes about Ring 3
  • 3. Ring Documentation, Release 1.7 , Gedalya (YouTube) “Thank you Mr. Mahmoud for all the wonderful work, whenever I dive in the Source code I see the great effort, further development more excellence, God will reward you with what you wish” , Azzedine Ramal 1.2 FetchStockData Application URL : https://groups.google.com/forum/#!topic/ring-lang/-fa1U_SXSjo Author : Bert Mariani This App is written in Ring. It will fetch stock data from Yahoo and draw various types of charts. Any valid stock ticker can be entered, or selected from the drop down list - Select Symbol. It will not guarantee that you make money in the stock market. But it will visualize the history of the stock. 1.3 Fifteen Puzzle Game 2 URL : https://github.com/ring-lang/ring/blob/master/applications/fifteenpuzzle/CalmoSoftFifteenPuzzleGame.ring 1.2. FetchStockData Application 4
  • 4. Ring Documentation, Release 1.7 Author : Gal Zsolt (CalmoSoft) 1.3. Fifteen Puzzle Game 2 5
  • 5. Ring Documentation, Release 1.7 1.4 Google API Shortener Application Author : John Storm (SienSystem) Hi everyone, Wanted to (finally) share a first release version of a small but very nice tool to shorten urls using the Google shortener API. The code is fully documented, maybe too documented, but, provides a good reference as to what is going on. You can obtain your own API key, or you can use my key to test and use the tool. Hope you enjoy the application. Please feel free to test at your convenience. Ring is FUN!! 1.4. Google API Shortener Application 6
  • 6. Ring Documentation, Release 1.7 1.5 Analog Clock URL : https://github.com/ring-lang/ring/blob/master/applications/analogclock/AnalogClock-Image.ring Author : Bert Mariani 1.6 TicTacToe Game URL : https://github.com/AbdelrahmanGIT/RingSamples/blob/master/src/TecTacToe.ring Author : Abdelrahman Mohammed 1.5. Analog Clock 7
  • 7. Ring Documentation, Release 1.7 1.7 Squares Puzzle Game URL : https://github.com/MajdiSobain/RingAllegro_SquaresPuzzle Author : Majdi Sobain This project is about (Squares Puzzle) popular game that I have programmed using ring language with its RingAllegro Library. The principle of this game is very known to all of us, which is moving squares to get the real full shape of the original picture. This game could be played using mouse and keyboard as well, showing a message of congratulations at the successful solving. 1.7. Squares Puzzle Game 8
  • 8. Ring Documentation, Release 1.7 1.8 Video-Music-Player Application Author : Bert Mariani Screen Shot: 1.8. Video-Music-Player Application 9
  • 9. Ring Documentation, Release 1.7 1.9 Calculator Application Author : Magdy Ragab Updated Version by Gal Zsolt and Bert Mariani Screen Shot: 1.9. Calculator Application 10
  • 10. Ring Documentation, Release 1.7 1.10 Windows StartUp Manager Application URL : https://github.com/ring-lang/WinStartupManager Author : Majdi Sobain Windows Startup Manager is an application that has the ability to let the user control what programs should start at Windows booting time. It gives you the ability to show, edit, delete, or even add new programs entries to be lunched at Windows booting time. It is specialized at managing Windows startup entries that are stored in Windows Registry only, but provides a quick option to edit programs shortcuts type entries. Screen Shot: 1.10. Windows StartUp Manager Application 11