Am Friday, dem 23. Sep 2005 schrieb Florian Klaempfl:
I know Free Pascal very well. It comes with a lot of extensions, is fast and produces small binaries. But when you want to program for different platforms, you'll end up with lots of {$IfDef}s.
This is one of my main criticisms -- putting the burden of making the code portable on the programmer, rather than designing the system (as much as possible) portable by itself.
Huh? That's new to me. We try to design everything as portable as possible even taking care of non mainstream platforms.
Yes, both compilers *try* to be portable in the end. But they take very different paths to achieve it.
In FPC often system specific things are implemented for different systems and then wrappers are written to make it portable afterwards. In GPC nothing is implemented until it is portable.
The disadvantage for FPC is, that there are a lot of system specific units in the package, while the disavantage for GPC is, that there are much less units in the package.
The other one is the omission of standard Pascal features. (I'm not so much opposed to extensions, IMHO omissions are much worse.) And
from the discussions I've had/seen, this is not accidental, but
fully intentional, as there seems to be some kind of hatred and ignorance against the standards among the developers.
Well, FPC is made by some community which contributes patches and it doesn't seem so that somebody contribute a patch for a ansi mode so far
That doesn't mean, that ansi mode is not wanted. I think that is, because most FPC people are coming from the Windows/Delphi world.
I see a lot of things in Extended Pascal, which I really miss in FPC. That's why I'm moving away from FPC towards GPC. The only thing, that holds me back from GPC is the trouble on the MinGW platform and the very large binaries it produces. But the language IS better.
which is probably useless anyways as long as the PVS isn't free in the gnu sense.
What is PVS?
Whether the standards are open, doesn't really matter for a GNU project. See GCJ or DotGNU. Even POSIX is not freely available. But the standard papers for Pascal and Extended Pascal are available.
Anyways, why should somebody care? If you want a compiler trying to be iso standard compliant: use GPC; if you want a compiler trying to be Borland compatible: use FPC.
But you must admit, that most Borland extensions are very DOS/Windows specific, while the extensions from Extended Pascal are designed to be very portable.
While actually many standard features would seem rather easy to add. A few, such as schemata, are probably not so easy, but actually those would provide some major benefits (in programming comfort/simplicity to the programmer), compared to the Borland "alternatives" (which can hardly be called so).