[fpc-pascal] Namespaces Support

Dmitry Boyarintsev skalogryz.lists at gmail.com
Sat Oct 26 15:59:29 CEST 2013


On Sat, Oct 26, 2013 at 7:06 AM, Fabrício Srdic <fabricio.srdic at gmail.com>wrote:

>
> I agree with the importance of backward compatibility, but I disagree when
> it becomes a reason to stop the implementation of improvements in the tool.
>

Well, no. You shouldn't say "improvement". Because "improvement" has
positive context, already.
Instead, you should use the word "change" which is more neutral.

So let me paraphrase you: "I agree with the importance of backward
compatibility, but I disagree when it becomes a reason to stop the
implementation of changes in the tool."
Doesn't sounds so bright, right? Because it's unknown if a change is good,
if it helps or if it is beneficial.

So whenever a change comes in it is typically being reviewed by following
categories:
* why is the change needed? (Delphi compatibility)

* what's the benefit of the change?  - the most important question here -
is what the change gives to developers, that they couldn't do earlier?
* what's the disadvantage of the change? - there's always at least one
disadvantage present - the language itself gets more and more complicated.
(the minimalistic approach is typically followed, as it makes the language
as a tool more "lightweight" and easier to master and learn)

Any change passes that review (not just namespaces).
a change with the benefit:
1) "a pascal developer is not be to XXX at all with out this change" - are
typically accepted without much discussion (i.e. support of ObjC/JVM/LLVM
targets)
2) "a pascal developer can do XXX, but the change YYY should make it
better, but might be FPC specific" - typically inspire some productive
discussions. (i.e. generics, I'd add Unicode rtl here as well) and change
typically comes into the compiler;
3) "a pascal developer can do XXX, but the change makes it look like YYY,
which is delphi compatible" (i.e. class-helpers, sealed classes)  - are
typically ignite a lot of discussions and flamewars between conservative
and modernists developers.  However, the change is typically being added to
the compiler (under a certain mode or modeswitch).

In the end, it is up to a pascal developer to either keep using XXXs or
switch the code YYYs.
And a pascal developer can be sure that there're far more other developers
that do understand XXX than the ones who understand and use a YYY. Thus
getting help (and maintenance) with XXX-based code, is more likely to
happen.

thanks,
Dmitry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20131026/7bf61cf3/attachment.html>


More information about the fpc-pascal mailing list