Softanza vision realised!

62 views
Skip to first unread message

Mansour Ayouni

unread,
Oct 31, 2025, 6:34:07 PMOct 31
to The Ring Programming Language
Hello All,

When I started Softanza five years ago, I wasn’t just building a library for Ring — I was shaping a manifesto for natural computing, where programmers can speak to machines in their own human language, and Softanza simply runs their thoughts as code.  

image.png

What you see here is no longer a prototype, but a fully functional implementation, ready to be extended to any world language — all by adding a few entries to a configuration dataset that’s completely independent of the source code.

Since this example is about Niamey, Niger, where people speak several native languages, let’s see the exact same program in Hausa — one of the most widely spoken languages in the region.


image.png

Notice the speed: it runs even faster than the English version, with no complex NLP or ML machinery, and no costly LLM calls. Just clean algorithms that run locally, making computers human-friendly — for free.

The Hausa language, by the way, supports more than the Latin alphabet we used above (known as the Boko script). Here’s the same code written in its Arabic script — called Ajami:


image.png

This shows something extraordinary: multicultural teams can now code together, each using their native language, inside the same codebase!

And if your only language is English, don’t worry — you can simply inspect the internal code automatically generated by Softanza to understand exactly what each natural-language expression means.

image.png

Finally, you might wonder — why Niamey? why Hausa?
Well… I hope you’ll get the exciting answer later this week — and it’s something truly special for Ring, Softanza, and all of us.  

All the best,
Mansour

Liam OBrien

unread,
Nov 1, 2025, 6:39:20 PMNov 1
to The Ring Programming Language
Good work, Mansour! Well done! 

Mansour Ayouni

unread,
Nov 1, 2025, 7:07:21 PMNov 1
to Liam OBrien, The Ring Programming Language
Hello Liam,

Thank you very much for your message!

All the best,
Mansour

On Sat, 1 Nov 2025 at 23:39, Liam OBrien <celtic...@gmail.com> wrote:
Good work, Mansour! Well done! 

--

---
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 visit https://groups.google.com/d/msgid/ring-lang/67928731-dffc-48cf-9795-39433dd44e3fn%40googlegroups.com.

Mahmoud Fayed

unread,
Nov 7, 2025, 7:39:59 AM (11 days ago) Nov 7
to The Ring Programming Language
Hello Mansour

Looks like a nice progress, and I like that you are using the Natural Commands :D

Greetings,
Mahmoud

Mansour Ayouni

unread,
Nov 7, 2025, 8:13:52 AM (11 days ago) Nov 7
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

I'm happy you get some well-deserved rest — and happier to see you back!

Your work on Ring NaturalLib has been an inspiration to me. In fact, it was one of the main reasons I chose Ring as my programming language for the rest of my career.

When I began shaping my vision for Natural Programming in Softanza, I followed my usual approach: first, I explored how much I could build upon what already exists in Ring — even if it meant enriching or extending it myself.

Over time, I realized that our two visions differ by design. That’s why I decided to build my version from the ground up, based on what I had already developed in Softanza. You’ll get a clearer idea of this distinction in this article:
👉 https://github.com/mayouni/stzlib/blob/main/libraries/stzlib/base/doc/narrations/stznatural-vs-ring-naturallib.md

Still, I truly hope you’ll revisit NaturalLib and continue its development — so we can all see more of the brilliant ideas you’ve imagined but haven’t yet had time to implement.

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.

Mahmoud Fayed

unread,
Nov 7, 2025, 8:46:49 AM (11 days ago) Nov 7
to The Ring Programming Language
Hello Mansour

>> "I'm happy you get some well-deserved rest — and happier to see you back!"
>> "Still, I truly hope you’ll revisit NaturalLib and continue its development — so we can all see more of the brilliant ideas you’ve imagined but haven’t yet had time to implement."

In reality the reason behind my vacation was to focus on improving the NaturalLib, Which I did during the last 30 days :D
The improvements include (better performance, reducing Eval usage to avoid the need for source files during runtime, etc.)
These improvements will become online in Ring GitHub project soon :D

Greetings,
Mahmoud

Mansour Ayouni

unread,
Nov 7, 2025, 8:50:18 AM (11 days ago) Nov 7
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

I'm thrilled to know we were both occupied by the same subject, every one in its corner of the world!

Waiting for your updates...

Best,
Mansour

Mahmoud Fayed

unread,
Nov 7, 2025, 9:13:16 AM (11 days ago) Nov 7
to The Ring Programming Language
Hello Mansour

My updates are around specific goal which is having a practical library that encourage us to develop many domain-specific languages similar to (Supernova, xBase, SQL, etc.).

(1) I started with performance improvements, having the ability to execute tens of thousands of natural commands per second (DONE), which required rewriting a lot of the library implementation, improving the performance of some Ring functions like addmethod(), mergemethods(), etc.

(2) I updated the API to provide another one (optional) that enable us to define/install the commands without using eval() and load command during runtime, this is important so we can have executable file for our DSL that doesn't need source code files during runtime

(3) The most important lesson is knowing that we have three modes to use our domain-specific language that we will create

3.1 The first mode is using braces to access an object that define the DSL and new commands
In this case we can mix Ring statements/commands with our DSL commands
For example, we can use Ring control structures like (for-loop, while-loop, etc.) and the new statements
This situation requires that the new DSL doesn't conflict with Ring syntax/keywords

3.2 The second mode is using a String to pass the code written in the new DSL, in this case it's easier for the DSL to change Ring keywords/operators before executing this string, this gives us the ability to have any customized syntax and conflicting with Ring syntax is not a problem
But in this case using Ring statements/commands is not allowed (it can be used by the syntax is changed so it's not expected to be used)

3.3 The third mode is like the second mode but with few changes to Ring syntax, this enable us to get a solution in the middle, i.e. customized syntax with the ability to use Ring syntax too (modifications are very little)

The NaturalLib API is improved to enable creating/using DSL with having the option to use any of these three modes.

(4) An important feature when developing a DSL, is how this DSL will get (input) from other code (host program - Ring code) - if you access your DSL using an object and braces (Mode 1), Then you have access to local variables (problem solved)
But in Mode (2) and Mode (3) where we pass a string that contains our code, passing variables is a question, if we did that using (string replacement, substr(), as we do with SQL statements, or as we do with HTML templates, etc.) - The code will not look natural, So I worked on solving this problem by enabling the called method in the DSL that will execute the code string to access the scope of the caller (As we have in Ring debugger where the debugger can access the scope of other functions and execute code in this scope).

Development Status:
Point (1) ---> DONE
Point (2) ---> DONE
Point (3) ----> DONE
Point (4) ----> Will be finished very soon (before 2025.11.20) 

Once I finish point (4), the code will be shared in GitHub, and after that I will focus on developing some DSL to make Ring programming more natural and more fun :D
Because this is one of the main goals behind the language design.

Greetings,
Mahmoud

Mansour Ayouni

unread,
Nov 7, 2025, 10:20:17 AM (11 days ago) Nov 7
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

FASCINATING!
Demonstrates a sense of beauty, practicality and strong design.

All the best,
Mansour

Mahmoud Fayed

unread,
Nov 7, 2025, 10:51:52 AM (11 days ago) Nov 7
to The Ring Programming Language
Hello Mansour

You are welcome :D

Greetings,
Mahmoud

Reply all
Reply to author
Forward
0 new messages