Objective opinion about Ring

91 views
Skip to first unread message

Mansour Ayouni

unread,
Dec 1, 2022, 7:58:30 AM12/1/22
to The Ring Programming Language
Hello All,

Let me share with you this nice opinion about Ring:

Best,
Mansour

Ilir

unread,
Dec 1, 2022, 7:20:36 PM12/1/22
to The Ring Programming Language
Hello Mansour,

Ring is a weakly typed language with late binding. Haxe is strongly typed language with no late binding. Therefore, Haxe is much closer to native function calls, yet still requires foreign language interface, or in terms of the Haxe language: CFFI (C Foreign Function Interface)


Expecting Ring VM to be able to call DLL functions directly, comes from a lack of knowledge about Ring VM internals . Ring VM knows nothing about foreign function arguments. That is resolved on the other side: Ring dynamic library where basic types like Number, String or List are converted to foreign language types.

Starting from Ring2C, Ring VM will know more about the function arguments via typehints library (which currently have no effect).

Greetings.
Ilir

Mansour Ayouni

unread,
Dec 2, 2022, 12:12:48 AM12/2/22
to Ilir, The Ring Programming Language
Hello Ilir,

Very nice clarification!
Thanks a lot.

Mansour.

--

---
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/1d362942-cfa2-4bd8-b525-6bf7266667d4n%40googlegroups.com.

Ilir

unread,
Dec 2, 2022, 7:15:15 AM12/2/22
to The Ring Programming Language
Hello Mansour,

You're Welcome.

Greetings,
Ilir

Antonio F.S.

unread,
Dec 2, 2022, 11:02:08 AM12/2/22
to ring...@googlegroups.com

Hello.

I didn't know about Haxel. I went to your website and I was surprised by its potential. :-)

Best regards.
Antonio F.S.

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

El 2/12/22 a las 1:20, Ilir escribió:

Ilir

unread,
Dec 2, 2022, 12:54:46 PM12/2/22
to The Ring Programming Language
Hello Antonio,

It is Haxe, not Haxel. Although,  you made nice construction: Haxe + Language = Haxel ;)

Plan is to use Haxe as target language starting from Ring2C (second phase). First phase involves dynamic execution of the C code inside the Ring VM (as fallback).

Ring2C will execute Ring code using HahsLink VM (made by Nicholas, creator of the Haxe Language).
Ring2C+ will execute Ring code using HXCPP (made by Hugh Anderson - previous link).

Alternatively, ELENA programming language could be used, but it is currently under reconstruction (heavily, most existing samples aren't working). That's the only language I could find (besides Haxe) capable of executing dynamic code produced by the Ring.


Greetings,
Ilir

Antonio F.S.

unread,
Dec 2, 2022, 1:46:18 PM12/2/22
to ring...@googlegroups.com
Hi Ilir.

I've invented a new programming language! I'm a genius like all of you;
even if I've only built the letter 'l' so far :-) :-) :-) Of course, I'm
joking. It's enough for me to understand a bit of what you are saying in
the forum. :-)

I'm currently programming in Java (I come from Fortran and a bit of
COBOL, although I started many years ago with BASIC, continued with BAL,
before that, a bit of Clipper...). But seeing everything that exists
today and being already 60 years old, either I focus on one line, or in
the end I will know a little bit of everything and practically nothing
of anything. :-) It struck me that Haxe can create fonts in several
other languages, including Java as well. But Ring is getting stronger
and stronger, too - there are still hours a day to learn! :-)

Best regards.
Antonio F.S.

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

El 2/12/22 a las 18:54, Ilir escribió:

Ilir

unread,
Dec 2, 2022, 2:36:50 PM12/2/22
to The Ring Programming Language
Hello Antonio,

I programmed (professionally) in Java 20 years ago. Haven't touched Java (except trough Haxe) since then.

Be aware: if you decide to try/go down of the Haxe road, you need to know that generated Java code is not completely native. Haxe inserts many function calls to do type conversions and some checks to maintain same user experience across different targets.

That is because Haxe originated from the ActionScript as alternative to the Adobe Flash AVM bytecode generator. Making Haxe popular across game developers because it was able to generate faster runtime!

Nicholas (and later Haxe foundation) continued adding more targets which all require about the same experience (separately for static targets like Java and dynamic targets like JavaScript).

Greetings,
Ilir

Antonio F.S.

unread,
Dec 2, 2022, 3:00:06 PM12/2/22
to ring...@googlegroups.com
Hello Ilir.
I wish I had the power of Superman to learn all the programming
languages that most appeal to me, but I don't; I'm not. :-) :-)
Obviously I follow Ring's theoretical steps while programming with Java.
I also have a pending manual (due to very little documentation in
Spanish) with Harbour, so it's impossible for me to cover more.
Nevertheless I thank you for the information, because in this way I know
more about the relation of Haxe with Java. :-)

Thank you very much.
Best regards.
Antonio F.S.

P.D.:
Ring should have the real option of strong typing, i.e. the compiler
does control the kind of data defined (String, int, float, double, etc.).

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

El 2/12/22 a las 20:36, Ilir escribió:

Antonio F.S.

unread,
Dec 2, 2022, 3:12:14 PM12/2/22
to ring...@googlegroups.com

Hello Irwin.

That wonderful Clipper... Those were the days! But it evolved into Harbour being fully compatible with the former. The pity is that Harbour does not have a regular and defined evolutionary line, as it is at the expense of what from time to time, someone may improve or extend it.

Ring is a very interesting alternative, but it is so flexible that corporately common programming styles should be defined for the applications, otherwise, if each project collaborator does it in his own way, it could be a real challenge to understand and follow the sources.



Thank you very much.
Best regards.
Antonio F.S.

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

El 2/12/22 a las 20:40, Irwin Rodriguez escribió:
Hi Antonio, I like Java too and I've been working with Visual Foxpro since 2008, you said you coded with CLIPPER so we have similar backgrounds :) 

Mahmoud also has a similar background with CLIPPER and Visual Foxpro so I believe he created Ring as an evolution of those languages among others. Actually I've started a little language called FoxLite which resembles Visual Foxpro and my goal is to include some fancy "modern" language features like First class functions, Closures and stuff like that.

Anyway, this post is for giving an opinion of Ring so here's mine:

Pros:

1. Fast enough for building any kind of solution
2. Ring notepad is extremely productive. GUI, CLI, Web and more, all in one site.
3. There's a lot of examples included in the Ring root folder so grab your favourite searching engine and start finding some cool stuffs
4. Natural programming is a perl for building DSL's
5. The language itself is relatively easy to learn.

Cons (very subjectives):

1. This is nonsense but I don't like the idea of several writing styles, It was kinda confusing at the beginning.
2. Allowing changing reserved words can create big conflicts for both collaborative and individual developments.
I think points 1 and 2 were added for the benefit of Ring's popularity but I think it would be better to show your idiomatic way of doing things instead of adopting someone else's.
 
3. Lack of named environments (namespaces) really bothers me when I'm working with medium/large codebases (adding prefixes for every identifier is a good choice in these cases).

Conclusion: there's no such "perfect" programming language in this world because everybody has different ways of viewing things and solving problems, so we need to "learn" to solve things the way our tools allow us to do it, in this case Ring's capability of solving problems in no time gives it a valuable point in this competitive ranking of programming languages.

So let's keep creating cool things guys!

regards!

Mansour Ayouni

unread,
Dec 2, 2022, 3:26:51 PM12/2/22
to Antonio F.S., ring...@googlegroups.com
Hello Antonio and Ilir,
Thank you for this nice discussion!
All the best,
Mansour

--

---
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,
Dec 2, 2022, 4:53:05 PM12/2/22
to Mansour Ayouni, ring...@googlegroups.com

A real pleasure. :-)

Thank you very much.

Best regards.
Antonio F.S.

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

El 2/12/22 a las 21:26, Mansour Ayouni escribió:
Reply all
Reply to author
Forward
0 new messages