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

269 views
Skip to first unread message

Marcos Jarrin

unread,
Jul 28, 2025, 6:38:37 PMJul 28
to Harbour Developers

👋 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! 🧠💥

Antonio F.S.

unread,
Jul 29, 2025, 11:59:17 AMJul 29
to harbou...@googlegroups.com

Hello Marcos.

Your message reminded me of one I posted on this forum a long time ago. But all I got was silence or the odd response, with no real interest in the topic.

I am already part of the older generation when it comes to programming (I am 63 years old) and although I am eager to do something as wonderful as what you are proposing, I lack knowledge not only of Harbour, but also of compilers and related topics to carry out improvements such as those you mention.

I think it is a very interesting topic given the potential of Harbour, as it is a language that should be better known. I think what is needed are people with strength and conviction, as well as commitment.

In any case, it will not be easy for you to form a working group as is necessary to address your suggestions, let alone carry them out.

I sympathize with your concern.

Cheers!
A big hug.

Antonio F.S.

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

El 29/7/25 a las 0:38, Marcos Jarrin escribió:

Francesco Perillo

unread,
Jul 29, 2025, 1:21:52 PMJul 29
to harbou...@googlegroups.com
Antonio, Marcos,
I don't want to sound unpolite but the message generate by a IA is just a list of points that have no real value.

Did you read it carefully ? Have you tried to understand what should be changed to the compiler and the runtime library to accomplish the proposed changes ? Who should do this multi-year long coding job for free just because a AI suggested it ? Are you will to finance the developers with not less than 30k euro for just a part of the changes ?

You wrote "Let's discuss" .... probably it is not the discussion you wanted to have :-)

Francesco

PS: a couple of days ago I was browsing a harbour related forum and someone posted a AI generated message listing some harbour features; as a reply there was an AI generated errate corrige ... unfortunately the errata changed some points from correct to wrong :-))))))

--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/harbour-devel/ba0b6725-4776-4a54-b8f8-1a8ee429189e%40gmail.com.

Bacco

unread,
Jul 29, 2025, 1:24:41 PMJul 29
to harbou...@googlegroups.com
I hope it doesn't sound too harsh, but that list perhaps is
a fruit of some misconceptions about Harbour purpose..

Harbour already does a lot of what's in that list, perhaps
people don't know it because it does in a way different
of current trending languages do (and I think that Harbour
does it better in some aspects).

if Harbour becomes similar with JS, Rust, and so on, I
can't see why use it. Probably it's easy to simply switch
language. I assume Harbour users use it because what
it is and does.

Harbour is excellent for what it's made, and for what its 
not made if you know what you do. (I'm using it for a car
HUD, a realtime GPS tracker server that works with
thousands of simultaneous connections, and a lot of
applications that aren't for the exact profile of the
language, it's just a matter of understand where
and how to use it, and embrace it's limits and
sometimes find new ways to enhance it for your
specific task as it is open source)

Another point: asking LLMs for such things that LLMs
don't understand is not so useful (current chat models
are just very enhanced text completion mechanisms)
so I believe that such threads just geneate a lot of noise.

Side note: we banned AI answers on Stack Overflow
because of the naive or even wrong content it generates.

This group alread has a lot of more grounded discussions
about possible/desirable language enhancements with
real benefits, as compile-time type checking, a lot of
possible compile time optimizations, tooling and so on,
even compiler rewriting to solve some licensing issues
so I suggest a search/browse in the web version of the
mailing list to anyone with such interests.

PS: I'm not against providing some contribs and
optional libs for some itens on the list, but probably as
addons, so they don't become a burden for the vast
majority of users that don't need and don't care with
trends.

Regards,
Bacco














--

Antonio F.S.

unread,
Jul 29, 2025, 1:31:17 PMJul 29
to harbou...@googlegroups.com

Hello, Fancesco.

It's not about being rude, but about believing in an idea, in a project that benefits oneself and, at the same time, benefits others.

Examples: Nim, Ring, Gambas...

I don't think it's about investing money, but about sharing knowledge and having fun at the same time, creating.

Best regards.
Antonio F.S.

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

El 29/7/25 a las 19:21, Francesco Perillo escribió:

Antonio F.S.

unread,
Jul 29, 2025, 1:38:18 PMJul 29
to harbou...@googlegroups.com

Hello Bacco.

In other words, and obviously when this generation that uses Harbour retires: “Rest in peace, Harbour.” :-)

Best regards.
Antonio F.S.

P.S.:
Examples of languages that, thanks to people who proposed them, such as Marcos, and others who accepted the challenge, are still very much alive today: Fortran and Cobol.

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

El 29/7/25 a las 19:23, Bacco escribió:

Francesco Perillo

unread,
Jul 29, 2025, 1:41:48 PMJul 29
to harbou...@googlegroups.com
Hi Carlos

On Tue, Jul 29, 2025 at 7:24 PM Bacco <carlo...@gmail.com> wrote:

Harbour is excellent for what it's made, and for what its 
not made if you know what you do. (I'm using it for a car
HUD, a realtime GPS tracker server that works with
thousands of simultaneous connections, and a lot of
applications that aren't for the exact profile of the
language, it's just a matter of understand where
and how to use it, and embrace it's limits and
sometimes find new ways to enhance it for your
specific task as it is open source)

It would be great to have some samples about these vertical projects...
 

PS: I'm not against providing some contribs and
optional libs for some itens on the list, but probably as
addons, so they don't become a burden for the vast
majority of users that don't need and don't care with
trends.

Harbour strenght is its multiplatform nature (despite what IA thinks) and adding a library in contrib is a real burden since it must be updated and tested for every OS/compiler/version combination.

It would be great if we can have a package manager so that we can have the library on its own repository and you can bin them to a specific version.

Francesco Perillo

unread,
Jul 29, 2025, 1:49:39 PMJul 29
to harbou...@googlegroups.com
You can't put Fortran/Cobol on the same level of Harbour.

The best fortran compilers are commercial. My pay slip is calculated by a cobol program downsized from a mainframe and I can assure you that the compiler and the environment it runs on are quite expensive.

We don't need a new language, we need young programmers willing to keep developing our code base. Do you think they are not a thing due to the language? Or the really few jobs?

As I said in a previous post, there are 2 different skillset between the harbour programmers. Very few (5? 10?) can push working code to the compiler, almost all the other are great LOB programmers, able to create fantastic executable to solve difficult problems but are not able to read one line of c code... Both are programmers, just different kind of programmers....

--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.

Bacco

unread,
Jul 29, 2025, 1:56:12 PMJul 29
to harbou...@googlegroups.com
Hi, Francesco

> It would be great to have some samples about these vertical projects
About the HUD, it's for personal use, a mix of Harbour, RLGL (from Raylib)
but probably at some moment I can share some videos (not in this thread,
perhaps in the users group).
About GPS tracker, it's a commercial and private product, but I don't mind someday
to share tips about how to do the 'async' part (that is native to sockets in general
and Harbour deal with it gracefully)

> adding a library in contrib is a real burden since it must be updated and tested for every OS/compiler/version combination
I agree, I meant 3rd party addons, not the main repo

> we can have a package manager
That enters in what I called 'tooling' in previous message, and I firmly agree with you. Probably I myself would
contribute with packages, since I already mantain a particular repo for some friends and colleagues that are
Harbour 'aficcionados'.

Regards,
Bacco









--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.

Antonio F.S.

unread,
Jul 29, 2025, 2:11:55 PMJul 29
to harbou...@googlegroups.com
Open source Fortran:
http://www.opencoarrays.org/

Open source COBOL:
https://gnucobol.sourceforge.io/

I programmed management with Fortran for decades. Also with COBOL.
However, Harbour may indeed be more similar to Fortran than to COBOL. In
any case, your opinions are too inflexible on this matter.

On the other hand, I believe that we are not talking about a new
language here, but rather about enhancing Harbour and modernizing it. As
for there being few people who are qualified and willing to do so, I
agree with you.

Best regards.
Antonio F.S.

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

El 29/7/25 a las 19:49, Francesco Perillo escribió:

Francesco Perillo

unread,
Aug 1, 2025, 8:32:48 AMAug 1
to harbou...@googlegroups.com


> we can have a package manager
That enters in what I called 'tooling' in previous message, and I firmly agree with you. Probably I myself would
contribute with packages, since I already mantain a particular repo for some friends and colleagues that are
Harbour 'aficcionados'.


It would be great....



Regards,
Bacco




Diego Pego

unread,
Aug 11, 2025, 11:54:58 PMAug 11
to Harbour Developers

Hey! I’ve put together a prototype for exhaustive pattern matching in Harbour, using pure Harbour and PP pragmas. The main idea is to have the compiler raise an error when a match (currently syntactic sugar for DO CASE) doesn't cover all possible cases for a given type.

You can check it out here:
https://github.com/diegopego/harbour-core/tree/master/contrib/diego

If you’re not familiar with exhaustive pattern matching, it ensures that all possible cases are handled explicitly at compile time. For a quick overview, these links give good context:

I’d love to hear your thoughts and feedback!

Алексей Запольский (alex;)

unread,
Aug 12, 2025, 1:36:10 AMAug 12
to Harbour Developers
Hi, Diego.

This looks like lint.
Or I'm wrong?

WBR, alex;
вторник, 12 августа 2025 г. в 06:54:58 UTC+3, Diego Pego:

Bacco

unread,
Aug 12, 2025, 11:18:58 AMAug 12
to harbou...@googlegroups.com
Shouldn't this code examples be posted to
the user's group instead, since they aren't parte of
the core development itself?

i think all good code is very interesting and useful,
and would have more reach if posted there (also
reducing noise on the core development list itself).

Unless I misunderstood and it's another proposal to
implement this same code on main repo.

Just my 2 cents... see my comments above at the
beginning of this thread.












--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.

Bacco

unread,
Aug 12, 2025, 11:24:53 AMAug 12
to harbou...@googlegroups.com
I mean, not only the links, perhaps some
samples inline, so users can understand the
benefits and how to use without even accessing
the repo (samples inline on the users group,
i mean, here, links are better if not about the
core/main repo itself)

Diego Pego

unread,
Aug 12, 2025, 9:09:19 PMAug 12
to Harbour Developers
No. It generates error at at compile time. It is a prototype that demonstrates both the power of having  exhaustive pattern matching and the power of the PP. Nonetheless I think that  exhaustive pattern matching should be looked with care because of it's enormous potential.
The code runs. try it. If anyone wants to know more, I'm up to a video conference.

Please, keep the questions comming.

cheers!

Bacco

unread,
Aug 12, 2025, 9:38:06 PMAug 12
to harbou...@googlegroups.com
> "It generates error at at compile time"
Thanks for clarification.
Perhaps I misunderstood something.



--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages