Small property support.

Joe Darcy Joe.Darcy at Sun.COM
Wed Mar 18 16:31:12 PDT 2009


Greetings.

As previously stated

    http://blogs.sun.com/darcy/entry/guidance_measure_language_change_size

properties are almost certainly out of scope for Project Coin.

This proposal lacks sufficient detail for full evaluation.

On 03/18/09 05:26 AM, Ruslan wrote:
> PROJECT COIN SMALL LANGUAGE CHANGE PROPOSAL FORM v1.0
>
> AUTHOR(S): Ruslan Lazukov
>
> OVERVIEW
> Create infrastructure for using properties in Java, but make it small 
> change for becoming part of Java 7.
> I suggest to use synthetic sugar for properties in Java 7.
>
> FEATURE SUMMARY:
> Lack of properties in Java make developers to create a lot of solutions 
> for solving this issue.
> But issue can be solved only from language level.
>
> MAJOR ADVANTAGE:
> Solve lack of Java property support, but this solve will be small not 
> medium size.
>
> MAJOR BENEFIT:
> Improve check ability of java code. Improve readability of code.
> Code become less error prone.
>
> MAJOR DISADVANTAGE:
> Developer should understand how properties work - the same as enhanced 
> for-each.
> For-each are synthetic and real code are hidden from developer.
>
> ALTERNATIVES:
> No; Every solution need to change language.
>
>
>   

[snip]

>
> DETAILS
> SPECIFICATION:
> Main problem of Java property support in Java 7 is that Sun want to 
> create solution at one step.
> But also Sun do not have enough time and resources to do this for Java 7.
>
> My suggestion is to split "property" into many steps, and make some of 
> them in Java 7.
>
> We can use documentation created for HUGE property support, and write 
> code only in java compiler.
> All other stuff like changes in Reflection API - stay for next 3-5 years 
> (for Java 8 release).
>
> HUGE property support described here 
> http://docs.google.com/Doc?id=dfhbvdfw_1f7mzf2
>   

As previously stated, "If a proposal does not cite chapter and verse of 
the JLS for parts of its specification, that is a good indication the 
proposal is too vague." 
(http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000196.html)

This specification section is both too vague and not self-contained; the 
full information must be sent to the list and not be present only in 
external documents.

> I suggest implementation of language changes without Property object, 
> changes in Reflection API and necessity to sit
> and wait 5 years for time when Java code become more readable.
>   

Adding language features properly requires coordination of changes 
throughout the platform; that cannot easily be done piecemeal.

>
> COMPILATION: How would the feature be compiled to class files?
> No additional support necessary in class files.
>   

As explained in the form's text and as done by previous proposals, like 
this one

http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000001.html

this section is for the details of the compilation or desugaring.

> TESTING: How can the feature be tested?
> The same way as for-each.
>   

That makes no sense at all.

> LIBRARY SUPPORT: Are any supporting libraries needed for the feature?
> No, not for Java 7.
>
> REFLECTIVE APIS:
> No, not for Java 7.
>
>
> OTHER CHANGES:
> No, not for Java 7.
>
> MIGRATION:
> No migration needed.
>
>
> COMPATIBILITY
> BREAKING CHANGES:
> All existing programs remain valid.
>
> EXISTING PROGRAMS:
> The semantics of existing class files and legal source files and are
> unchanged by this feature.
>
> REFERENCES EXISTING BUGS:
> I think that there is a lot of bugs in Sun bug-tracking system.
>   

Yes, and you are supposed to find those bugs as part of submitting the form!

-Joe

> URL FOR PROTOTYPE (optional):
> Document about HUGE property that Sun presented to developers
> http://blogs.sun.com/dannycoward/resource/Java7Overview_Prague_JUG.pdf, 
> page 27.
>
> Also Sun (probably) developers create a lot of documentation how 
> property should be supported from language level.
> That documents have to be used to implement this proposal fast and easy.
> HUGE property support described here 
> http://docs.google.com/Doc?id=dfhbvdfw_1f7mzf2
>
>
> WBR, Ruslan.
>
>
>
>   




More information about the coin-dev mailing list