PROPOSAL: 'final' without explicit type (update) (original) (raw)
Marek Kozieł develop4lasu at gmail.com
Mon Mar 30 16:09:21 PDT 2009
- Previous message: PROPOSAL: 'final' without explicit type (update)
- Next message: PROPOSAL: 'final' without explicit type (update)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
W dniu 31 marca 2009 00:45 użytkownik Gabriel Belingueres <belingueres at gmail.com> napisał:
Hi Marek:
- VariableInitializer type is neither primitive nor Object. --> primitive : they should not be mixed with Object-s to easy. --> Object : when object type is Object, we mostly deal with situation 'Unknown type', so this should not be hidden. I still don't get why it is so bad to do something like this: final a = 1; // static type is int or final o = new Object(); // static type is Object, no doubt I still don't see the point on not making this feature more orthogonal (unless some convincing argument is presented against it.)
For primitives I would prefer: primitive a = 1; // a is int / short / byte rather than: final a = 1; // static type is int
Primitives represent other level of abstraction and mixing them will make people to be confused (more or less).
final o = new Object(); // in this form it's ok
here I see problem: final o = some.getBoo().getLocalization(); // o is Object
For some reason we did not ensured valid type to be returned, so we should care about it while declaring 'o', or say that we do not care: final o = (Localization) some.getBoo().getLocalization(); final Object o = some.getBoo().getLocalization();
If we allow final to be ANY type, then backing to declaration will be required just to make correction, this will piss off programmers.
So primitives and Object-s are special types and should be handled in this way.
-- Pozdrowionka. / Regards. Lasu aka Marek Kozieł
http://lasu2string.blogspot.com/
- Previous message: PROPOSAL: 'final' without explicit type (update)
- Next message: PROPOSAL: 'final' without explicit type (update)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]