[fpc-devel] what fpc is good for?
Daniël Mantione
daniel.mantione at freepascal.org
Sat May 12 07:51:39 CEST 2007
Op Sat, 12 May 2007, schreef Bisma Jayadi:
> http://z505.com/cgi-bin/qkcont/qkcont.cgi?p=Might%20As%20Well%20Use%20Dot%20Net%20In%20Place%20of%20FPC
>
> Nicely put. ;) I've found it has good points on some arguments. It's good to
> be considered. :)
No, it is not good to be considered. He complains we don't care about
speed or size. I have to correct him: We care, if we can optimize
something we will. As a proof FPC 2.2 will both generate faster code and
generate smaller exes.
On the other hand, we consider the current situation unproblematic. FPC
applications run faster, and less memory than other frameworks. Indeed we
generate larger exes, but nobody needs to redistribute tens of megabytes
of framework with his application. Lazarus is in the portable GUI
market, not Win32. I fully agree Delphi is king for the Win32 GUI
market. Against QT, XUL, Java, on the other hand, Lazarus is way better
than each of them.
LCL applications are large, this is known, and something the Lazarus team
has to deal with. Still, if you refuse to enable smartlinking, you have
right to complain; those exes aren't 3MB if built properly.
But apparently the unsmartlinked size scares some people.There is a good
solution to this perceived problem: make smartlinking good enough that it
can be enabled always and remove the option not to smartlink. With the new
internal linker we are almost there. Further, the internal linker will be
able to smartlink unused virtual methods, reducing the size again. So,
again you have nothing to complain about that we don't care.
If you don't consider FPC usefull for GUI programming, apparently he
does't, the LCL disappears, and the problem disappears. No way you manage
to generate 3MB exes without LCL.
If you want to do embedded programming, FPC is IMO totally suitable. You
can nowdays even remove features like the heap from the system unit, how
small do you want to go? But for such purpose you should not use large
frameworks. I'm afraid asking that the ultra-comfortable frameworks
generate embedded sizes is asking for the impossible. This is the error
he makes: If you want the comfort of the framework: pay for it.
Nobody prevents you interfacing with databases directly, with GTK directly
for teh GUI and so on. For embedded programming this is the way you should
go, since there is no space for a database abstraction layer or GUI
abstraction layer.
Meanwhile, we are near the top for speed, and at the top for memory usage:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all
Watch what happens with those numbers when 2.2 is out.
There is nothing in this article we can consider, for starters because it
does not contain any proposals.
Daniël
More information about the fpc-devel
mailing list