🚀 What Harbour Needs to Become a Modern Language & Regain Clipper's Glory

860 views
Skip to first unread message

marcos...@gmail.com

unread,
Jul 28, 2025, 1:19:08 PMJul 28
to Harbour Users

Hey Harbour community! 👋 I asked an AI what we need to make Harbour competitive again, and here's the action plan it suggested. Let's discuss! 💬

🔥 7 Key Areas for Harbour's Modernization
1. 💎 Language Modernization
  • Native async/await for modern I/O ⚡

  • Enhanced OOP (interfaces, mixins) 🧩

  • Optional static typing (TypeScript-style) 🔍

  • Modern data structures (native JSON, collections) 📊

2. 🛠️ Ecosystem & Tooling
  • Official package manager (like npm/pip) 📦

  • Better C/C++ interop (FFI improvements) 🔗

  • Modern toolchain:

    • Cross-platform builds 🖥️📱

    • Integrated debugger 🐞

    • LSP support for VSCode 🔌

3. 🌐 Connectivity
  • Cloud SDKs (AWS/Azure/GCP) ☁️

  • Modern protocols (REST, gRPC, WebSockets) 📡

  • Database drivers 2.0 (ODBC/JDBC upgrades) 🗃️

4. 🤝 Interoperability
  • WebAssembly target 🕸️

  • Mobile toolchains (Android/iOS) 📱

  • Python/Node.js bridges 🐍⚡

5. ⚡ Performance
  • JIT compilation (LuaJIT-style) 🚀

  • True multi-core support 🧵

  • SIMD optimizations 🔢

6. 🎯 Strategic Niches
  • Legacy modernization (Clipper → Harbour) 🏛️

  • Financial apps 💰

  • Embedded systems 🏭

7. 🌱 Community Growth
  • Certification programs 🏅

  • Annual conferences 🎤

  • Showcase success stories 🏆

Code Example: Traditional vs. Modern Harbour

harbour
// Traditional 
FUNCTION Main() 
   ? "Hello World" // Classic simplicity! 
RETURN 

 // Modern vision async 
FUNCTION Main() 
   LET response := await fetchAPI() // Async power! 
    Console.log(`Data: ${response}`) // Template strings 
   TRY/CATCH errors
RETURN

📊 Comparison Table:


Feature                  Now               Future
Typing                Dynamic           +Static
Concurrency     Basic                  +Async/Threads
Tooling              Fragmented       +Integrated

💡 Top Recommendations:

  1. Keep Harbour’s soul (performance + xBase) ❤️

  2. Add modern features developers expect 🛠️

  3. Target niches where Harbour shines 💎

What do you all think? Which of these should we prioritize? Let’s brainstorm! 🧠💥

Angel Pais

unread,
Jul 28, 2025, 3:45:35 PMJul 28
to harbou...@googlegroups.com
So. When will you have it ready ?

--
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: https://groups.google.com/group/harbour-users
---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/30040857-8df8-434b-8b44-4807cc68a749n%40googlegroups.com.
Message has been deleted

Steve Litt

unread,
Jul 29, 2025, 4:58:46 PMJul 29
to harbou...@googlegroups.com
marcos...@gmail.com said on Mon, 28 Jul 2025 10:19:08 -0700 (PDT)

>Hey Harbour community! 👋 I asked an AI what we need to make Harbour
>competitive again, and here's the *action plan* it suggested. Let's
>discuss! 💬
>*🔥 7 Key Areas for Harbour's Modernization*

[snip massive honeydo list]

If I wanted a "competitive" language I'd use C or Python or Rust or Go
or some sort of Javascript enhancement. And I use those languages when
needed. Harbour? That's when you want a quick and easy application,
probably single user and maybe CLI, to access, manipulate, store and
produce from a simple database, hopefully with none of the password
junk. Just something with which I could do a 3 table CRUD application
in 1 day.

The enhancements you suggest would bury Harbour's greatest asset, quick
database applications where "works" is more important than "pretty" or
"hip", in a sea of stuff that's extraneous 99% of the time.

SteveT

Steve Litt

http://444domains.com

Antonio F.S.

unread,
Jul 29, 2025, 5:26:55 PMJul 29
to harbou...@googlegroups.com
Well, what a shame! You've reduced Harbour to the level of any old shoe.

Antonio F.S.

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

El 29/7/25 a las 22:58, Steve Litt escribió:

Steve Litt

unread,
Jul 29, 2025, 11:49:26 PMJul 29
to harbou...@googlegroups.com
marcos...@gmail.com said on Mon, 28 Jul 2025 10:19:08 -0700 (PDT)

>Hey Harbour community! 👋 I asked an AI what we need to make Harbour
>competitive again,

I thought some more about the advantages of "competitive", and see only
one: A large community to help each other. The large community helps
each person develop faster and better. One of the other things that goes
a long way toward improving development speed and quality is great
documentation.

So why don't you discuss with ChatGPT a simple Harbour tutorial to
start with Hello World, make a 1 table CRUD using DBF files, then a 2 or
3 table CRUD using DBF, then the 3 table using SQLite, and then the
same thin using MariaDB or Postgres. THEN, refer the person to
https://harbour.wiki/, https://www.kresin.ru/en/hrbfaq.html,
https://harbour.github.io/doc/clc53.html,
https://harbour.github.io/doc/harbour.html, and of course
https://harbour.github.io/doc/, knowing that person has working
knowledge of the very basics so he/she can understand the docs.

Steve Litt

unread,
Jul 29, 2025, 11:57:09 PMJul 29
to harbou...@googlegroups.com
If that's how you want to view what I said, then by all means, Harbour
is an old shoe.

But you know what? If I'm going to take a walk around the neighborhood,
I'd rather have a couple old shoes than AI connected, self-balancing
roller skates tethered to my phone, with retractable knee protectors,
variable shock absorbers, and 14 adjustable video and sound sensors and
crack and pebble sensors I have to learn to use on the app.

SteveT


Antonio F.S. said on Tue, 29 Jul 2025 23:26:45 +0200

cod...@outlook.com

unread,
Jul 30, 2025, 5:38:11 AMJul 30
to Harbour Users

What ChatGPT suggested for Harbour it can suggest for any other programming language, more or less.

ChatGPT suggestions is to have catch-all language. There is no such language, and it shouldn't exist.

Regards,
Simo.

victorcas...@gmail.com

unread,
Jul 30, 2025, 6:57:50 AMJul 30
to Harbour Users
IA?  😊
Con todo el respeto, cuesta mucho menos aprender javascript o python que ya llevan todo lo que pides que montarlo en HB, y soy programador de HB a diario. 😁
Salud!  👍

hmpaquito

unread,
Jul 30, 2025, 7:33:16 AMJul 30
to Harbour Users
So, based on what you're saying, Victor, the best thing for us is to abandon HB and switch to PY. And I wonder, shouldn't we strengthen HB? Shouldn't we improve the language with more advanced features, whether or not they are found in other languages? Nobody is saying, or so I interpret it, that all the improvements have to be made in two afternoons, but the journey of a thousand miles begins with a single step, as the proverb goes.

Angel Pais

unread,
Jul 30, 2025, 9:12:10 AMJul 30
to harbou...@googlegroups.com
80% of the things chatGPT suggested are already implemented in HB.
15% are nonsense / non xbase alike.


Mahmoud Fayed

unread,
Jul 30, 2025, 11:59:04 AMJul 30
to Harbour Users
Hello

Success is achieving a clear and specific goal and Harbour is designed to be a modern Clipper (or xBase) replacement to compile our MS-DOS programs so it can work on current operating systems like Windows/Linux/macOS, etc. This is what I understand from the original creators of such an amazing software when reading the Harbour documentation.

In the past I switch from Clipper to Visual FoxPro then to Harbour and I have used it for many years in many desktop database applications and encouraged more people to do this by distributing it with the PWCT software.

Bringing more language features to Harbour could be done at different levels
1- Modifying Compiler/VM implementation
2- Harbour Libraries + Preprocessor
3- C Extensions for Harbour

The second option is very simple and powerful enough to create beautiful domain-specific languages, and this could be done based on extensions (third option)
HarbourMiniGUI is an example about doing this.

In PWCT software, using these features, I developed a library to think about software as a group of servers where each server contains groups of units where data management looks like a chemical system, and our functions looks like resistance in an electrical circuit with branched that have switch's (on/off) that control functions execution in an event-driven system. And these servers could communicate together on one machine or over the network. The resistance (function code) could be written directly or generated using visual programming. Here I am not promoting such a complex idea (That I was thinking about 20 years ago). I am just saying that I implemented these concepts (Server, units, etc.) using Harbour Library & Preprocessor and the result looked very natural to me. This is one side of Harbour power. (Powerful & Natural Libraries).

Later when I created the Ring programming language (Which I am using now for my new projects), I tried to bring the spirit of what I learned from using Clipper, VFP, Harbour, etc. 

So, the power of a programming language like Harbour is not just about its implementation

1- The language could influence other programming languages (like Ring).
2- The language could be embedded in projects written in other languages (Good libraries for this are required).
3- The language could be used for developing beautiful domain-specific languages.

Being a popular programming language is not the same as being a GREAT PROGRAMMING LANGUAGE
Maybe Harbour is not very popular compared to other languages, but it's popular enough to find it at this good quality (stable & useful implementation)

Harbour design principles and quality attracted people who are very busy and want quick solutions to their today problems (like porting clipper code), and Harbour served them very well, but this is different from attracting open-source contributors who are going to contribute. ofcourse Harbour community have contributors but not enough number to bring popularity by developing many libraries.

When you look at a popular language, you may think it's popular because of the many features! so, you start to think about bringing these features to the Harbour language, but in reality, what make a language popular is the structure of the community and what they are doing (are they improving the language or just using what they have as it).

Just my ideas (I could be wrong).

Greetings,
Mahmoud   
Message has been deleted

Antonio F.S.

unread,
Jul 30, 2025, 12:39:24 PMJul 30
to harbou...@googlegroups.com
Hello Mahmoud.

It's a real pleasure to say hello to you here too, as I didn't know you
were on the Harbour user mailing list. :-) :-)

As always, your comments are so professionally serious and yet so easy
to read. Thank you very much for your explanations.

Warm regards.
Antonio F.S.

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

El 30/7/25 a las 15:57, Mahmoud Fayed escribió:

victorcas...@gmail.com

unread,
Jul 30, 2025, 12:45:53 PMJul 30
to Harbour Users
hmpaquito, I haven't said anyone should abandon HB; on the contrary, I said I use it daily. But I believe that extending Harbour to do the same things as other programming languages is what other programming languages are for. If we're programmers, it shouldn't take much effort to use other languages for new things. I'm not talking about rewriting our HB code; in my case, that's completely unfeasible.

Mahmoud Fayed

unread,
Jul 30, 2025, 12:45:53 PMJul 30
to Harbour Users
Hello Antonio

You are welcome :D

Greetings,
Mahmoud

Alex Strickland

unread,
Aug 1, 2025, 5:29:25 AMAug 1
to harbou...@googlegroups.com


On 2025/07/28 19:19, marcos...@gmail.com wrote:

Hey Harbour community! 👋 I asked an AI what we need to make Harbour competitive again, and here's the action plan it suggested. Let's discuss! 💬

🔥 7 Key Areas for Harbour's Modernization
1. 💎 Language Modernization
  • Native async/await for modern I/O ⚡


Daniele Campagna

unread,
Aug 4, 2025, 7:30:07 AMAug 4
to harbou...@googlegroups.com

Very interesting.

Harbour has threads, mutexes, background tasks and possibly timers. There is no distinction between synchronous and asynchronous functions IIUC. Async functions stop the execution of the current thread until end or timeout, and that's all. The entire program freezes if single-threaded.

It's up to the programmer to craft carefully the functions and build a system that keeps track and manages the threads, and that's not a simple task. Threads are executed concurrently in no particular order, so for example the instruction 1 of the thread 2 is executed, then the instruction 1 of the thread 1, then again a couple of instructions of the thread 2 and so on.

A good example is the web server uhttpd. 

OK, threads are Evil, in some opinions, because while they do work, in complex systems they can cause obscure bugs, etc. That's to say: don't do too much with threads AND have a queue manager. Small, well-defined threads designed to not interfere with anything other are OK.

Anyway, for those who don't want to mess with threads, I wonder if it could be feasible to define a class PROMISE in Harbour...

Let's imagine a syntax like this:

MainQueue :={}
APromise := asyncDo( "myAsyncFn" ,"CallbackOnFulfilled","Callback>OnRejected", <...>) // or use the functions pointers
@ 10, 10 say APromise:result //-> "Not Ready"
wait

Function asyncDo(cFn)
prom := PROMISE():new( cFn,cBackok,cBackko, <params> )
Return Prom

CLASS PROMISE
Method init(cFn)  INLINE queue(cFn) SYNC
VAR result := "Not Ready!"
VarCallBackFullfilled := ""
Var CallbackRejectd := ""
...etc

Function queue(cFn,params)
If (varius checks)
z:=startThread(cFn)
aadd(MainQueue,z)
... <other stuff>
endif
return nil

Function myAsyncFn (params)
local lFound := .f.
nHdl := fopen("bigtext")
while <not eof>
<fread a chunk>
If <patternfound>
lFound = .t.
exit
endif
enddo
fclose (nHdl)
return <lfound>

Just to say, eh! eh! Harbour is so low-level and high-level structured that on one side it is like a macro-C, on the other is a "glue" that can put together an UI (of choice) to database access and queries through external libraries or the integrated dbf management. Pretty unique.
Disclaimer: I don't know if what I said has a sense!... Just an old programmer's thoughts! :-)

Dan

--
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: https://groups.google.com/group/harbour-users
---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

alex;

unread,
Aug 7, 2025, 12:40:04 PMAug 7
to Harbour Users
Hi, all.
Thank you.

Good  discussion.
I hope we will continue such discussions in the future.

WBR, alex;
понедельник, 28 июля 2025 г. в 20:19:08 UTC+3, marcos...@gmail.com:

Cotswold GB

unread,
Aug 8, 2025, 10:00:03 AMAug 8
to Harbour Users
One problem is new users looking at Harbour and getting started. Anyone looking at Harbour for the first time will as likely as not abandon the idea.
The Harbour website is its worst advertisement. They will see the main website containing a huge amount of information that is 20 odd years old, with
no ability to search and filter. Scrolling is slow and is not searching. Confusing version numbers with 3.4 available but 3.2 is advised/preferred.  
Even the simple use of a mouse to change fields in a console screen is simply something a new user will never discover. I thought I'd incorporate a mouse
into a Harbour program but have never succeeded.  The Forum support for Harbour is also seriously out dated when compared to other forums. Are there 
not other improved but free forum applications out there?

Considering, or deciding on a GUI is no easier with similar names for different products. There are confusingly so many of them. One has a free offering
and a paid for version. If you can find out how to buy a copy of the paid for version, its features and price you've done better than me. Then there is HMG where
you have to email to have a user name accepted before you can download the software, or use the forum.  I have myself have requested acceptance possibly 
over five times without response. So you just give up and forget it, move on. 

Maybe someone should just pretend not to know anything about Clipper, or Harbour and start from there to create a few screens? Try to quickly find language
functions and commands from scratch.  It isn't easy and needs determination and lots of time. If I wasn't retired but in business and without any Clipper 
knowledge,  I would have quickly abandoned Harbour due to time and financial pressures.

Since 1998 I have developed and supplied database systems using MS Access. Before Access I used dBASE then Clipper and I did think that I could build on 
my earlier Clipper knowledge using Harbour to convert some of my MS Access software. That has looked highly unlikely for some time. Which is a pity because 
it is a far better language to use than VBA.

Having said that, why not have Harbour software as a low entry license instead of the obsession of everything being free? Who wouldn't pay say $50 for a
lifetime license and donate for updates? Why shouldn't someone get paid for creating an easy to install Harbour based system?  Maybe there is a financial model 
that works without monthly or annual fees?  Plus as I have said, the main Harbour website and forum are terrible adverts.

Maybe effort should be given to finding new users by improving the website and forum before thinking about adding new language updates?

I have tried to avoid being critical but these are my observations and opinions from my experience as a new user to Harbour but an old Clipper user in answer to 
the posting #1 by Marcos. 

Antonio F.S.

unread,
Aug 8, 2025, 11:14:25 AMAug 8
to harbou...@googlegroups.com
Hello.

First of all, thank you very much for your accurate assessment of Harbour.

When I discovered Harbour a few years ago, I raised nearly all the same
points you've outlined in your post on this forum shortly after seeing
the state of the website, updates, etc. But I was either met with
silence or responses that, in my opinion, were rather unfortunate
regarding the language's evolution.

For years, I tried in various ways to encourage the very improvements
you're advocating for today. However, faced with such overwhelming
apathy on the matter, I eventually decided to switch to Ring. Not only
did I find an excellent language (which its creator acknowledges was
influenced by Harbour and others), but also a user community that, while
not large, is of exceptional quality and commitment.

This is precisely what will happen—as you rightly pointed out—to anyone
who approaches Harbour and sees its website with such glaring
chronological discrepancies, even for basic updates. And this is despite
the fact that we're no longer young (I'm 63 myself).

Best regards,
Antonio F.S.
---------------------------------------------------------------

El 8/8/25 a las 16:00, Cotswold GB escribió:

alex;

unread,
Aug 8, 2025, 11:28:44 AMAug 8
to Harbour Users
Not bad. A more advanced forum for Harbour developers and users is a great idea.

пятница, 8 августа 2025 г. в 17:00:03 UTC+3, Cotswold GB:

alex;

unread,
Aug 8, 2025, 11:45:03 AMAug 8
to Harbour Users
Anyone who uses Harbour can contribute. I think with the development of AI, we have received huge potential for the development of the language and its interaction with other tools. We can use all the developments of the coolest developers Alexander Kresin, Viktor Szakats, Aleksander Czajczynski, Antonio Linares, Grigory Filatov, Carles Aubia and many others. For example, adapt HDroidGUI to Flutter + Dart + Harbour. And the UT project is super. So yes, first of all we need to discuss the changes from Viktor and get version 3.2 Stable? So we need an advanced forum?

пятница, 8 августа 2025 г. в 18:28:44 UTC+3, alex;:

alex;

unread,
Aug 8, 2025, 11:55:34 AMAug 8
to Harbour Users
I'm a student of software analysis & concepts how Pritpal. And I love xBase ;o)
And sooner or later, everyone will find answers to their questions
. WBR, alex.
пятница, 8 августа 2025 г. в 18:45:03 UTC+3, alex;:

Francesco Perillo

unread,
Aug 9, 2025, 3:08:18 AMAug 9
to harbou...@googlegroups.com
Hi, I missed your post and read it only now when, after reading a new reference to the Ring language by Antonio, I went to read about it in wikipedia and saw your name.

First of all congratulations for the Ring language and its ecosystem (libraries, community, groups, etc) that you were able to build.

You were able to reach this point probably due to the fact that you are the language creator, probably were the main (or only) developer, and as the BDFL (Benevolent Dictator For Life) could set your and the language goals with no "prior-art" to adhere to.

> Success is achieving a clear and specific goal and Harbour is designed to be a modern Clipper (or xBase) replacement to compile our MS-DOS programs so it can work on current operating systems like Windows/
> Linux/macOS, etc. This is what I understand from the original creators of such an amazing software when reading the Harbour documentation.

Harbour had a well defined goal, full Clipper compatibility, and I believe it reached that goal. I consider its core and rtl to be "stable" now.

> Harbour design principles and quality attracted people who are very busy and want quick solutions to their today problems (like porting clipper code), and Harbour served them very well, but this is different from 
> attracting open-source contributors who are going to contribute. of course Harbour community have contributors but not enough number to bring popularity by developing many libraries.

Harbour attracted, as you said, a lot of people whose primary interest was to run old Clipper code to new versions of Windows (99% of Harbour users are on windows...) and they are smart programmers creating terrific vertical applications, almost all of them using DBF as their main database layer. They are not interested in language theory or compiler internals, they need a solid and proven language to build on. They use what I call a "batteries-included Harbour distribution" (note 1) like HMG / HMG Extended, where a c compiler, harbour, and a set of libraries are included - asking them to self-build Harbour is probably like asking them to run a ultra marathon.

They are probably developing libraries, everybody does, but specific for their domain or their programming style; they are probably tied to their specific environment, can't be open-sourced without major refactoring. Probably these libraries are also the core value of the application.

I just had a cursory look at the Ring external libraries and I saw that Harbour list is similar. Being a BDFL allows you list all the external libraries on the main site. I'm sure that there are a lot of Harbour libraries scattered all over the internet ready to be used, some on github, some on private repos, some in source form, others compiled.

Unfortunately, Harbour has the addons directory ready to receive external libraries but not a package manager.

> When you look at a popular language, you may think it's popular because of the many features! so, you start to think about bringing these features to the Harbour language, but in reality, what make a language 
> popular is the structure of the community and what they are doing (are they improving the language or just using what they have as it).

I agree 100%. And we need a BDFL or a very restricted group of people (3 to5 people) that takes care of Harbour future.

Francesco

Note 1: the Harbour nigthly build is a "batteries included Harbour distribution" but limited to the core Harbour, plus some standard libraries included in the Harbour repository.

Francesco Perillo

unread,
Aug 9, 2025, 3:11:12 AMAug 9
to harbou...@googlegroups.com
Can you please tell me which is the website you are referring to ?

On Fri, Aug 8, 2025 at 4:00 PM Cotswold GB <cotsw...@gmail.com> wrote:
One problem is new users looking at Harbour and getting started. Anyone looking at Harbour for the first time will as likely as not abandon the idea.
The Harbour website is its worst advertisement. They will see the main website containing a huge amount of information that is 20 odd years old, with
no ability to search and filter. Scrolling is slow and is not searching. Confusing version numbers with 3.4 available but 3.2 is advised/preferred. m.

Francesco Perillo

unread,
Aug 9, 2025, 3:22:40 AMAug 9
to harbou...@googlegroups.com
Hi Antonio,
are you able to take Clipper code and have it up and running in a few hours in Ring ? Can you access DBF/NTX files ?

It is a real request, I just read the wikipedia Ring page and I could not find any reference to this.

I saw a list of libraries that can be used with Ring and it is not very different from the libraries you can use with Harbour. Ring libraries are listed on one page, Harbour libraries are in the main repos and the scattered all over the internet... unfortunately...

Antonio F.S.

unread,
Aug 9, 2025, 5:02:00 AMAug 9
to harbou...@googlegroups.com
Hello Francesco,

Although I'm still learning the language, I'm beginning to realize that
with Ring, you can have code up and running in very little time. Its
syntactic flexibility, libraries, tools, and—above all—a community that
is both kind and remarkably efficient at providing quick responses prove
this to be true.

Regarding DBF/NTX files, I don’t know if Ring has the capability to
handle them. Since the creator of Ring is also a member of this mailing
list, perhaps he could answer you directly if he considers it appropriate.

The difference in libraries, documentation, etc., between Ring and
Harbour is that the former demonstrates masterful organization and
up-to-date resources in every aspect compared to the latter.

Best regards,
Antonio F.S.

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

El 9/8/25 a las 9:22, Francesco Perillo escribió:

Mahmoud Fayed

unread,
Aug 9, 2025, 5:46:55 AMAug 9
to Harbour Users
Hello Francesco

>> "First of all congratulations for the Ring language and its ecosystem (libraries, community, groups, etc) that you were able to build."

Thank you very much for your kind words :D

>> "are you able to take Clipper code and have it up and running in a few hours in Ring?"

Ring is not designed to be Clipper/Harbour/VFP replacement (i.e. compatibility is not a design goal)
This chapter in Ring documentation introduce the motivation:  Introduction — Ring 1.23.0 documentation

Summary of these resources: 
1- Ring is a language designed to be simple and productive. The language comes with customization features that enable us to create embedded domain-specific languages (based on Ring features) but could looks like CSS, QML (Nested structures) or Natural commands (SQL, Supernova, xBase, etc.) - i.e. instead of using preprocessor to define new syntax, the language features enable this during runtime. Also, the keywords/operators could be translated to non-English syntax.
2- Ring comes with lightweight implementation like Lua while having many futures including support for object oriented, classes, etc. The same Ring implementation for Compiler/VM which is based on ANSI C could be used in Desktop or Microcontrollers like Raspberry Pi Pico (instead of using separate implementation like MicroPython for Python or mRuby for Ruby). This lightweight implementation comes with more advantages (Less and understandable code --> Could lead to better stability and less bugs & requires a smaller number of developers to develop/maintain). 
3- Ring memory management system is deterministic, and scope based. Using references is possible (through reference counting & cycle detection) but Ring is designed to reduce references usage. Ring VM doesn't have global-interpreter-lock (No-GIL) and threads could work in parallel in CPU-bound tasks to improve the performance.
4- Many libraries/samples come with the language, and they are fully tested with each new release. We provide a package manager and lightweight release too. 
5- Most of these libraries are based on wrapping C/C++ libraries through a code generator written in Ring. Then Ring code could be added on top of this, so the library looks more simple/easy to use.  
 

>> "Can you access DBF/NTX files?"

Ring comes with libraries for sqlite, mysql, postgresql and ODBC.
Through ODBC we could get access to DBF files (not the ideal way to go)
Using C/C++ extension, interested developers could add libraries that support DBF
Resources about extending Ring using C

During Ring development, I have applied a lot of lessons that I learned from the Harbour project and the great developers behind it.
1- Keeping the language simple and productive
2- Simple/powerful functions that can be used directly
3- Not case sensitive, list index starts from 1, calling functions before definition, etc.
4- Natural commands (but through libraries instead of pre-processor)
5- Simple C-API to extend the VM 
6- Using code generator for extensions when this is possible/necessary

Greetings,
Mahmoud

Cotswold GB

unread,
Aug 9, 2025, 5:58:19 AMAug 9
to Harbour Users
@Francesco F.S.
The website I was referring to was harbour.github.io  

Cotswold GB

unread,
Aug 9, 2025, 6:10:39 AMAug 9
to Harbour Users
 @Antonia F.S.
Many thanks for that. I did notice references to Ring in earlier posts but didn't pay much attention.
I was about to start to look at VUE.js but will instead spend some time on Ring to assess it for my needs.
Ring's support of Raspberry Pi was of particular interest as in the long term I see myself moving from 
Windows due to the increasing intrusions.  Presumably Windows12 will be the first AI OS . 

A few years ago I did spend quite a lot of time using PureBasic but it turned out to be a real dead loss
for serious database applications. MS Access is an excellent RAD database solution which has had nearly
30 years of continuous development. One slight problem which can be easily managed is that it relies on
SMB (Server Message Block) protocol, which is the basis of Windows File Sharing (and Printer Sharing).
That cannot work on Wi-Fi, or suffer intermittent FE/BE links. Its native databases can be up to 2GB in size,
are sound and reliable and it has probably the largest user base for any database software.
Before retiring I had many Access sites some with remote depots and 80+ users operating every day recording
orders and creating invoices without any issues.
I will add that I do not advise the Access database to be used as a BE in Harbour/Clipper applications.

I'll drop a note on this Thread on my progress with Ring (if I remember of course!)
Regards, Vincent

p.s. since typing this I have seen the above posting from Mahmoud which I found very interesting.

Antonio F.S.

unread,
Aug 9, 2025, 6:22:13 AMAug 9
to harbou...@googlegroups.com

Hello Vincent,

It's a pleasure to exchange thoughts like this.

I was tempted to invest my time and effort into PureBasic (SpiderBasic for the web), but something held me back. Interestingly, your comments now confirm my hesitation.

Indeed, Mahmoud explains things masterfully. Even at 63 years old, I still hope to learn much from him and the members of the official Ring forum.

Best regards,
Antonio F.S.

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

-------- Mensaje reenviado --------
Asunto: Re: [harbour-users] Re: 🚀 What Harbour Needs to Become a Modern Language & Regain Clipper's Glory
Fecha: Sat, 9 Aug 2025 03:10:38 -0700 (PDT)
De: Cotswold GB <cotsw...@gmail.com>
Responder a: harbou...@googlegroups.com
Para: Harbour Users <harbou...@googlegroups.com>

Francesco Perillo

unread,
Aug 9, 2025, 7:10:55 AMAug 9
to harbou...@googlegroups.com
That web site is actually a github repository that can be forked and PR created. I had a look and actually there are several outdated informations.

--
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: https://groups.google.com/group/harbour-users
---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Cotswold GB

unread,
Aug 10, 2025, 6:24:30 AMAug 10
to Harbour Users
I have been using Harbour on and off for over three years and have always assumed that harbour.github.io  was the main Harbour website.

Angel Pais

unread,
Aug 12, 2025, 1:42:31 PMAug 12
to harbou...@googlegroups.com
First things first.
It's vital to recover the control of the page in  harbour.github.io  
It needs serious updating.

Francesco Perillo

unread,
Aug 12, 2025, 1:47:41 PMAug 12
to harbou...@googlegroups.com
The source code for the website should be this one

I don't know it it automatically updates after a commit or if you need to run something...

Antonio F.S.

unread,
Aug 12, 2025, 1:57:09 PMAug 12
to harbou...@googlegroups.com

On the official website, you just need to press the "Improve this page" button, and it will take you to the corresponding HTML file.

Best regards,
Antonio F.S.

El 12/8/25 a las 19:47, Francesco Perillo escribió:

Angel Pais

unread,
Aug 12, 2025, 1:59:13 PMAug 12
to harbou...@googlegroups.com
You mean anyone can make a pull request?
Then who commits it?

Ranting...

Reply all
Reply to author
Forward
0 new messages