On Mon, 3 Jan 2005, Gili wrote:

> On Mon, 03 Jan 2005 09:35:26 -0800, Jonathan Locke wrote:
> 
> >nope.  final stops people from using extension points we haven't fully 
> >thought through.  so it's the default for every class and method.  in 
> >fact, this should have been the default in java.
> 
>       Heh, C++ uses such mindset. The Java designers made an explicit
> decision in 1.0 to make the opposite the default and I happen to agree
> with them. Everything should be extensible by default and no problems

you should feel free to agree with people even if they are wrong.

> should occur so long as you follow objected-oriented design -- that is,
> your extension must satisfy all contractual requirements of the
> superclass. Frankly, this would work better if Java had design by
> contract, but it does not yet.
> 
>       From my discussions with the Java guys, the only reason final
> even exists (in the context of methods and classes) is for security
> reasons (and in the past for performance reasons). It was never meant
> as a mechanism for artificially controlling all future changes.
> 
> <my 2 cents>
>       When I am designing my own frameworks, I let people make
> whatever extensions they wish and if they somehow run into problems
> because I forgot to expose some precondition/postcondition then I
> tighten my documentation. I think this mentality helps open-source

you've never written a popular framework then.  if you allow people to
extend things you haven't thought about, you will never be able to make 
these changes without breaking people.  with a truly popular framework,
this means you will be stuck supporting things that make no sense.  and 
believe me, you CANNOT change it.

> projects where you don't want everyone double-checking with everyone
> else. Right now we're five people working together and double checking
> everything. In the future you might have some other project depending
> upon ours and extending it for their own use, or even five of them. We
> will simply not able to micromanage everything, nor should we try to.
> We still get to retain control over our own code, but we shouldn't try
> to control other people's code...
> </my 2 cents>
> 
> Gili
> 
> 
> 
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Wicket-develop mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> 



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to