Perspectives - xBase, Harbour, Clipper, dBASE and so on

567 views
Skip to first unread message

tarpauwatratar

unread,
Sep 9, 2026, 6:30:44 AMSep 9
to Harbour Users

One of my customers - the only one working with Harbour 3.2 + Mediator + some older things including dBASE IV - decided to take a step into the 21st century by rewriting the software using C#.

Another company, which I know, used almost only Clipper and because it lost all contracts a few years ago, the company decided to declare liquidation.

Well... it looks like the end for me on the market. At least in xBase. That's why I would like to ask you about perspectives, any open positions and so on. Do you see any future in Harbour? Or are you just waiting for retirement?

nikk...@gmail.com

unread,
Sep 9, 2026, 8:21:12 AMSep 9
to Harbour Users
i do not know how old are you, i'm youth ;-), i'm only 66 years old, and i develop software for my self in spare time, even if my job is informatics related,

my little opinion, software market step by step, is going to service, best known SAS, software as a service, so in my opinion the best way to stay in the 21 century is devoloping sofware using HIX by Charles Arubia or mod_harbour_v2, you can use harbour for frontend and backend mixed with a little of html, css, yavascript. and sql databases, so your programs can works from mobiles to desktop and servers.

a my little advice :

N E V E R   G I V E  U P.

regards

Domenico

cod...@outlook.com

unread,
Sep 9, 2026, 9:42:59 AMSep 9
to Harbour Users

Sir, can you explain in more details why did Clipper caused the loss of all contracts ?

In my life I have seen many times that some company want to change Clipper/Harbour program not because it works bad, but because company wants "modern" GUI visual look. That sort of requests usually do not come from people who use application, but from upper management who even do not understand place and impact of current Clipper application in that company.

Even today I have good working Harbour applications where (in may case small) companies who use it  do not even think to change anything as applications do job for them.

Most approved requirement is when in company arises need for web application. It justifies shift to some new programming tool. But even in that  situation we have UT Project as Domenico mentioned.

Thank you.

Best Regards,

Simo.

Francesco Perillo

unread,
Sep 9, 2026, 1:00:56 PMSep 9
to harbou...@googlegroups.com
Unfortunately it doen't mind what you want to do but what the clients want.

Go in a bar/pub, at least 50 people, and ask if a C#/java/javascript/python programmer is in the room. Then go to a stadium during a big match and ask if a clipper/harbour programmer is present.

If I were a CEO of a company, I'd ask for  core common language to be used, despite I wrote very hand-crafted, highly specialized, LOB software that allows a company to do its job succesfully.

I don't want to be their SPOF, I don't want to create problems if I'm hit by bus. 

It's not the interface, it's not TUI vs GUI vs Web.... the real problem is who will adapt the software if a change is needed ?





--
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/b663c5c2-4dd2-4512-a0ae-12d2acaa2e61n%40googlegroups.com.

cod...@outlook.com

unread,
Sep 9, 2026, 1:46:02 PMSep 9
to Harbour Users

You are right Francesko, client is boss. It is up to him to decide.

But there are axamples where Clipper/Harbour applications are developed by small company with several employees, not only one. So there are programmers who will maintain the application. I am in small companies world, not talking about medium and big business folks.

Migrating to new platform is not easy task. And is not cheap. We small make custom-tailored suits (apps). Big software companies sew off-the-rack suits, and then you have to squeeze yourself into one. For much bigger money. Especially are expensive when client needs some specific functionality. Not to mention the speed of response to requests. Our clients know that.

Today we have Fortran and Cobol applications that still works, because they are robust and reliable. And somehow still there are  Cobol programmers.

And last, today with AI tools we can make apps in any language. At least AI companies advertise themselves in that way.

Best Regards,

Simo.


tarpauwatratar

unread,
Sep 10, 2026, 4:31:38 AM (14 days ago) Sep 10
to Harbour Users

It's not about "Clipper causing the loss of all contracts." It's more about, like you described, "the company wants a 'modern' GUI visual look."

The new software (ERP) is done in C#, but all the functionalities are translated from Harbour. Which also means that the software should behave in the same way and offer the same functionalities. Plus, of course, a few modern additions — especially this, let me quote you again, "'modern' GUI visual look."

But the reason is less important to me than the result. Which is — not only for me, but also for other developers (however, two of them are about 50 years old while I'm about 30 years old; one developer passed away a few years ago — he devoted his entire life to Clipper (later Harbour) programming) — the end of commercial programming in Harbour.

Of course, I'm not writing just to complain. The market is what it is. I'm writing mostly because of sentiment — I really liked this stack and project.

Regards,
Dawid

hmpaquito

unread,
Sep 10, 2026, 5:30:00 AM (14 days ago) Sep 10
to Harbour Users
¿ La interfaz ? Pero si harbour tienen un montón de GUIs. A veces lo que ocurre es que el programador harbour no sabe "vender" las bondades de su software: Multiplataforma, multi bbdd, multi gui, multi, etc, etc..
¿ C# ? Casarse con Microsoft. ¿ Nadie les dijo lo que MS hizo con VFP ?
A veces los mandos de las empresas simplemente cambian de software por el hecho de que se mueva el dinero dentro de la compañía y ya caerá algo. En los nuevos cargos lo que ocurre es que llegan a la empresa y no quieren hacer el esfuerzo de entender como funciona la empresa y ver que el software actual se adapta como un calcetin al sistema de funcionamiento de la empresa

Una compañia que cerró porque la empresa no pudo adaptarse al nuevo software, concretamente a SAP: https://www.youtube.com/watch?v=fiz-F6gGwAY

---

The interface? But Harbour has plenty of GUIs. Sometimes the problem is that Harbour programmers don't know how to "sell" the benefits of their software: multi-platform, multi-database, multi-GUI, multi-everything... 
C#? That means tying the knot with Microsoft. Did no one tell them what MS did to VFP? 
Sometimes corporate decision-makers switch software simply to get money moving within the company—hoping to get a kickback out of it. When new executives arrive, they often don't want to make the effort to understand how the company actually works or realize that the existing software fits the company's operational processes like a glove. 

A company that shut down because it couldn't adapt to the new software—specifically SAP: https://www.youtube.com/watch?v=fiz-F6gGwAY

Alex Strickland

unread,
Sep 10, 2026, 1:12:59 PM (14 days ago) Sep 10
to harbou...@googlegroups.com

Hi 

I've been working (extensively with Claude) for about 6 months this year on a Harbour to c# transpiler based on the Harbour compiler.

I now have 83 CS0103 errors similar to this below from ~300 000 lines:

    posclass.cs(38,64): error CS0103: The name 'HB_OO_DATA_VALUE' does not exist in the current context

This is the first time I have got rid of all other warnings and errors. I think it will work for us but it is not a simple solution! It still has a long way to go in terms of rewriting certain concepts (class creation), libraries etc. We have about 30 c# COM dll's which I hope will more or less just work.

My team has made the following changes to the original code over the last few years and this might be pretty disappointing for someone hoping for a magic bullet:

1. Remove the UI and write a socket client to handle the UI (Python and Qt). This made sense because it opened up the way for testing and of course we got a nice new UI. It's a Point of Sale app, removing the UI on an accounting system would not be much fun, but I assume if it were all @ SAY, GET it would perhaps be not too bad.

2. Remove all usage of Workareas and move to an object oriented ORM. Workareas are death to clean programming in my view because of their global scope, and there is no equivalent concept in c#. We had a version of the ORM that worked with Workareas (DBFs) and for the next version of our software we switched the ORM to use SQLite. For shared files we built a python SQLiteServer (even the concept of shared files will sound odd to someone writing, say, accounting software).

3. The definition files we wrote for the ORM were enough to get type information for all fields and to build typed Classes in c#.

4. You have to be pedantic about using Hungarian (or whatever it is) notation for variables - nNumber, lBoolean, dDate, cChar, bCodeBlock, pPointer, oObject, fFunction, hHash, aArray, tTimeStamp and statics indicated by snNumber, saArray etc. xUsual becomes dynamic in c# and numbers are split into long integers (INTEGER) and the c# decimal type (NUMERIC). 

5 Our classes had the Hungarian notation above as well as the "AS NUMERIC" annotation.

One benefit is that it had found a ton of hidden errors in our Harbour code which now may now be viewed as strongly typed (and type safe) with full verification of procedure, function and method signatures.

The source code can be seen on github, https://github.com/ankerdata/harbour-3.2.0core/tree/transpiler. The README.md under src/transpiler has a lot of technical detail.

Feel free to have a look or clone it, but I am unlikely to be able to offer much in the way of support. If someone is interested I will make available the def file format we use to declare the dbf file/sqlite table/data class detail and the source for the DBF ORM and the SQLite ORM.

-- 

Regards

Alex

--
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.

Lorenzo Fiorini

unread,
Sep 11, 2026, 11:04:40 AM (13 days ago) Sep 11
to harbou...@googlegroups.com

Hi,

IMHO, AI is completely changing the programming landscape, which might actually work to your advantage.

In recent weeks, I've rarely needed to type a single line of code manually. The specific programming language you know or use is becoming far less important. Today, even non-programmers can generate code in almost any language.

What remains critical are the fundamentals: domain expertise. If you master a specific business domain, know what it takes to build a robust application within it, and possess the technical skill to validate and refine AI-generated code, you will be fine.

Over the next few months and years, we will see a surge of poorly architected software written by people who simply had an idea but lacked the deep technical context to execute it properly. Anyone can prompt an AI to "write an ERP application in Python/C#/Harbour," but that prompt means nothing without domain-specific context and engineering decisions:

  • What are the applicable regulatory and fiscal rules?

  • Is this built for a single professional or a 100-user enterprise? Which industry vertical?

  • What OS, platforms, and devices must be supported?

  • Which SQL database fits best, and are there licensing overheads?

  • Should the schema use BIGINT primary keys, UUIDs, or natural keys?

  • Does it require multi-currency and multi-language support, or is it optimized for a local business?

  • Who verifies that financial reports and compliance documents are legally and accounting-correct?

These questions apply to an ERP, but the principle holds true across almost any domain.

If true AGI arrives and can handle full-application architecture and edge-case validation entirely on its own, then software developers won't be the only ones affected—millions of white-collar professionals across every industry will be in the same boat. Until then, domain knowledge and system design are where the real value lies.

Don't throw in the towel on software development just yet—adapt your skill set to focus on architecture, context, and domain logic. That’s where the real value is shifting.

Best regards,

Lorenzo

P.S. AI assisted :)

cod...@outlook.com

unread,
Sep 11, 2026, 12:43:32 PM (13 days ago) Sep 11
to Harbour Users

Thank you Lorenzo !

Very good written comment. It is worth to remember next parts:

"The specific programming language you know or use is becoming far less important "

"If you master a specific business domain, know what it takes to build a robust application within it, and possess the technical skill to validate and refine AI-generated code, you will be fine "

"Domain knowledge and system design are where the real value lies "

"Adapt your skill set to focus on architecture, context, and domain logic. That’s where the real value is shifting"

My impression is that an IT background is still necessary—even when working with AI tools—to build a good and robust applications. The fact that non-programmers can use AI tools might hold true for simpler applications, but it is not enough for more complex ones. That is my experience after few months of using Claude Code Pro Sonet model. May be that better is with higher-paid models. 

We shall see what the future holds for AI tools.

Best Regards,
Simo.

Francesco Perillo

unread,
Sep 11, 2026, 1:01:38 PM (13 days ago) Sep 11
to harbou...@googlegroups.com
Hi Alex,
really interesting project, thanks for sharing it.
I will read the readme during the weekend.

I have a question that I believe fits in the spirit of this thread: why ?

Alex Strickland

unread,
Sep 13, 2026, 3:57:27 PM (10 days ago) Sep 13
to harbou...@googlegroups.com

Hi Francesco

We share a copy of our source code with a German company (we are South African). They are a pretty big POS support company and they have maybe 5 to 7 000 terminals installed with our software. In South Africa we are quite small. 

About 4 years ago I proposed a rewrite of the software to them, main reason being that I was just one guy heading for 60. I said I would build a team to look after the software and I came up with a 3 year plan to rewrite it, the main goals being to modernise the UI and derisk the source code by moving on from Harbour to 'modern' languages.

As I said we built a test harness and rewrote much of the software in Python (Web and local using FastHTML). The POS engine remained in Harbour and we decided c# was the best fit to rewrite it (dynamic type which actually is kind of like Harbour, strong typing, decimal type instead of floating point, flexible parameter handling (missing parameters, named parameters, default values), support for our interface dlls, good tooling (debugging), multithreading, multiplatform and many other minor wins.

I love Harbour and it has been very good to me, but with the best will in the world I do not believe that I can retire and leave a big partner with a product that cannot be maintained by a new generation of programmers.

I hope that answers your question, feel free to ask more.

-- 

Regards

Alex

--
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.

Francesco Perillo

unread,
Sep 15, 2026, 7:46:54 AM (9 days ago) Sep 15
to harbou...@googlegroups.com
Hi Alex, thank you.
You gave a really good answer, very pragmatic and shows a big respect to your business partners.

Harbour is a great language. It may be improved a bit (for example I like named parameters and default values)  but it is unfortunately a really niche language.
Powerfull, elegant, reliable and readable, but niche in the number of programmers.

Your POS may be used in 7000 points, each one by 1000 (indirect users) but you, sad to say since I'm in the same situation and I believe are several other people here, are the SPOF of the system.

I hope your porting job will complete 

Francesco

Aleksander Czajczyński

unread,
Sep 15, 2026, 9:17:27 AM (9 days ago) Sep 15
to Harbour Users
Thanks Alex for sharing!
Corporate scaled software with bias on Microsoft platform is the reason X# project exists, which you may consider. Though that is another dependency adding over to .NET, but as I see it you could likely compile Harbour structured code to MSIL, then get a ReSharper like tool to get C# code out of it. Most likely too you know even more than me about these things. Anyway I have a slight interest in reusing Harbour (stable) RDD's from X# programs.
BTW. Clipper/Harbour float values store decimal point info together with the value, so it's not exactly bare float.
Best regards, Aleksander
Reply all
Reply to author
Forward
0 new messages