views:

794

answers:

5

Is there any rational reason, why native properties will not be part of Java 7?

+2  A: 
  • Not enough time?
  • Not yet specced properly?
  • Difficult to add to java due to java's implementation?
  • Deemed not important enough, ie other things were prioritiesed?
willcodejavaforfood
A: 

Java decided to stick to their ByteCode format and they didnt want to change the JVM because that will lead them to recode many of existing libraries. And because of their stubbornness to stick to very strict object oriented principles they do not want to add more things like c# is doing.

They are running out of fuel because of .NET, their future is very weak because of BAD UI, Slow execution and absolute ignorance of Windows user base.

Akash Kava
"Slow execution", how do you come to this conclusion?
bwalliser
JavaFX has beautiful property support, and that's where Sun has poured its development resources lately. So, Sun clearly understands the value of properties and knows how to implement them. Retro-fitting them cleanly into a language like Java will simply take a lot of thought and a lot of work.
erickson
I'm not really impressed by properties. I find them annoying.
Joe Philllips
there is a reason why bytecode compatibility is so important - mainly because there are lots of legacy apps out there that are expected to run seemlessly on a new versions of the jvm.
Chii
1) .NET is not multiplatform (please don't count Mono, it's a joke, a joke which exists only as long Novel and Microsoft have their treaty); -- 2) You seem to mix up "Java as a language" and "Java as a platform" -- 3) C# is driven by the philosophy "give the people what they want", not "give the people what is good" (different things!), and Microsoft is doing this only for marketing reasons. -- 4) .NET is a platform for further promotion of Windows as a development platform.
ivan_ivanovich_ivanoff
I understand every java lover didnt like my response, finally smaller code to do many things count. And I dont know why people hate microsoft knowing that without it, they wont be communicating with more then half of pcs !!
Akash Kava
Thanks for all -ve votes but all must know that sun is already dead !! and java will die pretty soon.
Akash Kava
+8  A: 

Doing properties "right" in Java will not be easy. Rémi Forax's work especially has been valuable in figuring out what this might look like, and uncovering a lot of the "gotchas" that will have to be dealt with.

Meanwhile, Java 7 has already taken too long. The closures debate was a huge, controversial distraction that wasted a lot of mind-power that could have been used to develop features (like properties) that have broad consensus of support. Eventually, the decision was made to limit major changes to modularization (Project Jigsaw). Only "small change" is being considered for the language (under Project Coin).

JavaFX has beautiful property support, so Sun clearly understands the value of properties and knows how to implement them. But having been spoiled by JavaFX properties, developers are less likely to settle for a half-baked implementation in Java. If they are worth doing, they are worth doing right.

erickson
+7  A: 

There are some high-level reasons related to schedule and resources of course. Implementation of properties and understanding all of the ramifications and intersections with other language features is a large task similar to the size of various Java 5 language changes.

But I think the real reason Sun is not pushing properties is the same as closures:

1) There is no consensus on what the implementation should look like. Or rather, there are many competing alternatives and people who are passionate about properties disagree about crucial parts of the implementation.

2) Perhaps more importantly, there is a significant lack of consensus about whether the feature is wanted at all. While many people want properties, there are also many people that don't think it's necessary or useful (in particular, I think server-side people see properties as far less crucial to their daily life than swing programmers).

Properties history here:

Alex Miller
Interesting. I wasn't aware of controversy over properties, at least not the sort of flaming hate closures has provoked. Can you provide any links to fill in the background of pros and cons? I do agree about properties being less important server-side, and JavaFX addressing the need on the client.
erickson
Being a server-side person, properties is all I have.
bwalliser
Added a link on older property discussions. Personally, I'm vigorously ambivalent. I find most of the proposals don't get me too excited. I'm not sure Java can go far enough to really satisfy like Groovy or Scala in this department.
Alex Miller
+1  A: 

Any given thing is "not done" by default, so no particular reason is needed for something to remain not done. Rather some compelling reason is needed to move something from "not done" to "planned" or "done". No sufficiently compelling reason has yet arisen for this language feature.

Neal Gafter