'''Ring''' is a [[dynamic programming language|dynamically typed]], [[general-purpose programming language]]. It can be embedded in C/C++ projects, extended using C/C++ code and/or used as a standalone language.<ref name="rangakrish">{{cite web |url=https://web.archive.org/web/20210809074142/https://www.rangakrish.com/index.php/2021/08/07/first-encounter-with-the-ring-programming-language/ |title=First Encounter with the Ring Programming Language |author= Dr. Rangarajan Krishnamoorthy |date=7 August 2021 |publisher=rangakrish.com|archive-url=https://web.archive.org/web/20210809074142/https://www.rangakrish.com/index.php/2021/08/07/first-encounter-with-the-ring-programming-language/ |archive-date=2021-08-09 }}</ref> The supported [[programming paradigm]]s are [[Imperative programming|imperative]], [[Procedural programming|procedural]], [[Object-oriented programming|object-oriented]], [[Functional programming|functional]], [[Metaprogramming|meta]], [[Declarative programming|declarative]] using nested structures, and [[Natural-language programming|natural programming]].<ref name="BIMArabiaMagazine">{{cite web |url=http://bimarabia.com/download/BIMarabia_Arabic/BIMarabia27.pdf#page=8 |title=The Ring programming language Review |author=Omar Selim |date=January 2018 |publisher=BIMArabia Magazine}}</ref><ref name="YourWayToProgramming">{{cite web |url=https://ring-lang.sourceforge.io/ref/ArabicBook_YourWayToProgramming_TalkAboutRing.pdf |title=Your way to programming (Arabic Book, Pages 56-57) talk about Ring |author=Ahmed Tartour |date=January 2020 |publisher=[[:ar::كتبنا (موقع ويب)|Kotobna]]}}</ref> The language is portable ([[Windows]], [[Linux]], [[macOS]], [[Android (operating system)|Android]],<ref name="dotnetpro">{{cite web |url=https://www.dotnetpro.de/diverses/sprachen/ring-flexibel-einfach-schnell-1571947.html |title=Ring: flexible, simple, fast |author= Bernhard Lauer |date=14 August 2018 |publisher=[[:de::Dotnetpro|Dotnetpro]]}}</ref> [[WebAssembly]],<ref name="InfoWorld">{{cite web |url=https://www.infoworld.com/article/3572395/ring-language-upgrade-focuses-on-webassembly.html |title=Ring language upgrade focuses on WebAssembly |author= Paul Krill|date=24 August 2020 |publisher=[[InfoWorld]]}}</ref> etc.)<ref>{{cite book |last=Ghanem |first=Mohamed |title=Developing Poet Software using Ring language |url= https://ring-lang.sourceforge.io/ref/GhanemBookAboutRing.pdf |publisher=MetaBook (Egypt - Mansoura)|date=2021|isbn=978-977-6928-38-1 }}</ref> and can be used to create [[Console application|console]], [[Graphical user interface|GUI]], [[Web application|web]], [[PC game|game]] and [[mobile app]]lications.<ref>{{Cite book|url=https://www.apress.com/gp/book/9781484258323|title=Beginning Ring Programming - From Novice to Professional {{!}} Mansour Ayouni {{!}} Apress|language=en}}</ref><ref name="Youm7 (Egyptian daily newspaper)">{{cite web |url=https://www.youm7.com/story/2016/1/11/%D9%81%D9%89-25-%D9%8A%D9%86%D8%A7%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%82%D8%A8%D9%84-%D9%84%D8%BA%D8%A9-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AC%D8%AF%D9%8A%D8%AF%D8%A9-%D8%A8%D9%85%D9%88%D8%A7%D8%B5%D9%81%D8%A7%D8%AA-%D8%B9%D8%A7%D9%84%D9%85%D9%8A%D8%A9-%D9%85%D9%86/2532713 |title= Ring: A New programming language |author=Hany Salah |date=11 January 2016 |work=youm7.com |publisher=[[youm7]]}}</ref><ref>{{Cite web|title=Ring: A programming language developed by Arab|url=https://muslims-res.com/%D9%84%D8%BA%D8%A9-%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D8%AC%D8%AF%D9%8A%D8%AF%D8%A9-%D8%A8%D8%A3%D9%8A%D8%AF%D9%8D-%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9-%D9%88%D9%84%D9%82%D8%A7%D8%A1-%D8%AD%D8%B5%D8%B1/|access-date=2020-09-28|website=muslims-res.com|author=Ahmed Mohammed Hassan}}</ref><ref>{{Cite web|title=A book about the Ring programming language|url=https://muslims-res.com/%D9%84%D8%BA%D8%A9-%D8%B1%D9%8A%D9%86%D8%AC-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-ring-programming/|access-date=2020-09-28|website=muslims-res.com|author=Abedallah Salehani}}</ref>
==History==
Line 129:
===Loop command===
The Loop command can take an integer to apply the continue semantics to enclosing outer loops<ref name="rangakrish2">{{cite web |url=https://web.archive.org/web/20230323171354/https://www.rangakrish.com/index.php/2021/08/21/loop-command-in-ring-programming-language/ |title="Loop" Command in Ring Programming Language |author= Dr. Rangarajan Krishnamoorthy |date=21 August 2021 |publisher=rangakrish.com|archive-url=https://web.archive.org/web/20230323171354/https://www.rangakrish.com/index.php/2021/08/21/loop-command-in-ring-programming-language/ |archive-date=2023-03-23 }}</ref>
<pre>
Line 160:
</pre>
In Ring classes can be defined at runtime using the Eval() function<ref name="rangakrish3">{{cite web |url=https://web.archive.org/web/20230529153208/https://www.rangakrish.com/index.php/2021/09/04/ring-language-dynamic-behavior-of-classes-and-objects/ |title=Ring Language: Dynamic Behavior of Classes and Objects |author= Dr. Rangarajan Krishnamoorthy |date=4 September 2021 |publisher=rangakrish.com|archive-url=https://web.archive.org/web/20230529153208/https://www.rangakrish.com/index.php/2021/09/04/ring-language-dynamic-behavior-of-classes-and-objects/ |archive-date=2023-05-29 }}</ref>
<pre>
Line 299:
===Popularity===
Ring had a rapid rise and fall in popularity as measured by the [[TIOBE index|TIOBE Programming Community Index]]. In February 2018, Ring broke into the top 50 for the first time (position 45).<ref>{{cite web |url=https://www.tiobe.com/tiobe-index/ |title=TIOBE Index | TIOBE - the Software Quality Company |website=www.tiobe.com |access-date=28 February 2022 |archive-url=https://web.archive.org/web/20180221113115/https://www.tiobe.com/tiobe-index/ |archive-date=21 February 2018 |url-status=dead}}</ref> As of October 2020, Ring holds position 93 on the TIOBE index.<ref>{{Cite web|title=Top 100 Programming Languages|url=https://www.bairesdev.com/blog/top-100-programming-languages/|access-date=2020-10-06|website=[[:es:BairesDev|BairesDev]]|author=Emma White|date=6 October 2020 }}</ref> Ring is listed by GitHub in the list of programming languages that are actively developed.<ref>{{Cite web|url=https://github.com/collections/programming-languages|title = Build software better, together|website = [[GitHub]]}}</ref>