Getters and Setters are only semantically correct for Java Beans.
In pure usage of the language, clearly if a class with an immutable public element is appropriate, you may use it.
If you only need a getter for your immutable property (and are not writing classes that are destined by management by a container) then do so. It is perfectly OK.
However, if your Java object is ever going to be treated generically by a tool, container, external system (serialization), etc., then you need to "expose" your internal structure. After all, the user of the object may in fact be tasked with "initializing" the object. (In other words, imagine you are the author of a visual editor for Java programs.)
Before criticizing the good engineers at Sun, remember that annotations were not available back in the early days. Today it is in fact quite possible to design a new specification for Java Beans that delegates ALL code generations to annotation processors and gives you the developer a set of annotations to sprinkle on your otherwise uncluttered Java code.
No they are not object oriented. Getters and setters are the fundamental elements of Component Oriented systems. Java beans are 'container friendly' and from the very beginning designed for use with tools. Tools developed by 3rd parties.
But thankfully, that ever mythical "she" of the technical literature has got herself a blog and we note a shift in the tendencies of the clickety click crowd. Oh damn that CAP! Its so hard to scale. I think I'll go shopping for an off the shelf solution.
What did you expect? As a military state, the federation grew out of a fascist background that saw the final official marriage of technology behemoths and the military. Some of the finest minds went down in political prisons or in police actions. sadly, the morons who built the enterprise were all that was left ...
Not even that. It confirms that WikiLeaks is a foreign intelligence operation and this whole "Leaks! Read all out it!!" (coordinated by the Zionist media) is bogus. Always interesting to note which countries benefit from this and which don't (specially if it is a surprise)...
The other shoe to drop soon is the "the solution" to this crisis: electronic identity cards and discreet profiling.
What was great about America, regardless of how you view her history, was that it was that one place in this world were people were not continually hassled by the government. Soon we'll need permission from the local police department to change apartments, no doubt. (Alarmist? Am I?)
We were stealth mode and had developed a super fast NoSQL engine that we were keeping to ourselves. We were itching to go public, but needed to score our initial round of investors before we let out our competitive advantage. Our system was clever but obvious once you read about it, so we had to keep quiet. But we were already getting a buzz among the early adopters we had invited that we rocked.
Our social graph was very nimble I tell you.
Now Joey (not his real name) was in charge of PR with the startup. Normally, I like to wear all the hats in a startup at its inception phase, but the incubator program we were signed up with had put it out that they preferred co-founders, so here we were.
As it was our practice, we made a point of making the rounds of the various bofs, meetups, and what have you. The air was thick with repressed entrepreneural energies. Here you had the little startup doing their little dance. Ground check! Next up the guy with "serial entrepreneurs on board" and dancing the dance. Ground check! What indignities. Did PG ever go through all this?
Soooo, to make a very long (hehe) story short I was screaming in my vaneroid "smart" phone "we have the fastest No-SQL enginge!!!!" but I couldn't face my inner entrepreneur (standing right next to Joe, no less, mf..) looking at me like "dude! think!!" So. I held back, even though I was always the master of P.R.
But then, I had a warm tingly feeling in my crotch as I heard Joe perk up right next to me and say (in a very confident voice I must add) that "our social graph API guarantees O(1) response time".
Yes!
That's the day Joey and I became a team. Sure it was a shot gun marriage before that point but now I knew I had a real partner in Joe. It still gives me a hard on to think about that day!
No you do not have any rights. Its a plantation, and these are the new rules. You may thank the Israehelli-American Mafia ("citizens") who are coming up with these very effective cattle attitude adjustment measures. I mean, why does this woman ask such a stupid question when there is the bio of Chertof for all to read on the internet? I know, because this is the same moron who has problem "logging in facebook" at some random blog. God damn the IQ gap!
In what way is the Microsoft statement not factual?
The product = xbox + interaction device.
And in regards to your o.p., excellent tamper resistance design: imagine a dumb terminal connected to a super-computer. Amazing things appear on the dumb terminal. Hack it all you want: what remains to play with is nothing but a dumb terminal.
In pure usage of the language, clearly if a class with an immutable public element is appropriate, you may use it.
If you only need a getter for your immutable property (and are not writing classes that are destined by management by a container) then do so. It is perfectly OK.
However, if your Java object is ever going to be treated generically by a tool, container, external system (serialization), etc., then you need to "expose" your internal structure. After all, the user of the object may in fact be tasked with "initializing" the object. (In other words, imagine you are the author of a visual editor for Java programs.)
Before criticizing the good engineers at Sun, remember that annotations were not available back in the early days. Today it is in fact quite possible to design a new specification for Java Beans that delegates ALL code generations to annotation processors and gives you the developer a set of annotations to sprinkle on your otherwise uncluttered Java code.