[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 mailing list