Ring in the Top100 of the Tiobe Index

92 views
Skip to first unread message

Mansour Ayouni

unread,
Oct 1, 2022, 4:48:31 PM10/1/22
to The Ring Programming Language
Hello All,

Ring continues to be vibrant although the project is supported only by a volunteering team, without financial or institutional support.

Thank you Mahmoud for all the nice work done and for all the team.

image.png

Best,
Mansour

Irwin Rodriguez

unread,
Oct 1, 2022, 4:57:15 PM10/1/22
to Mansour Ayouni, The Ring Programming Language
That's nice! step by step Ring will be increasing its popularity.

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ring-lang/CAFdCj1BGMZLHtQEi50pfHu1u8JddL%2BdZLcHUnR%2BJUuBa6sKGuw%40mail.gmail.com.

Antonio F.S.

unread,
Oct 2, 2022, 11:21:05 AM10/2/22
to ring...@googlegroups.com

Hello.

I am certainly falling in love with Ring little by little. :-) :-); and I'm already 60! :-) :-)
I wonder what advantages Ring has over Javascript with NodeJs, NW.js and MongoDB or MySQL for example. The truth is that although I'm struggling with both languages, and others more by obligation, I would like to know what is your opinion about it.

Thank you very much.
Best regards.

Antonio F.S.

-------------------------------------------------------------------------------
Translated with www.DeepL.com/Translator (free version)

El 1/10/22 a las 22:56, Irwin Rodriguez escribió:

Ilir

unread,
Oct 2, 2022, 3:16:24 PM10/2/22
to The Ring Programming Language
Hello All,

Mahmoud once said: " Programming languages are tools and we should select the right tool based on the job".

Or you like, or you dislike Ring as a tool to get job done. I like it because it is innovative, feels natural and because of the most important thing: If I could do it (the language), I would do it differently: overly complicated. Ring is quite opposite: concise and right on the spot.

P.S.

Ring rank was (45) in February 2018. We need to focus on:

- Increasing the useful resources about the language that fills the gaps in understanding or using it. 

Antonio F.S.

unread,
Oct 2, 2022, 3:58:57 PM10/2/22
to ring...@googlegroups.com
Hello.

I don't know if it's for better or worse, but I like a few programming
languages :-) :-)

Ring is indeed a straightforwardly comfortable and pleasant model. It's
like a film series that gets you more and more 'hooked' with each
episode you watch. :-)

I didn't try to differentiate between Javascript and Ring, but to give a
more professional opinion, as I consider you to be qualified specialists.

I am not yet familiar with the potential of Ring, but I do have an idea
of how JS and its entire ecosystem has grown at the back-end level for
desktop applications (with Linux), mobile phone systems and, of course,
the web.

And it is precisely on the web about Ring, that I don't have a clear
idea of what it can do. :-).

Thank you very much.
Best regards.

Antonio F.S.
------------------------------------------------

El 2/10/22 a las 21:16, Ilir escribió:

Ilir

unread,
Oct 2, 2022, 7:00:08 PM10/2/22
to The Ring Programming Language
Hello Antonio,

in case of the JS, I think it was opposite: grown (bringing dynamic web content) in browsers (causing battle between different vendors) until it was standardized by the ECMA. Later, JS came to desktop/mobile supporting I/O (such as networking, storage or graphics facilities previously provided by the web browser).

Ring has grown as desktop/mobile with web back-end support (weblib) and recently with front-end web support (Qt via Web-Assembly).

Antonio F.S.

unread,
Oct 3, 2022, 4:29:14 AM10/3/22
to ring...@googlegroups.com

Hello Ilir.

Well, every opinion is welcome and of course very respectable; that's what it's all about, of course.

What I have no doubt about is that Ring is a living language because of the way it is being promoted and improved. Congratulations! :-) :-)

Thank you.
Best regards.
Antonio F.S.

----------------------------------------------

El 3/10/22 a las 1:00, Ilir escribió:
--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.

Antonio F.S.

unread,
Oct 5, 2022, 5:03:05 PM10/5/22
to ring...@googlegroups.com

Hello.

I've been looking a bit deeper into Ring's documentation and I'm actually more pleasantly impressed than before.

I've seen what can be done with web development and it has raised a question for me: since you use CGI and you have to modify the Apache server, I suppose you should hire a dedicated server, since a normal shared hosting obviously can't be modified because there are many of us connected to it. Isn't that right?

Best regards.
Antonio F.S.

-------------------------------------------------------------

El 3/10/22 a las 10:29, Antonio F.S. escribió:

Ilir

unread,
Oct 5, 2022, 6:09:26 PM10/5/22
to The Ring Programming Language

Hello Antonio,

Apache server doesn't need modifications on Windows, works out of the box. 

Shared hosting is not an option, not because of the many users connected, but because you need to have Ring executables running there.

Antonio F.S.

unread,
Oct 5, 2022, 6:43:46 PM10/5/22
to ring...@googlegroups.com
Hello.

Well, personally, the less I see Windows, the better. :-) Years ago I
switched to Linux (Ubuntu and its "flavours").

I hope and wish that we can enjoy the Ring ecosystem with everything
existing and created afterwards, also on Linux.

Thank you very much for the answer, Ilir.

Best regards.
Antonio F.S.

------------------------------------------------

El 6/10/22 a las 0:09, Ilir escribió:

Ilir

unread,
Oct 5, 2022, 7:52:36 PM10/5/22
to The Ring Programming Language
Hello Antonio,

Thank you very much for the answer, Ilir.

You're Welcome.

Well, personally, the less I see Windows, the better.

I share the sentiment. Windows 10 are crashing (from time to time), but I use them because of the tools I need for the Ring development.
On the other side, Windows 8.1 are perfectly stable and I use them when I don't want to be interrupted :)

Greetings,
Ilir

Jose Luis Cuesta

unread,
Oct 6, 2022, 4:40:58 AM10/6/22
to The Ring Programming Language
Hello all,

Another option would be to install it on a VPS server with linux. It's cheap and allows us to have our own Apache with Ring's CGI. It would also allow us to have our own http or tcp server made with Ring. I personally have been doing this in Golang lately, but I see Ring as a simpler and more powerful choice for several reasons, so I'm trying to adapt some services made in Golang to Ring.

Regards,
José Luis

Antonio F.S.

unread,
Oct 6, 2022, 6:31:16 AM10/6/22
to ring...@googlegroups.com
Hello.

Thank you Jose Luis.

Best regards.
Antonio F.S.

-------------------------------------------------------------------

El 6/10/22 a las 10:40, Jose Luis Cuesta escribió:

Ilir

unread,
Oct 9, 2022, 10:07:15 AM10/9/22
to The Ring Programming Language
Hello All,

back to the topic. I read many comments about Ring, here are the complains:

1. Ring uses see-give keywords, feels unnatural to native English speakers (complaining: why is not put/get used). That prevented them to discover another commands: ChangeRingKeyword or ChangeRingOperator
 
2. Ring uses list index starting from 1, someone complained that is bad idea because some mathematical operations for non-zero based indexes can bring -1 value (?). That prevented them to discover zero based list (Z)

3. Ring uses implicit conversion between the number and string type. That prevented them to discover type check using isnumber or isstring functions, or possibility to extend Ring VM by adding special operator like in JS (=== and !===)

Ring VM is open source (MIT licence), do what you want, adopt it to your needs (like I do in Ring2A+ and above)

Greetings,
Ilir

Antonio F.S.

unread,
Oct 9, 2022, 11:04:29 AM10/9/22
to ring...@googlegroups.com

Hello.

For me personally, Ring is so flexible that I think it is a work of art. :-)

Regarding the version you mention (Ring2A+), does it mean that what is being built in that version will not be in the official Ring (https://ring-lang.github.io/)?

Best regards.
Antonio F.S.

------------------------------------------------

El 9/10/22 a las 16:07, Ilir escribió:
--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.

Ilir

unread,
Oct 9, 2022, 11:55:33 AM10/9/22
to The Ring Programming Language
Hello Antonio,

Yes, Ring2A+ and Ring2B+ (in development) have extensions, for example newlist function accepts variable number of arguments (up to 20 - dimensions)

In Ring2B+ you can use multiple assignments like

A = B = C

and if you need to keep source code compatible to official Ring then you write

A = ( B = C ) // because official Ring treats B = C as "is B equal to C"

Ring2B+ is coming with new type (actually, it represents absence of the type) - NIL (No Item Listed) which you get from

arr = newarray() // create empty array

? arr[1] // prints NIL because there is no item behind index 1

Arrays in Ring2B+ allow arbitrary peek operations at desired index (out of bounds) and in bounds (no out bounds) poke operations

Ring2B+ also support Vectors (fixed size arrays) with double faster access, but that is difficult to simulate in Ring VM because same operations are used for lists, arrays and vectors (but it will be like that after executable is generated by the ring2exe).

And if you need 100% compatibility to official Ring, there are Ring2A and Ring2B (without + postfix). However, they are not stable yet, that is coming in next version after official Ring 1.18 is released.

P.S.

+ version uses

if ver(0x2A) < 0x2A
    ? "Ring2A+ required!"
    shutdown()
ok

to inform user that source code is not compatible to official version, e.g. Ring2A+ and above is required

Ilir

unread,
Oct 9, 2022, 12:04:41 PM10/9/22
to The Ring Programming Language
Hello,

Arrays in Ring2B+ allow arbitrary peek operations at desired index (out of bounds) and in bounds (no out bounds) poke operations

I have to correct my self: no out of bounds poke operation is true for Vectors (fixed sized arrays), Array supports out of bounds poke operation to extend its size (by setting the item at the same time), e.g.

arr = newarray()

arr[10] = null // resizes array to length of 10 elements, where each element is null (zero is default only for the list)

Greetings,
Ilir

Antonio F.S.

unread,
Oct 9, 2022, 12:29:46 PM10/9/22
to ring...@googlegroups.com
Hello.

Well, I find it all very interesting. Let's see what the new version of
Ring has in store for us too. :-)

Thank you very much.

Best regards.
Antonio F.S.

------------------------------------------------

El 9/10/22 a las 17:55, Ilir escribió:

Ilir

unread,
Oct 9, 2022, 1:16:44 PM10/9/22
to The Ring Programming Language
Hello Antonio,

Thank you very much.

You're Welcome. Yes, stay with official Ring because it is stable and there is still much to learn.

Ring2A-B are in constant development, e.g. re-design heavily influenced by the Haxe programming language which I intend to use at Ring2C because of its dynamic capabilities. Ironically, Haxe lacks eval function, although Eval target exists used for macros (at compile time). Will see if that can be used for eval function (at runtime).

Greetings,
Ilir
Reply all
Reply to author
Forward
0 new messages