[fpc-devel] ALGLIB project: 2 months with FreePascal

Sergey Bochkanov shadeofgray at yandex.ru
Wed Mar 10 17:19:48 CET 2010


ALGLIB  project  supports FreePascal since January, 2010. I think that
it is time to share some interesting results.   

Currently  ALGLIB  includes  both  Delphi  and  FreePascal versions of
library  which  allows  us  to  compare  popularity of two programming
environments.  FreePascal  version  is  written  in a plain FreePascal

The  only  two  syntactic tweaks used are RESULT variables and GOTO's,
which  were turned on by the unit-level compiler directives. So ALGLIB
for FreePascal can be compiled without passing additional command line
parameters to FPC.

Compiler  quality.  I  should  say that 32-bit FPC 2.4.0 works like an
atomic  clock.  I  am  routinely  testing  ALGLIB  with many different
combinations  of  optimization/debugging  options  and  it  passes all
tests,  except  for  the tests which discover ALGLIB bugs :) Situation
with 64-bit 2.4.0 is a bit worse - sometimes (1% of cases) FPC crashes
during compilation without any visible reason. However, there exists a
possibility  that  this bug is not present in 2.5.* branch, so I think
that I should test ALGLIB with newer versions of FPC.

Popularity:  Delphi vs. FreePascal. Number of Delphi version downloads
is  about  2.5  times larger than hits count for FreePascal version of
ALGLIB.  But  I  think  that DOESN'T mean that FreePascal is 2.5 times
less  popular  in  scientific  community.  In my opinion, downloads of
Delphi  version  are  mostly  downloads  by  students  from developing
countries.  Delphi  is very popular in developing countries because it
is  (surprise!)  cheap  -  5$ on a black market. Compare it with about
2000$  at  CodeGear's  website. However, there is a steady fraction of
users  who prefer to work with FPC - which makes me happy.

Now  about  the future. As I told, I think that I should use FPC 2.5.*
for  unit-testing  because  one important floating point bug was fixed
only  in  2.5.1 However, 2.5.* is in development and I'm not sure what
version  it  is better to use - last daily snapshot or something else.
Can anyone from FPC team point tell me which 2.5.* release is the most

With best regards,,
 Sergey                          mailto:shadeofgray at yandex.ru

More information about the fpc-devel mailing list