6 ms·
James Gosling: Quite the Firestorm
- lucifer 16y agoIt is always a pleasure to read the calm comments of an untroubled mind on contentious subjects.
- drcode 16y agoThis sentence makes me cringe: "There is enough fragmentation among Android handsets to significantly restrict the freedom of software developers." It uses the word "freedom" in that doublespeak-y way that is used in the "Handmaid's Tale" when they talk about giving citizens "freedom from" social deviants by establishing a totalitarian state.
- malkia 16y agoBut it's fragmented, and there are is no TRC (Technical Requirment Certification). For example how the application should deal with built-in keyboard, or without. What should it do when rotated. How different resolution would work. There is also no formal requirments specification - e.g. this app requires builtin keyboard, et.c
- thwarted 16y agoBut it's fragmented, and there are is no TRC (Technical Requirment Certification). Yeah, but the comment was about the term "freedom", not "fragmentation".
- ergo98 16y agoWhat? Dealing with a physical or a software keyboard is well defined in Android. Dealing with rotation is a foundational element of the system. Dealing with different resolutions is a foundational element of the system. >e.g. this app requires builtin keyboard, et.c Again...what? Android provides EXACTLY this functionality. Gosling lost me when he decided to essentially cover-his-technology-ass with the Android remark. "Fragmentation" in the Android ecosystem is almost entirely simple version fragmentation, and even that is rapidly resolving. On specific handsets there are extremely few device-specific edge conditions, like a peculiar 3D performance profile on some devices. This is nothing like the absolute disaster that J2ME was, where they tried so hard to abstract everything to the absolute lowest of the lowest common denominator, and what was left was simply trash.
- CrazedGeek 16y agoThere's a few oddities that come from the custom UIs, which make it kind of annoying if you want to design a good looking, consistent-with-the-rest-of-the-phone experience. Admittedly, this isn't a huge problem, and indeed is only a problem with a few of them (Sense UI, mostly), but since almost every manufacturer has a custom UI, it can be a pain.
- roel_v 16y agoI don't understand this point. I have an HTC Desire with Sense, i downloaded a bunch of apps from the app Market over the last few weeks, and I never noticed any differences in UI between the build-in spps and the ones I downloaded. Have you ever had to make adjustments to your apps to make them look good/OK on, e.g., Sense? What kind of adjustments were they?
- ergo98 16y agoI hold the same questions, both as an Android developer and as a Android app consumer -- Sense plays zero part in my development, and as a user while it changes the home screen and offers some widgets, it does nothing to change individual apps. Nor does Motoblur, or Sony's Rebecca or whatever they call it, or LG's....
- malkia 16y agoRightfully downvoted. I got carried over. I have the first T-Mobile G1 and I can't update the OS, can't download new apps... That makes me sad :)
- illumin8 16y agoI think he actually makes a good point - remember what James Gosling has been through with the Java/Microsoft scandal. What would happen if Microsoft decided to make their own Android handsets tomorrow, but "embraced and extended" the Dalvik VM to run some special .NET code? If they gained significant marketshare, they could hijack the Android mobile platform as their own, just like they tried to do with Java. I'm not saying they would do that, or even that they should, but I think this is the line of thinking that Gosling is coming from. Java has always had "write once, run anywhere" as it's motto. Android should try to stick to that ideal as well- it would do the platform good.
- jamesbritt 16y agoJava has always had "write once, run anywhere" as it's motto. Have you found that to be true? I found it to _often_ be the case, but no assurances; you had to pick wisely. Java has had its own problems with fragmentation, despite the motto. If you're going to allow for the variation and variety needed for robust development and platform progress you have to allow for the risk that not all code will always play nice together. That's life. I'd like to see a Microsoft Android. I've few worries about some heavy-handed market dominance, though, since there are few barriers to entry for anyone else to jump in and try the same thing (unlike what was the case with Java when Microsoft was interested).
- illumin8 16y agoIt's a goal, but we all know how goals don't always jive with reality. It would still be nice to take Java code and run it on any server platform I choose. If a project is written well, it can, which is a major win for Java.
- bad_user 16y agoremember what James Gosling has been through with the Java/Microsoft scandal Yes, I remember Microsoft releasing the first JVM that did JIT compilation. I also remember them having the only usable IDE for Java at the time. I also remember them wanting to add "delegates" to the standard, with Sun responding with an idiotic reply for all to view here: http://java.sun.com/docs/white/delegates.html http://java.sun.com/docs/white/delegates.html Delegates which are now being added through the back-door in the InvokeDynamic JSR ... oh, the irony. If Java is a standard, then Sun should have let others participate. Imagine if the Javascript standard / trademark was controlled by Microsoft, and they would sue Apple / Mozilla for adding "proprietary" extensions to it. Want to avoid fragmentation ... then don't build cripple-ware.
- shasta 16y agoHow is this double speak? If every state in the US had its own standard for gas pumps, and everyone traveling had to maintain a collection of nozzle adapters in their trunk, that would impede freedom of travel. Fragmentation and non-standards hurt freedom under its ordinary meaning.
- jamesbritt 16y ago" ... that would impede freedom of travel. " No, it would impede ease or convenience of travel. Not freedom.
- mikedouglas 16y agoOED, 2nd Ed. freedom, n. 8. Of action, activity, etc.: Ease, facility, absence of encumbrance. You may have political beliefs about the utility of positive liberty, but that doesn't mean he's misusing the word.
- mbreese 16y agoTrue, that is a definition. However, I think that in this circumstance we can all agree that freedom is a loaded word.
- protomyth 16y agoWord are only "loaded" when we try to use a clearly defined word as a label for some movement or political soundbite. Freedom has a very simple meaning that has been appropriated by different groups as a not-so-accurate label for their activities.
- jamesbritt 16y ago"You may have political beliefs about the utility of positive liberty, ..." Ah; this is ideological for you.
- deleted 16y ago[deleted]
- tzs 16y agoThe ads on the left side had me laughing. They are Google ads--and every one of them when I visited the page was for attorneys and services offering to help people get patents.
- pxlpshr 16y agoI was about to make a post that stated this same irony. He should switch to another ad platform if he's vehemently against patents. Advertisers are selective about content all the time, why should content producers be any different? It makes their purpose-driven preaches less authentic.
- dman 16y agoAd systems currently fair very poorly on content which contains a negative commentary about a topic.
- hasenj 16y agoI didn't know that page had ads in it ..
- ajju 16y agoI have a lot of respect for James Gosling but claiming that J2ME is more developer friendly than developing for Android is kind of ridiculous. IMO Anyone who has tried to write apps for pre-Android phones using J2ME and tried Android development would prefer Android any day for both business and ease-of-development reasons.
- dman 16y agoCan you point out where Gosling makes the claim that J2ME is more developer friendly ? From my reading of the article he mentions the fact that J2ME fared poorly on code portability across devices and that android fares even worse. He does not address which is more developer friendly in the article at all. As an aside I do agree with him that Android is more fragmented now than J2ME was back in the day.
- ergo98 16y ago>From my reading of the article he mentions the fact that J2ME fared poorly on code portability across devices and that android fares even worse. Well clearly having worse fragmentation would be less developer friendly, would it not? One follows from the other. >As an aside I do agree with him that Android is more fragmented now than J2ME was back in the day. No one who actually developed for Android and J2ME would even dream of saying this. Gosling gets too much of his news from Engadget, I suspect.
- dman 16y agoIt might be just me but when someone says developer friendly I imagine theyre talking about a solid api, easy development cycle, good documentation , helpful community. If someone were to talk about one use case thats more broken on one platform vs another I would not parse that as one platform is more developer friendly vs another. Its been sometime since I tried to hack anything on android (i briefly tinkered with it around version 1.6) but here is an example of some cross device breakage that I ran into - http://code.google.com/p/android/issues/detail?id=1480 http://code.google.com/p/android/issues/detail?id=1480 .
- kevbin 16y agoI admire and respect Dr. Gosling. But I don't think he's reached the acceptance stage vis a vis Sun's great sickness unto death: Java. As technology, java is an adequate synthesis (and advancement) of bracey-block syntax and UCSD-p system platform abstraction. Lots of potential that failed to ever materialize. Sun's aggressive marketing of java as the solution to everyone's problem stagnated the language, starved the company's other engineering efforts, doomed them to the reign of a feckless boy king, and drove them into the arms of a suitor that walks the walk Sun was talking since at least the Javasoft era. Gosling's characterizations of Sun may have applied pre, say, jdk 1.2, but Sun choose to bite the apple, to compete with (and sue) Microsoft, to attack competing technologies, to restrict competitive products--basically to act just like everybody else. The result is a dreadful technology: PL/1 for the 21st century, embedded through every industry, taught in every school; and a zombie Sun persisting in the bowels of a ruthless "devil" they thought to slay. I'm sure Dr. Gosling knows the changes that Sun went through on its long downward spiral better than just about anyone else, but I wonder if he's willing to acknowledge the role that Java qua product played in sealing Sun's fate and the fate of technologists for whom Java is now the default with which they must labor? An apology for Java(tm) would make the elegies a bit more palatable.
- pvg 16y agoVerbose as it is, even Java doesn't employ that many ponderous mixed metaphors.
- dman 16y agoI think youre attributing bad intentions where incompetence would suffice. Also since the main selling point of Java was portability I think Sun was correct in going after implementations which diverged significantly. Sun might have fumbled on a lot of different things, ethics doesnt appear to be one of them.
- deleted 16y ago[deleted]
- tzs 16y agoMy recollection of Microsoft J++ was that it was basically a superset of Java, with the added features allowing you to take full advantage of Windows features. This gave developers the option of sticking to the standard Java features, and ending up with a portable application, or using the extensions so as to write an application that would actually be able to compete on an even footing with non-Java applications. Gosling makes it sound like you could not use J++ to write a portable program. Sun insisted that Java should be "write once, provide the same inferior experience everywhere", and the result is that Java is pretty much completely dead on the desktop.
- prodigal_erik 16y agoJ++ was missing several key interoperability features like JNI (instead it required idiosyncratic native code that no JVM could run) and RMI (it couldn't make remote procedure calls at all, unless you roll your own). And rather than sticking to their own packages, they deliberately poisoned standard classes (I think this even included java.lang.System!) with nonstandard methods whose absence would prevent your code from even loading on a conforming JVM.
- MartinCron 16y agoIf I remember correctly, and this was a long time ago, J++ also didn't support .JAR files, and only was compatible with .CAB files for compressed sets of files.
- clark-kent 16y agoJ++ applications did not run on Sun's Java SDK. Microsoft sold it as Java but it was incompatible with Sun's Java implementation.
- stuff4ben 16y agoThat's not entirely true. At the bank I worked for way back in 2001 we used MS J++ to create a web app that was deployed on Netscape's iPlanet which used JRE 1.1 from Sun and it all ran on a HPUX server that talked to an IBM mainframe.
- ams6110 16y agoHe claims that Apple doesn't like Java because it doesn't lock you to their platform. But Apple worked very hard to support Java as an alternative to Objective C, they basically ported (or tried to port) the entire API to Java but it never really got traction. I'm not sure whether it was because all the folks who were early developers for OSX came from a NEXTSTEP background and already had a legacy in Objective-C, or whether the message-based method invocation of Objective-C was just more flexible, but for whatever reason it turned out to be a dead end.
- pkaler 16y agoYup. Apple stopped supporting the Java to Cocoa bridge because developers weren't using it. It is a huge uphill battle trying to make an App written in Java look good and run with a native feel. Apple doesn't like Java on the desktop because Apps look like this: http://twitpic.com/2djc4u http://twitpic.com/2djc4u Apple still uses Java on the server. For example, the iTunes e-commerce back end is written in Java.
- pvg 16y agoApps written in Java using the Cocoa bridge did not look like that, they looked exactly like Cocoa apps. Pretty much the point of the bridge, its eventual failure notwithstanding.
- jsz0 16y agoThere are some success stories. Cisco uses it for their ASDM client: http://imgur.com/hvGxp.png http://imgur.com/hvGxp.png
- stevejohnson 16y agoYeah, but look at those awful buttons and the weird nonstandard border in the top half.
- cubicle67 16y agoApple ported WebObjects to Java; a massive task
- pvg 16y agoThey had very weak notions of interoperability, which, given our history, we strongly objected to. The trouble here is the assumption that Sun's notions of interoperability were inherently better and that it makes sense to appoint Sun as a global steward of interoperability. Given the history of what, making cellphones?
- cageface 16y agoWe survived, but to help protect us from future suits we went on a patenting binge. Even though we had a basic distaste for patents, the game is what it is, and patents are essential in modern corporations, if only as a defensive measure. This illustrates very clearly just how dangerous (if understandable) this mindset is. Don't fool yourself that you're only filing "defensive" patents. A patent is a weapon and the fact that you don't intend to fire it is no guarantee that somebody else won't later. What's worse, with everybody patenting every dumb thing under the sun out of fear, there's that much more ammunition lying around for unscrupulous people down the road to use.
- tlrobinson 16y agoThe "How To Patent Your Idea" ad, along with the "Ads by Google" caption, on an article by the creator of Java about Oracle suing Google is slightly ironic...
- ez77 16y agoCan't James Gosling afford an ads-free blog? Geez...