Sun's Phipps Slams App Engine's Java Support
narramissic writes "Sun Microsystems' chief open source officer, Simon Phipps, said in an April 11 blog post that Google committed a major transgression by only including support for a subset of Java classes in its App Engine development platform. 'Whether you agree with Sun policing it or not, Java compatibility has served us all very well for over a decade,' Phipps wrote. 'That includes being sure as a developer that all core classes are present on all platforms. Creating subsets of the core classes in the Java platform was forbidden for a really good reason, and it's wanton and irresponsible to casually flaunt the rules.' Phipps characterized his remarks as non-official, saying: 'This isn't something I could comment on on Sun's behalf. My personal comments come purely from my long association with Java topics.'"
Seems to me they should put their money where their mouth is...
Sun confirms it!
'Whether you agree with Sun policing it or not, Java compatibility has served us all very well for over a decade,' Phipps wrote. 'That includes being sure as a developer that all core classes are present on all platforms. Creating subsets of the core classes in the Java platform was forbidden for a really good reason, and it's wanton and irresponsible to casually flaunt the rules.'
You mean like Java ME?
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
Grr.
I think Sun is jealous, they have been pushing grid computing for ages and it's been a flop for them. Google is most likely going succeed here, especially with a "good enough" solution which no doubt pisses of Sun/Sun employees (who have a tendency to go for the engineering "ideal" solution which often results in a very nice and extremely pricey product). Witness the container computing stuff, Sun is making a big deal about seismic tests, and Google is quietly deploying hundreds of these things in their data centers. Sun seismic test vs. Google data center tour. I bet for most of us Google's Java AppEngine implementation will be "good enough".
As someone who personally loves the Java platform, I honestly think he's making a mountain out of a molehill. As far as I've been able to tell so far, the Google App Engine supports the Java platform in its entirety, with a few caveats. Those caveats deal with the services Google offers (e.g. no JDBC accessible database) and the sandbox the apps run in (e.g. no network support, no filesystem).
AFAICT, there's nothing stopping me from, say, writing a JDBC access layer for their Data Store. Which means that Google is keeping with the spirit of the platform, and that this is mostly just a misunderstanding.
If you want real problems, try running Java apps on a shared hosting provider sometime. The limitations of those sites will have you shouting praise for what Google is offering.
Javascript + Nintendo DSi = DSiCade
I realize it's now too late but if it were a few years ago, SUN should have considered changing Java's license to make sure that whoever supports Java, supports it in its entirety.
CLDC, the bastardized, stripped version of Java the Sun blessed and which is still the standard on many phones broke the whole "run anywhere" paradigm.
Still causes us major problems since Sun still supports and condones it despite the fact that almost all systems now could easily support a real Java version.
Wouldn't the various Java ME configurations be exactly the kind of arbitrary subsets that Phipps is complaining about?
The word is flout not flaunt. English is harder than it looks.
None of them can see the clouds; The polished wings don't care.
COBOL compatibility has served us all very well for over a decade, and to develop new programming languages is wanton and irresponsible.
You obviously have never used COBOL.
Javascript + Nintendo DSi = DSiCade
Would we be screaming if it was Microsoft who did this, rather than Google? Yeah, we would be screaming, and rightly so. We'd be worried about Microsoft attempting to create an MS-only ghetto that they lock people into (though it's harder to see how they could do so with a subset, rather than with extensions like they tried last time). We should subject MS to extra scrutiny - they have certainly earned it. But that doesn't mean that Google gets a pass. I know their motto is "Don't be evil", but that doesn't mean that they will live up to it forever.
The CollegeBoard uses a subset of Java in their AP curriculum, and they don't get a complaint?
Hmm...I wonder why they never complained about the limited subset of classes that GWT supports in client-side code.
The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...
great, so first google totally rips of linux and calls it 'android' and now its ripping off java. Combine this with the fact that every company they buy becomes number 1 in their search index, killing of anyone who competes with them, and we get what we deserve. Personally i cant wait for my AI to search the web for me, cutting out the middle man.
As far as I have learnt from a few cursory glances at appengine, it does not offer a complete OS environment. It is severely sandboxed, probably as a measure of security. All classes that deal with those non-existing features can either be non-existing, or exception-generating stubs. Google choose for those classes to be non-existent. That is something different than creating this-environment-only classes and functions, like MS did with their corrupted java. But there are prominent links on the appengine homepage to submit your own featers and bugfixes, so maybe all these complainers can contribute patches instead of contributing whine?
This space is intentionally staring blankly at you
Visual J++ was what we screamed about, and Sun sued Microsoft, and Microsoft backed down and took J++ off the market.
Palm trees and 8
Technically, Google's Android is a code derivative of DavlicVM and Apache Harmony. Apache Harmony and DavlicVM can be considered as similar to Java. However, Android is Not a subset of Java.
Some links to articles discussing the topic:
http://www.javaworld.com/community/node/2683
Some information on DavlicVM and Apache Harmony:
http://www.dalvikvm.com/
http://harmony.apache.org/
Each VM/platform has its strengths and purpose. There should be room in the IT industry for Java, Apache Harmony, Google App Engine, .NET, Mono, LLVM, Tamarin, Parrot, and many other VM's with their associated programming languages.
Hope you find this information helpful.
there fixed that for you.
OK, no Swing, no Corba etc. But I cannot see what part is missing for cloud computing (or any other algorithm. The collections classes (even the thread safe ones), all cryptographic stuff etc. The only thing that really seems to be missing is graphics (images). But for most cloud computing needs, this should be sufficient.
Anything else you may be able to import using the classes from the open source JDK anyway. As long as you don't create files etc. of course, thanks to the sandbox. And we're not talking about a release of another JDK or anything like that, in that case it would be a problem not to include the default functionality.
This seems to be a bit of a cheap shot. He should well know that you cannot display any personal opinions that are directly in his line of work, and then claim that they are not the opinions of his employer. Not in his position.
Mmm.
Anybody want a peanut?
I hope the guy didn't notice that, otherwise he'd go bizerk.
Sun should be begging Google to be bought by them, not this. Google gets OS, hardware, development platform and bunch of products it can use for themselves. And all of it for almost a pocket change.
Whatever Phipps' experience (of which I have no knowledge), he clearly doesn't comprehend Java security. The whole key to safe code in networked environments is the use of security policies. That includes, in addition to "fine grained" access control over OS operations, the ability to restrict access to classes in the classloader mechanism. This is the same stuff that happens whether you're doing applets in a web browser or a servlet in a web application container (including Sun's Glassfish).
Scala, JRuby, Rhino/JavaScript, Groovy, ...
Flaunt vs flaut... there is a difference.
http://grammartips.homestead.com/pairs3.html
http://www.wsu.edu/~brians/errors/flaunt.html
Too bad his publicist/administrative assistant (or, he himself) missed the difference in the words.
(No, i am not bragging nor showing off, nor being pedant. I am just pointing it out...)
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
I think I can speak a bit about legacy code. Where I work there are some old apps written in FORTRAN-77. Yes, I know the current name of that language isn't written all-caps anymore, but that's the whole point: the code is still all-caps, it was written in 1977 and never rewritten since then.
There's a bunch of old engineers who aren't old enough to retire who insist on keeping that FORTRAN code. I've told them and the management that those calculations aren't so difficult, just write the equations on paper and I will implement them in Python. Or just forget about writing the equations, I'm an engineer too and can read those equations from the same textbooks they read in the 1970s.
But no way, they always talk to the managers that went through college together with them in 1977 and convince them that FORTRAN it is and FORTRAN it must be. Fuck, life isn't fair...
Congratulations, sir; you just made an incorrection.
Are you adequate?
I just posted this comment today with the answer: HOWTO: Using a SUBSET to create LOCK-IN!!!.
If Google was going for a lock-in via the API, why would they show people a way to port AppEngine apps so that it can run on normal Django? What Google is going for is the ability to scale their infrastructure faster and cheaper than anyone else. They're counting on their economy of scale being better than anyone else's so that it's actually cheaper than for you to run your own datacenter. That's the whole idea behind cloud computing right? Whether that pans out is another story but that's what Google is leverage, not an API lock-in.
EvilCON - Made Famous by
There's nothing that Sun hates more than a Java implementation that is designed to run faster than "100% slow Java".
The fact is that Java's claim of WORA has always been a pipe dream and it certainly doesn't work well on phones.
The reason that OAK was such a failure for embedded systems is that Gosling et al. didn't have any experience in developing successful embedded systems.
Java libraries favor abstraction over simplicity and performance which is fine on the server but counter-productive on a resource-limited device like a phone.
Pilot: Rodger ... ... Tango ... Charlie ... XRay
Pilot: Rodger ... ... Proceeding to target
Pilot: Rodger ... ... Oridance Armed ... repeat ... Ordinace Armed
Pilot: Rodger ... ... Commencing Boming Run at 30 thousand feet ... repeat ... 30 thousand feet ... target in sight ... repeat ... target in sight
Pilot: Rodger ... ... Fuse's armed ... repeat ... Fuse's armed
Pilot: Rodger ... ... Doors open ... repeat ... Doors open
Pilot: Rodger ... ... Fail Safe Check ... repeat ... Fail Safe Check ... over
Pilot: Rodger ... ... Bombs away ... repeat ... bombs away ... commencing full thrust with after burners ... full turn ... full turn ... vectors up ... vectors up ...
Pilot: Rodger ... ... awaiting further orders
Pilot: Don't mind me ... but this looks a hell of a lot like Mountain View California ... not a bit like Afganistan ... you f*ckin genisus's rodger that ...
Sun Java is enormously bloated; it's time that a company with muscle cuts Java down to a reasonable size.
Appserver is Googles take on cloud computing, but trimmed down to only one application instead of a whole virtual OS. It has nothing to do with Android, the mobile device OS, which may have other constraints and limitations to the Java language.
This space is intentionally staring blankly at you