That's correct.
You know .h
of C, right? That is, the header file with presets of what will be useful for the language itself code? It's the same thing but it's from ADVPL.
This C
is from Clipper, the language that gave birth to ADVPL, so it is not a creation of ADVPL itself but a legacy of Clipper. This was adopted just not to confuse with .h
of C, something that the developers of Clipper worked hard and even other users of Clipper came to use. We used to do a lot of C to use Clipper.
In fact, some people at Totvs prefer to love Custom to get away from Clipper, but it's not even a correct meaning for what it really is.
I did not find anything that officially documented, but I remember this on Clipper. It does not really matter what C
in the acronym means but what the file is for.
Although nothing prevents you from putting anything in .CH
in general does not put anything that is considered the language itself. Actually in Clipper / Harbor / ADVPL this is even slightly different from C. In C these things are not part of of the language and the preprocessor is very "dumb", it only exchanges texts without further analysis.
In these languages called xBase the preprocessor is much more powerful, it understands the code better and does much more than just exchanging text. So we can even consider it as part of the language.
I do not know if anything has changed, but for a while ADVPL's preprocessor was a little lower than Clipper's on some specific points. The one in Harbor is extremely more powerful and can do some incredible things, it gives even to abuse a lot. Although most only use for the same basics. At Harbor it becomes a nearly complete metaprogramming feature.