[fpc-devel] what fpc is good for?

L L at z505.com
Sun May 13 04:28:24 CEST 2007

> As far as I know, Lars is a FPC fan, and he merely wishes to express concern
> about some of the issues he has with FPC

Yes I'm a fan.

It's not just the issues that I alone have with FPC since I'm not even an embedded programmer
myself. I'm putting myself in their shoes. It isn't just me who is saying lazarus is on the edge of
becoming the next OpenOffice sized bloatware. It is a lot of the folks on pascal game devel board
too who are saying the same thing.

Now to address the other people's emails..

Regarding my comments about D/C++ killer..
You guys are nitpicking me.

Regarding the idea that I don't propose any solutions to the problem. Come on now, I've written
capstring and compactsysutils and many other units to solve many of my problems that I complain
about. The point of the articles are always to point out that FPC isn't this *perfect* fanboy
thing - instead of being a *fanboy* I find myself more productive jumping into a criticboy's shoes,
while contributing code at the same time. Criticism and complaints are just like bug reports.
Without these reports, we all just sit behind our PC's thinking that there is no room for
improvement because FPC is already so good.

I think some of you should look at this URL below too, with regards to Java history and why Pascal
had a big influence on Java:

Above is one of my optimistic articles and doesn't contain too much pessimism.

Just because you have seen not too many C programmers float over from C and join the Pascal
community, does not mean that D programmers and C++ programmers and Java folks won't join ship. In
fact, over at
PasForum there is a PHP/C programmer who is considering using the powerful web utilities. Looking
over my web statistics, I have found quite a few people looking for D language information, and they
bookmark my site since they accidentally stumble upon some of my pages which mention D language.
They realize that pascal seems interesting and more mature than D, and that is a big advantage. D is
new. Pascal is mature.

Whenever Linus Torvalds takes cheapshots on the Pascal language, I sometimes respond to the articles
and I get some reasonable C programmers coming in to my site, and they see that current pascal isn't
just a dead end.. and some of them jump ship and test out FPC. Maybe not millions, but one or two
can even make a difference to spread the word. In fact some of us Pascal programmers are so humble
and so positive, and so anti-critical, that we misinterpret Linus' flames on pascal as compliments
to pascal. He said something once that was so rude to Pascal, and everyone thought he was
complimenting pascal. Funny. (Bee, this was the structured vs unstructured article on kernaltrap,
I think)

Anyway, as we discussed on IRC one time, the real problem with Sysutils is that it needs to be split
up into smaller units but we would break Delphi compatibility. The problem with LCL is that a lot of
initialization stuff may need to be moved out. I may not have a PERFECT proposal for that myself..
figuring out what we are going to do about that, so I complain and write an article and maybe other
folk will come up with brilliant ideas. Do you see why it is important to write thoughts down,
including both negative and positive ones? Even if I have tried to solve some of the problem by
offering code such as capstring and compactsysutils, it still helps for me to get the thoughts down
on paper and have hundreds of other developers think up solutions based on my comments - even if

I'm not just complaining about sysutils and LCL being bloatware regarding exe size, I'm looking at a
bigger picture here - it is bloatware as a piece of source code to maintain, too, you know. It is
hard to maintain the sysutils unit with all the include files and millions of functions and classes
in it. The LCL - well I am not an expert there and I hoped someone else would find a way to make it
less monolithic. Sorry for complaining and not offering any LCL code.  Putting a complaint out there
in the air is like putting a bug report out there - I may not have a solution to the bug but at
least I reported a possible issue.

I also complained and complained about websnap and asp and php, and of course I also wrote some code
that solved my problem there which is all FPC based, the poor old wiki, forum, and other utilities
on my site that need updating. Others choose the easy solution and use ASP and PHP.. boring. I
complained about FPDOC and wrote some extensions for my own lufdoc, and I complained about numerous
other things and went ahead and wrote code.

I will offer you folks some system.pp units that I'm sure will help the embedded programmers too.

I also complained about a web based FPC compiler being a silly idea, since people could just
download the compiler.. how hard is that.. but then I went on and wrote one because I found another
use for it.  I see a lot of code being pumped out from myself here and this is the reason I'm not on
the mailing lists to reply as much any more.

Regarding the 64 bit stuff - well one real world example of where 64bit is needed seems to be in the
GO game that Frank De Groot is working on.  He stated that he may be moving to C/C++ because delphi
and FPC don't suit his needs. He could extend FPC, because it is open source, instead of
complaining, but he could also just do something easier.. maybe move to C/C++? I hope he doesn't and
I hope maybe even he has the knowledge to help with the FPC compiler.. but realistically sometimes
programmers choose the easiest option for them. However, since Daniel mentioned the next release of
FPC will contain improvements, I hope it helps Frank a lot and I hope he doesn't choose to take the
easy route and just move to C++/C.

The size stuff - oh no, not this again. Think about memory footprint and not just speed of
algorithms please. The reason I use Foxit reader instead of Adobe Reader is because it is more
responsive. Whether this has to do with memory footprint, speed, size doesn't matter to me much - I
just know it is faster by feeling it with my keyboard and mouse. I have tried out many Lazarus Apps
by feeling them, not by just looking at Exe size. Lately, they feel slow, probably because of the
abstractions and footprint I suspect. It's not just cross platform abstraction, I assure you, since
many cross platform abstractions can be solved with IFDEF's which are not stored in the exe. Other
folks agree with me.. many people on the pascal game devel BBS are saying Lazarus is becoming huge
and slow.  Hey, we are just reporting a bug okay? If a bug is reported, it doesn't necessarily mean
that we have the solution for the bug. Reporting the bug is still useful.

Memory is fairly cheap, but with things like VMWARE and Colinux running, my memory fills up darn
quickly! Even on today's newer computers. Not to mention I have seen 1.5Ghz laptops for sale for
many years now.. when is the 100.00Ghz one coming out? We have hit a barrier that you can tap into
folks. A lot of people are dissatisfied with the speed and size of their applications - this is the
REASON people are spending big bucks on faster computers and hard drives... Don't you see the irony?
A lot of you folks recommend FastCGI whenever someone asks about web programming.. and fast cgi is
all about building tight code with a small footprint.. but yet whenever someone mentions a small
system.pp unit or a small sysutils unit all of a sudden we are offended about an attempt to make a
smaller program, faster program, etc. A smaller program in many many cases means a faster program -
definitely a faster loading program in many cases. Not all cases. We are talking about general
trends here.

I think we AGREE on many things and your nitpickings are just as bad as my nitpickings.

Also folks, I think some of you know that I'm not just *talking* on that paswiki, I really have
offered hundreds of units for the FPC community and will continue to offer more units for you all in
order to make things go smoother.  If you read something you don't like on PasWiki, I expect you all
to analyze me and write about me. Don't remain quiet! Make your own websites, bring it up on the
mailing lists. I would like more people to shred me to pieces with their own websites so we can have
some more FPC content out there. And even if you hate what I say, please continue to use my code and
download my units - I appreciate criticism and am in no way offended by any of your comments.

Unconditional Developer Love,

More information about the fpc-devel mailing list