[fpc-other] Fork

Adem listmember at letterboxes.org
Thu Oct 21 22:13:25 CEST 2010


I don't have the top post ( 
http://lists.freepascal.org/lists/FPC-other/2010-October/000468.html ) 
in this thread to comment on in a more conversation fashion, as a result 
I reverting to bulleted listing of my views on the subject.

1) In the fpc-devel I have read quite a few arguments that FPC is 
production quality and no significant changes can be afforded to that code.

While I sympathize with what that implies, it also means that, 
structurally, FPC is more or less frozen --except for very small 
incremental alterations, there isn't much that can be done with/to it.

That brings me to this remark by DoDi: "Unfortunately some restrictions 
apply to the possible changes to the original code, when we want to stay 
in sync with the SVN trunk."

I am not at all sure that this is the way to go about it. It is very 
likely that the needed changes will soon amount to a shape that will 
make it impossible to stay in sync with the FPC trunk.

So, I think it would be more sensible/rational to remove this 
artificial/unsustainable restriction/desire and decide to call this a 
proper fork for a new version which may or may not be source-mergeable 
with the FPC trunk.

2) As it is, FPC codebase represents a very high barrier of entry for 
the uninitiated, drastically reducing any chances of outsiders coming in 
and contributing.

To help with that, I'd like to see the new FPC to be functionally as 
modularized as possible with sufficiently clear boundaries between each 
so that people can work on parts without having to know and worry about 
the whole thing all the time.

I can hear the 'speed arguments' (that, doing this would lower the speed 
of compilation etc.) but I am yet to be convinced; plus, if I had to 
choose between sacrificing a few percent on raw performance and the ease 
of maintainability, I'll always go for the ease of maintainability.

3) Alternative parsers. I have read all the objections about this. Yes, 
it may not solve every single problem. Yes, it will not mean FPC will 
take over GCC. Yes, not everyone need this functionality. Etc. Etc.

But, all these seem to ignore one simple fact: Object Pascal (OP) is not 
a widely used language. A lot of code that is out there is in some other 
language. Which means, OP developers have either to reinvent most wheels 
by rewriting the code they need (even though it is readily available in 
some other language) or try to convert that code into OP.

All this is not only a major waste of time, sometimes it requires 
extensive knowledge of that language.

So, IMO, anything that helps using that large amount of code base can 
only be GOOD THING even if it isn't perfect all the time.

-- 
Cheers,

Adem



More information about the fpc-other mailing list