[fpc-pascal] Advantages of Pascal
Marco van de Voort
marcov at stack.nl
Wed Feb 21 09:03:36 CET 2007
> On 20 feb 2007, at 19:46, Patrick Leslie Polzer wrote:
> > 1) "No Makefiles"
> > ...and yet you ship a Makefile generator with FPC. Why?
> Because you cannot tell the compiler to compiler run time library,
> then itself with the rtl that was just compiled, then recompile the
> run time library with the newly compiled compiler, then itself with
> the newly compiled compiler etc. fpcmake is a tool developed for
> internal use, but everyone is free to use it. You don't strictly need
> it except in complex cases like the above, though.
Also FPC uses it more as a script to get actions done in an order. (make
being one single .exe, small and easy to install), So in other words make
with FPC is a bit less about laying out how to build an .exe/library, and a
bit more to specify which exe's/libraries should be built.
> > 2) "Pascal compilers are Fast with a big F [...]"
> > Why is that?
> Because you do not need a preprocessor pass, and compiled unit
> interfaces can be reused much more often than e.g. C pre-compiled
> headers because no external defines can influence them (and therefore
> you also need much less checking to see whether or not a unit needs
> to be recompiled).
(Personally I think one probably could get an enormous way with precompiled
headers, specially _IF_ the headers are not to murky. But it requires a
great lot of extra work on the compiler side, and is much less
comprehendable for end users than the more well defined Pascal system. The
fact that gcc doesn't have a precompiled header system yet after 20 years of
development says enough I think)
> > 3) "Great integration with assembler"
> > Is being able to use Assembler easily inline really that much
> > better as opposed to having the code in separate object files?
> Personal preference.
Pro: integration between pascal code and assembler is much tighter. Even GCC
resorts to a form of inline assembler, just less readable and userfriendly.
Con: people might inadvertedly use assembler when not necessary. THis is
clearly visible in Delphi and TP source. OTOH in practice I don't think that
this is such a big problem anymore with Delphi srcs, since people already
have become more reluctant to use assembler. A minor annoyance when porting
delphi sources. But in TP times it was _bad_.
> > 4) "Smartlinking"
> > Ah, I think you can have that one in C with some obscure linker
> > flags, too.
> Nowadays you can indeed, yes.
I'm not entirely sure if the granularity is the same.
> > 5) Why use Pascal instead of Ada?
> Personal preference.
Ditto, and in my case : Ada seems overly complex for every day use to me. But
if I ever develop something nuclear, I'll keep it in mind.
More information about the fpc-pascal