On 23 Sep 2005 at 17:45, Florian Klaempfl wrote:
[...]
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.
I think what he might have been referring to is the fact that, with FPC, different platforms seem to have their own version of many units (in platform-specific sub-directories), whereas, with GPC, there is only one version of each of the standard units, and that one version is fully portable.
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 which is probably useless anyways as long as the PVS isn't free in the gnu sense.
It's not useless for someone who wants/needs a compiler that is standards-compliant. Such a person might not have the expertise to patch the compiler - and those who have the expertise to do so (e.g., the development team) might not be interested to do so. Therefore, the person who needs a standards-compliant compiler has to look elsewhere.
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.
Why not have both - standards and Borland compatibility? It is one thing if the FPC developers do not have the ability to add standards compliance. It is also one thing if adding it would be very hard to achieve. But if the ability is there, and it is not difficult to do, then why not do it? I don't think it will harm FPC at all, if it had an iso compatibility mode - even if only turned on by a switch, or even if only by supplying all the Borland omissions. That way, people can choose between GPC and FPC on the basis of things such as the quality of the generated code, rather than first decide whether they want Borland or iso compatibility and then get stuck by default with one or the other (just my two pence ...)
Best regards, The Chief -------- Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.greatchief.plus.com/