Andres K. Foerster wrote:
I won't discussion the language parts because it's simply a matter of believe ;) Only a small remark:
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.
[...]
holds me back from GPC is the trouble on the MinGW platform and the very large binaries it produces.
The big executables are probably the price for GPC's approach: e.g. a crt unit based on ncurses talking to the terminal or the win api generates of course bigger executables than a crt unit talking directly to the terminal or windows api.
People measure usually the size of FPC executables against delphi and the FPC ones are bigger, simply because the FPC rtl contains some abstraction layers, that's simply the price for making things portable.
Further, we implement a lot of stuff ourself in fpc simply because experiences showed that it is e.g. almost impossible to deploy linux binaries working on all not too old linux platforms if they are linked against glibc.
Deploying only sources isn't a real option for me because pascal is also used a lot for teaching and you can't expect people just learning to program also to compile and install a compiler from the sources.
About the ISO mode: if a feature is important enough for fpc, people pop up to implement it, history teached that :)