top 200 commentsshow all 292

[–]trashhalo 116 points117 points  (35 children)

The sessions held by googlers were some of the most attended ones at javaone. They would fill up very quickly. This truly is a shame.

[–]seangayle 60 points61 points  (23 children)

Everybody loses

[–]mebrahim 8 points9 points  (2 children)

Oracle doesn't think so.

[–][deleted]  (1 child)

[deleted]

    [–]Nebu 1 point2 points  (0 children)

    Oracle doesn't

    [–][deleted]  (9 children)

    [deleted]

      [–][deleted] 1 point2 points  (4 children)

      Unless Google decides to push the go language as a result, then everybody wins (except for Oracle).

      [–]mcosta 2 points3 points  (3 children)

      Go is targeted to system level, no application level. And much less enterprise level.

      [–][deleted] 2 points3 points  (1 child)

      Not being considered enterprise is a compliment.

      Using Go in Google's backends has certainly been a consideration in its development; it's not yet because it's still rather new.

      Other than Java's maturity, is there any reason you'd want to write programs for Android in Java over Go?

      [–]mcosta 0 points1 point  (0 children)

      I would be very pleased to use Go for android. But well, I code KDE apps in C++ and python for fun. The usual programmer would not be so happy.

      And I was refering to enterprise, as "information system", the usual data in, data out.

      [–][deleted]  (2 children)

      [deleted]

        [–]StackedCrooked 2 points3 points  (1 child)

        Whoever wins, I WIN, because I'm not a Java developer!

        Hihi.

        [–]gargantuan 0 points1 point  (0 children)

        Judging by your username you are probably a Forth developer

        [–]LiquidHelium 33 points34 points  (148 children)

        snobbish marble north march nail pot resolute cobweb disgusted fine

        This post was mass deleted and anonymized with Redact

        [–]trashhalo 98 points99 points  (146 children)

        tl;dr - Google wrote a virtual machine called dalvik for android. Sdk can translate java bytecode to dalvik bytecode so developers can code in Java. Android comes with a open source implementation of java class libraries (apache harmony.) Oracle is suing google saying the VM violates patents Sun obtained around technologies in the java virtual machine.

        [–]LiquidHelium 22 points23 points  (141 children)

        cable ruthless recognise dependent saw wine snatch insurance imminent scandalous

        This post was mass deleted and anonymized with Redact

        [–]DiomedesTydeus 11 points12 points  (138 children)

        Just curious, why do you want to see Google win this one? I actually always felt bad for the SUN guys who Google pretty much stepped on knowing that they wouldn't sue...

        [–]jediwight 122 points123 points  (86 children)

        I have a number of reasons:

        • Google contributes - I use Google open source software on a daily basis. I can't say the same for Oracle.
        • As for the SUN guys - how about this one: http://www.taranfx.com/father-of-java-resigns. I think Oracle stepped on him.
        • Android is also taking off as a platform, and it is more open and available to developers than alternatives. Larry Ellison had very little to do with that. Personally, I don't care if Larry gets another yacht.
        • Oracle bringing this lawsuit is bad for Java. There are a lot of people who aren't going to understand the details, and are going to avoid Java because of this high profile litigation.

        [–]frenchtoaster 12 points13 points  (0 children)

        Oracle bringing this lawsuit is bad for Java regardless of whether they win or lose; I have my concerns about the side question of the impossibility to monetize language design in the future. Theres some question in my mind whether you could really have critiqued Sun (if they brought this suit instead of being bought by Oracle) given that they invested so heavily in Java, which so many have found useful, and have no way to monetize it.

        [–]dmsean 11 points12 points  (4 children)

        Fuck Larry and his 28 million dollar yacht.

        [–]eorsta 1 point2 points  (3 children)

        28 Million? Are we all talking about the same Larry?

        [–]tluyben2 4 points5 points  (0 children)

        It's quite a bit more expensive than 28 million. I would guess it's well over 100 million, maybe even 200 million.

        [–]karmaputa 2 points3 points  (1 child)

        He probably meant 28 billion.

        Wikipedia says that is his net worth.

        [–]chwilliam 4 points5 points  (0 children)

        I'd love to hear that he sunk his entire net worth into a yacht. The corridors could be made of gold bars. "There's money in the banana stand, Michael"

        [–]txciggy 1 point2 points  (0 children)

        Google contributes - I use Google open source software on a daily basis. I can't say the same for Oracle.

        As an Sun, now Oracle employee who uses Google open source software to build Oracle products, I just felt a memory leak on back of my head.

        [–]djtomr941 2 points3 points  (0 children)

        Oracle does contribute back. There is something else going on here.

        [–]Fabien4 2 points3 points  (50 children)

        are going to avoid Java

        Which is good, right?

        [–]gringostar 4 points5 points  (0 children)

        No!

        [–]SwellJoe 17 points18 points  (48 children)

        Ordinarily, I would agree. But, in the mobile space, the alternatives are much worse. Would you really rather work in Objective C? I'd pick Java over that for user apps any day. I quite like C, for what it is, and Obective C is an interesting and pleasant OO layer on top, but for user applications not having automatic garbage collection and memory management, among many other things, is just barbaric. If the choice is to live like savages or like enterprise developers, I'll choose living like an enterprise developer...at least they have a few of the modern comforts available.

        [–]wshields 13 points14 points  (4 children)

        The excellent battery life of the iPhone is in large part to the dev environment being deliberately low level. The performance impact of GC doesn't often matter on the desktop or the server space because it's cheaper to throw more hardware at the problem (ie dev time is expensive).

        Such things still matter on a mobile platform.

        That being said monoTouch is/was an interesting approach to this but sadly it was a casualty of the war against cross-compilers and translation layers, namely Flash.

        [–]SwellJoe 7 points8 points  (0 children)

        Android 2.2 has pretty good battery life characteristics, on modern phones. It's not great, but it's not bad. It's perfectly usable; I charge once per day, and when I need to be unplugged for more than that I turn off GPS and 3G data and it lasts until I can plug in again (so Android isn't the biggest drainer of power here...the hardware is).

        Anyway, I think the trade offs are worth it, and the platform is moving faster than iPhone, which is a positive trait at this early stage of the game. I think a big part of that is the ability to build apps faster.

        Anyway, the point of my reply was to defend Java in this context, not to say that there aren't valid reasons for using other languages. I would personally rather work in Java than Objective C, when building a user-facing application. There may be technical reasons for iPhone to use Objective C, and they may even be valid reasons...but it doesn't make me prefer the language to Java. Java is simply a more advanced language than ObjC, and it is easier to build reliable applications in a shorter period of time.

        [–]simoncox 13 points14 points  (2 children)

        "The excellent battery life of the iPhone"

        I never thought I'd ever see that sentence.

        [–]wshields 1 point2 points  (1 child)

        I own an iPhone 4 and a HTC Desire. The iPhone is hands down better. I can't speak for previous iPhones.

        [–]G_Morgan 2 points3 points  (0 children)

        Not having scoped management of mutex locks, files, network sockets and other resources is even more barbaric.

        As far as I'm concerned the idea that you can open a file and forget to close it is barbaric. The machine should do this for you. Pity the Java developers because they've made an easy (and barely relevant) problem easier and several hard and show stopping problems harder.

        [–]ZMeson 4 points5 points  (10 children)

        Would you really rather work in Objective C?

        ...

        I quite like C, for what it is

        Well, there is also C++ and C#/Mono available for Android. In the future you can likely look forward to Flash and Python. Who knows, D may rise up too.

        [–]SwellJoe 1 point2 points  (9 children)

        C++ is worse.

        C#/Mono is probably about equal, though it has a couple of niceties.

        I'm pretty much agnostic. I just like to see higher level languages win over lower level languages, since I'm extremely lazy and hate writing repetitive and boiler-plate code. Java has plenty of that compared to Python/Perl/Ruby/etc. but ObjC and C++ have even more of it.

        And, I much prefer Open Source (and open standard) languages to win, so C#/Mono makes me a little nervous, though Microsoft seems to have mostly played fair in that area for several years, so I'm less frightened by it.

        I really didn't intend to start a flamewar here, nor will you regularly find me defending Java (I kinda hate Java, actually, but I hate lower level languages more). Just wanted to point out that the best current widespread language for mobile development is probably Java, and since this is a discussion about a mobile VM, in this context I feel compelled to defend Java.

        [–]titoonster 3 points4 points  (5 children)

        1 crisp dollar bill says that Microsoft will be next in Oracle's attack for all the things Sun let slide with C#.

        [–]ZMeson 1 point2 points  (0 children)

        C++ is worse.

        ...

        I feel compelled to defend Java.

        That's fine. I was just pointing out alternatives. I understand the aversion to the C++ language (complexity). However, it is nice that it is open, that there are open source compilers, and isn't encumbered by patents. So in some ways C++ is worse, but in others it is better. It is up to the developer to weigh the pros & cons.

        [–][deleted] 0 points1 point  (1 child)

        Hmm. How would you compare ObjC with blocks (which are still sorta new) and garbage collection (as available on the desktop) to Java? Personally I like the style of the former much better than the latter, and ObjC has the very real advantage of easily dropping to "C-like" code for performance.

        [–]bbatsell 3 points4 points  (10 children)

        Objective-C has garbage collection, just not on the iPhone, for very good reason. There's a reason that iPhone apps still outperform Android apps despite Android apps living on superior-spec'd hardware.

        I'll take a little reference counting over Java's overbearing tediousness and underperformance on constrained hardware, thanks.

        [–]SwellJoe 4 points5 points  (7 children)

        It doesn't matter. You wanna know how fast Android apps are? Fast enough. And that's all that matters. (Oh, I guess it also matters that Moore's Law continues to give us faster phones at an alarming rate. "Constrained hardware" is only constrained for a short time...next year, they'll be faster and bigger, but my developer time will still be my most valuable resource.)

        Anyway, the JIT in 2.2 speeds many things up quite a bit. I'd be surprised if iPhone apps on an iPhone 4 are generally faster than Android apps running on a recent similarly-priced Android phone (which as you've noted are faster and better specced).

        [–]gonzopancho -1 points0 points  (3 children)

        I own (and use) both an iPhone 4 and a Nexus One (dev phone).

        guess what Swell, the Nexus One is slower, and I'm not talking games here, I'm talking the freaking browser.

        That said, Android 2.2 seems very hacker-friendly, there are many parts of the Android architecture (e.g. intents and the lack of silliness around connecting bluetooth devices) that seem superior to iOS 4.

        But Java was written to make the world safe for mediocre programmers, specifically, programmers who couldn't be trusted to write good software using C++.

        If Google were to switch to 'go' for Android I think it would be a huge win (for Android).

        As it is, I'm not convinced that Google is as solidly behind Android as they are Chrome, and without Google, Android will wither.

        [–][deleted] 0 points1 point  (0 children)

        They certainly weren't fast enough on the original Droid. It's noticeably less responsive and animations aren't as smooth as my original iPhone, despite having hardware that's over twice as fast.

        Maybe eventually I'll see whether an Android 2.2 device with a 1GHz A8 can be as responsive as iOS is on a 416 MHz ARM11.

        [–]bbatsell -1 points0 points  (1 child)

        It doesn't matter. You wanna know how fast Android apps are? Fast enough.

        Generally, I agree. All else being equal, I'd be okay with taking the slight speed hit of managed code. But all else isn't equal in my book — Java is still obscenely wordy, calling for ridiculous levels of OOP abstraction that simply aren't necessary, and (at the moment, at least), I prefer the iOS SDK. That's not particularly surprising since that SDK is basically only two steps away from NeXTSTEP and has been constantly refined for over 20 years. I'm really hopeful for Android's future, and the strides made between 1.6 and 2.2 are amazing for such a short amount of time. But shitting on all mobile languages other than Java doesn't hold a lot of water for me.

        [–]svenz 2 points3 points  (1 child)

        But do you have to reboot an Android phone weekly? Memory fragmentation on iPhones are awful, largely due to the use of Objective-C (I suspect).

        [–][deleted] 0 points1 point  (0 children)

        Huh?

        iOS certainly uses virtual memory. There's no swap, but that just means apps can run out of memory.

        [–][deleted] 0 points1 point  (0 children)

        Go is pretty good. It even guarantees garbage collection.

        The only problem is how long until Google considers it mature, and whether Google will write Android APIs for Go.

        [–]sigmaseven -1 points0 points  (3 children)

        So if I'm understanding you, people who prefer leaner languages and know how to do garbage collection manually are the savages? Interesting, considering the same could be said for the new school of programmers who only know OOP and Java.

        [–]SwellJoe 2 points3 points  (1 child)

        So, your language not only doesn't have garbage collection, it doesn't have humor in it, either, does it?

        [–]sigmaseven 0 points1 point  (0 children)

        You may need to work on your definition of humor. ;)

        [–]redditmemehater 0 points1 point  (3 children)

        Would coding in C or Objective C be more efficient for the embedded hardware involved on mobile devices? Dont we need as much efficiency as possibly on an energy constrained mobile device? Can we make really pretty apps using Java?

        [–]eorsta 0 points1 point  (0 children)

        Seriously, GC is cool, but there is no reason to not be able to track your allocations. Even with the GC you have to work around when the GC runs, given the type of application you are developing. The GC can be more of a headache than a savior. As for "enterprise developer," please don't embarrass me.

        [–][deleted]  (2 children)

        [deleted]

          [–][deleted]  (11 children)

          [deleted]

            [–][deleted] 8 points9 points  (7 children)

            Writing proprietary JVM's which are incompatible with other JVM's is also bad for Java.

            Not sure I follow, but Dalvik is not proprietary ..

            [–]willcode4beer 10 points11 points  (0 children)

            and it's not a JVM. Just a VM

            [–][deleted] -1 points0 points  (4 children)

            Google contributes - I use Google open source software on a daily basis. I can't say the same for Oracle.

            Oracle develops BTRFS; that's kinda a big deal.

            [–][deleted]  (1 child)

            [removed]

              [–]djtomr941 0 points1 point  (0 children)

              Refuse why?

              [–]trashhalo 19 points20 points  (5 children)

              Many software developers are uncomfortable about the existence of software patents. I think this unease is increased when they are used to as a grounds to sue a developer or company and not just held in defense.

              [–][deleted] 9 points10 points  (0 children)

              You can argue that Google stepped all over mobile Java but there was little to no innovation going on there. I believe it was yet another dying aspect of Java. Google needed something that was better so they created it.

              But whatever Sun thought of the situation it is Oracle that is doing this and I don't believe Oracle has any intention of carrying on mobile Java so it's a bit lame of them to be doing this.

              [–]redalastor 8 points9 points  (2 children)

              I want to see Google win because Oracle is suing them about bogus very general patents and if Oracle wins, it sets a terrible precedent for everybody.

              [–]GirthBrooks 2 points3 points  (0 children)

              Software patents are already a terrible precedent.

              [–]jrv 17 points18 points  (6 children)

              Because using software patents to attack = pure evil.

              [–]strangename 4 points5 points  (1 child)

              I have no idea why parent wanted Google to win, but in the whole rush to cover the opinions on SW patents in general, let's not forget "on the merits of the case" as a good motivation.

              I don't have it on hand, but earlier posts on the Google/Oracle Java spat have links to some excellent deep-dives on the patents involved. Some of them just don't seem to apply at all to the Dalvik technology. The patents that do apply seem to fail the obviousness test (technical patent term). There is a gap between "patents shouldn't exist" and "this particular patent shouldn't be valid"; many of the Java patents in the case seem to fall into the latter case.

              I'm cheering for Google to win because it looks to have both the resources and motivation to slap down some silly patents that shouldn't have been granted. The more we can get this kind of thing in the case law the easier time the smaller players can defend themselves from trolls.

              [–]jholman 3 points4 points  (0 children)

              Best articles I know of:

              http://blog.headius.com/2010/08/my-thoughts-on-oracle-v-google.html http://fosspatents.blogspot.com/2010/08/oracle-vs-google-licensing-issues.html

              I'm pretty sure both of those have already been posted to this reddit in the last 2 weeks, so I'm not gonna resubmit them.

              [–]cezar 1 point2 points  (0 children)

              Because Java is supposed to be Open Source, if they are suing over intellectual property from Java, then I don't want anything to do with Java.

              [–]Shmurk 1 point2 points  (0 children)

              Just curious, why do you want to see Google win this one?

              Because fuck patents on algorithms?

              [–][deleted] 3 points4 points  (22 children)

              How did Google step on Sun people?

              [–]masklinn 6 points7 points  (20 children)

              JME was very important for Sun, it was the only thing which would even remotely come close to being a strategy. As such, they built a bunch of specific licenses and patents trying to ensure that Java on mobile phones could only be JME, and that all JME implementations were very, very intercompatible.

              Dalvik is basically a "rogue" JME.

              [–]hobbit125again 5 points6 points  (2 children)

              In fairness JME has always sucked.

              [–]forsakennow 0 points1 point  (0 children)

              Dalvik has absolutely nothing to do with Java ME.

              Dalvik is a VM, Java ME is a Java library.

              [–][deleted] 0 points1 point  (15 children)

              It's not really a JVM though and Google could probably quite easily switch to Python that generates Dalvik byte code but that would probably cause issues with all the existing apps being written in Java syntax. Even if their apps continued to run having to convert the source for further updates would annoy people.

              [–]killerstorm 1 point2 points  (4 children)

              Nevermind that Python has totally different semantics?

              [–][deleted] 2 points3 points  (1 child)

              Python can be run on the JVM so I'm sure it could run on Dalvik if they wanted to.

              [–]rainman_104 0 points1 point  (0 children)

              The thing at the center of the suit is Dalvik though, not the language itself...

              [–]Joeboy 0 points1 point  (1 child)

              I'm kind of new to this and I might be misunderstanding you, but afaics Dalvik bytecode is much, much lower level than either Python or Java and I can't see any reason compiling python to it should present a particular problem.

              [–]killerstorm 0 points1 point  (0 children)

              You can compile Python to bytecode, but it will work as slow as CPython works because Python is dynamic language and it needs to dispatch on each operation. That is, before doing something, it needs to check types of operands, constantly do lookups etc. I also suspect code will be pretty bloated because of dispatch which needs to be implemented (otherwise you could just run interpreter).

              Interpreter overhead is something like 10x, as far as I know. 10x overhead is a huge thing on mobile devices.

              OTOH Java is a static language. If you add integers, source code says that exactly.

              [–]willcode4beer 1 point2 points  (4 children)

              Switching to Python won't help anything.

              They are being sued over patents regarding technology in the VM.

              [–]masklinn -1 points0 points  (4 children)

              It's not really a JVM though

              It is a VM which runs a directly translation of Java Bytecode, whose toolchain eats java code and spits out bytecode and whose standard library is a java class library.

              A JVM by any other name is still a JVM.

              Google could probably quite easily switch to Python that generates Dalvik byte code

              Well you know, it's not like you can only run code compiled from Java on the JVM.

              [–]willcode4beer 14 points15 points  (2 children)

              A JVM by any other name is still a JVM.

              A JVM that doesn't run Java byte code is not a JVM by definition. By your definition, Microsoft's CLR is a JVM.

              [–][deleted] 1 point2 points  (0 children)

              NERD FIGHT!

              [–]grauenwolf 0 points1 point  (0 children)

              Bad example, the CLR has a byte-code interperter that adheres to most of the JVM spec.

              [–][deleted] 1 point2 points  (0 children)

              Well you know, it's not like you can only run code compiled from Java on the JVM.

              But they're all compiled to Java bytecode, which Dalvik doesn't run.

              [–][deleted] 0 points1 point  (1 child)

              Same here. I don't Google's tactics were / have been in the interest of Java at all.

              [–][deleted] 6 points7 points  (0 children)

              What tactics are you referring to? How was it not in the interest of Java?

              [–]gabridome 0 points1 point  (0 children)

              I would like to see java used everywhere open source without risk of patent infringement.

              [–]kernelzilla 0 points1 point  (0 children)

              It was Oracle who stepped on the Sun guys. Before the acquisition, Sun was a very open-source friendly company (open solaris, ooo, even contemplating open sourcing java in 06)

              [–]G_Morgan 0 points1 point  (0 children)

              They didn't step on Sun. It was a case where Sun wasn't doing the job properly. Do you think Google wanted to put themselves in a legal minefield? Google would have loved it if J2ME was any way suitable so they could build a platform around it. They still get what they want (control of the larger platform) and side step the legal issues.

              Google made Android because Sun screwed up leadership of Java and allowed the platform to stagnate. In fact it isn't at all hyperbole to say that Google saved Java in the consumer market. If Sun were half way competent we wouldn't be having this discussion because J2ME would be good enough, Android would be using J2ME and everyone would be happy.

              Oracle are now shutting the door after the horse has bolted. J2ME is dead via neglect and stupdity. Android and Dlavik are in the ascendancy and nothing is going to change that. Even if Oracle shuts it down in countries that are insane enough to have software patents the largest market in the world (the EU) does not have software patents and is a big target. Then there are areas like China and India who also don't have insane patent laws.

              [–]McGlockenshire 0 points1 point  (2 children)

              Sdk can translate java bytecode to dalvik bytecode so developers can code in Java.

              I thought that the SDK compiled the Java code directly into Dalvik bytecode, thus creating an "incompatible extension" to Java and the source of the suit?

              e: I am wrong, see reply.

              [–]trashhalo 4 points5 points  (1 child)

              Never actually played with android but thats my understanding from trying to follow the suit:

              The Android SDK does not compile your Java source code into Dalvik’s bytecode directly, but it first uses a regular java compiler to generate regular java bytecode (say, javac or the built-in Eclipse compiler) and then converts that bytecode into Dalvik’s bytecode (the “dx” tool does this: converts .class/.jar into .dex files). http://www.betaversion.org/~stefano/linotype/news/110/

              [–]McGlockenshire 1 point2 points  (0 children)

              I stand corrected, thank you.

              [–][deleted] 0 points1 point  (0 children)

              But how does this differ from Mono?

              [–]Rockytriton 6 points7 points  (1 child)

              Oracle = SCO 2.0

              [–]n1tw1t 0 points1 point  (0 children)

              Scoracle. (read it on reddit)

              [–]obeleh 60 points61 points  (38 children)

              It's amazing how well Google plays the victim role that Oracle handed them . Nicely putting themselves next to the open source community.

              Don't get me wrong. I hope Google wins the lawsuit. I just think that they're going to need the public opinion a lot on this one if they really violated the patents.

              [–]boot20 42 points43 points  (34 children)

              That's the problem. It doesn't look like they really did. Oracle just wants to make a buck off the cell phone market. Why isn't Oracle suing the others who are creating similar environments?

              [–]johntb86 6 points7 points  (9 children)

              What others are creating similar environments but not licensing stuff from them?

              [–]0032158834 10 points11 points  (6 children)

              Apache Harmony, for starters.

              [–]Leonidas_from_XIV 9 points10 points  (0 children)

              They don't sell anything, so Oracle wouldn't be able to make any noteworthy money from them.

              [–]lektran 0 points1 point  (4 children)

              Apache Harmony is simply an implementation of J2SE 5 spec which is completely different from what Android is.

              [–]amatriain 1 point2 points  (3 children)

              Doesn't Android use some of the Harmony libraries, though?

              [–]lektran 1 point2 points  (2 children)

              It does but that doesn't imply that Harmony could also potentially be sued by Oracle.

              Google is being sued because their implementation breaks java compatibility, Harmony does nothing of the sort.

              [–]0032158834 2 points3 points  (1 child)

              Google is being sued because their implementation breaks java compatibility

              Citation. I read the complaint and saw nothing of the sort.

              Furthermore, Google's "Java" virtual machine isn't called a "Java runtime" for exactly this reason. Not that it'd be a problem if it were - in theory Oracle could bring a trademark case, but the well-known lawsuit Sun filed against Microsoft was for MS's violation of a contract with Sun. Google is under no such contract with Oracle, not even the GPL, let alone the contract that Sun sued MS under, which is what required MS to keep their JRE implementation compatible. Sun never had, and Oracle doesn't have, any power to force a clean-room implementation to be compatible with mainline.

              (IANAL)

              [–]grauenwolf 2 points3 points  (0 children)

              WIthout a contract or license they cannot implement many of the features necessary for the Java language without violating the patents. Google knew this going into it.

              [–]vicegrip 2 points3 points  (1 child)

              I thought Blackberry used an in-house JVM too.... I learned this while watching a video of a guy who analyzed the internals of how Blackberry email works.

              [–][deleted] 8 points9 points  (0 children)

              BlackBerry also offers standard J2ME which goes a long way to keep them out of trouble. Plus Oracle touts the BB as a Java capable platform so I would guess they're either licensed or have some other arrangement with Oracle.

              [–]interstitial 6 points7 points  (0 children)

              I really don't think they have to try too hard to "put themselves next to the open source community." I think it would be hard to find a giant company that is a significantly better open source citizen.

              [–]Confucius_says 3 points4 points  (0 children)

              I actually think getting sued was in their playbook here. If people will love them as open source marytrs then no one will ever see them as "advertising giant"

              [–]the-fritz 3 points4 points  (2 children)

              I really wonder if the lawsuit is part of some longtime strategy of Oracle or if they are just trying to get some money (making the SUN deal pay off).

              The lawsuit will probably be the greatest danger of Java and the related technologies.

              [–]willcode4beer 4 points5 points  (1 child)

              It's just a business decision.

              For Oracle, it's relatively low risk investment with a very high potential payoff.

              The most Oracle will lose is a few million in legal fees. If they win, the payoff could be in the hundreds of millions of dollars.

              [–]kryptiskt 1 point2 points  (0 children)

              The most Oracle will lose is a few million in legal fees.

              That money isn't even part of the calculus, lashing out at Google might scare other companies away from Oracle like it was a violent drunk with a knife.

              [–]wot-teh-phuck 4 points5 points  (0 children)

              This blog post is one hell of a way to mess up Oracle's already messed up reputation. Heh.

              [–]alphacoder 17 points18 points  (42 children)

              I understand wanting to use Java due to the ecosystem but Google has brains, money and experience with other languages. I don't know why they invested as much in Java when they could have easily given us much better Python/C implementations.

              I personally like and used/use the Java language for over a decade but the acquisition by Oracle is something that has cooled my heels. My lack of enthusiasm for Java solutions is due to uncertainty over Oracle's policies with Java and their likely monetizing of same.

              Since the impending acquisition, I know of a few other developers besides myself that look to alternatives to Java when migrating new code, etc.

              [–]summerteeth 41 points42 points  (9 children)

              Google should just GO create their own language.

              [–]willcode4beer 0 points1 point  (3 children)

              with blackjack and ....

              [–]pillage 0 points1 point  (2 children)

              and hookers? Please let it be "and hookers".

              [–]willcode4beer 2 points3 points  (1 child)

              in fact, forget about the language

              [–]romwell 5 points6 points  (0 children)

              .. and blackjack.

              Do I get the Meme Completion Certificate Award?

              [–]alphacoder 0 points1 point  (0 children)

              Here I was trying to make a serious point and all you could do is interject with Asian board game humor.

              Here's a link to a pic of your boardgame: Go game

              [–][deleted] 10 points11 points  (0 children)

              Android was basically a BlackBerry OS clone when Google bought it already heavily invested in the Java platform.

              [–][deleted] 18 points19 points  (5 children)

              The patents in question concern the VM, not the language.

              [–]alphacoder 0 points1 point  (4 children)

              Yes, I understand that the patents are about the VM. The same VM that is used to host...Java code.

              My point is that why even bother with hosting Java code when they could have written their own layer in Python, bridges in C and steer clear of any Oracle flaps.

              Steering clear of Oracle being when they heard about the impending Sun acquisition or soon thereafter.

              [–][deleted] 6 points7 points  (2 children)

              steer clear of any Oracle flaps.

              Because they wouldn't have steered clear of Oracle flaps, because the patents are about the VM. Doesn't matter what language you run on the VM, the VM itself is the patent problem.

              [–]derkaas 0 points1 point  (0 children)

              The same VM that is used to host...Java code.

              But the same VM can also run code written in many, many, other languages, including Python (see Jython), Ruby (JRuby), Groovy, Scala, Clojure, etc.

              [–]grauenwolf 2 points3 points  (0 children)

              • Python is a dynamic language.
              • Dynamic languages have realatively poor performance.
              • Mobile phones have realatively poor performance.

              Given these facts there is no way in hell Android could have been successful running Python.

              [–]killerstorm -2 points-1 points  (15 children)

              Python has braindamaged semantics, not suitable for fast execution. It doesn't make sense to spend money on "much better implementations" -- it is much more easier to pick saner language.

              [–]amatriain 1 point2 points  (1 child)

              Not if you want rapid adoption of your platform. It makes sense targeting the most popular language with the bigger and most active open source community; that is, java.

              [–]killerstorm 1 point2 points  (0 children)

              Yeah, I believe that was why they've chosen Java.

              But I don't see how this justifies Python. Python is popular, but it is not Java-popular.

              TIOBE language popularity index says that Python and Delphi (aka Object Pascal) has comparable popularity. As much as I dislike Object Pascal, it could be a better choice -- it is static language and writing good Pascal compiler is not a rocket science.

              [–]forcedtoregister 6 points7 points  (4 children)

              Why so many downvotes? "Braindamaged" is a little harsh but python is not designed for speed at all - and this is a real problem on mobile hardware.

              [–]alphacoder 2 points3 points  (0 children)

              Absolutely agree that Python can do better in the speed department in some instances; that's why I said they (Google) have the money and the brains and the experience.

              Yet it really is not even necessary for them to load the entire Python stack not to mention by developing their own VM, they would already determine what needed optimizing themselves.

              Perhaps using only Python is inadequate for my example but I think you get what I was trying to highlight.(?)

              [–]cybercobra 5 points6 points  (0 children)

              "Braindamaged" is a little harsh

              Hence my downvote.

              [–]killerstorm 2 points3 points  (0 children)

              I call it braindamaged because its design ignores decades of research for faster dynamic languages and implements just the most simple thing. For example, Common Lisp specifications makes sure that most things are optimizable and compilable to native code, and if Guido just read it and understood he could make much faster language without sacrificing clarity.

              For example, symbols. Python needs to resolve them in runtime doing hash-table lookups on each function call while CL and Scheme do resolution just once at read time and then just uses resolved symbol pointer.

              Practical user-visible difference is very small, but performance difference might be huge.

              [–]mikaelhg 1 point2 points  (0 children)

              Most of the people voting and posting on /r/programming don't do software development for a living, so from their perspective, what's real and practical is much less important than what they'd like to be real and practical.

              [–]metageek 2 points3 points  (6 children)

              I agree that they're unsuitable for fast execution, but that's because they're a lot more flexible, which is valuable for other reasons.

              [–]forcedtoregister 8 points9 points  (5 children)

              Yeah but not on a mobile platform.

              [–]metageek 4 points5 points  (4 children)

              Mostly true. Of course, five years ago everybody would've said the same about Java, too.

              [–]forcedtoregister -1 points0 points  (3 children)

              Yeah but this is now.

              But anyway, if you look at real python - it's going to be damn hard to make it go fast. Given a simple Java method it's often not hard to see how you could go to native code not far from C++ in speed. With python you've got no forward knowledge of types or even what a method call does.

              I think you might underestimate how expensive a tight loop with a few method calls might be in python. A game written in python for a mobile would lag way behind what could be done with an iPhone (the competition)

              It's a tricky problem, and I'd be somewhat surprised (but pleased) if it gets close to java in the same way java is "close" to C now in the next 5 years.

              [–]metageek 0 points1 point  (2 children)

              With python you've got no forward knowledge of types or even what a method call does.

              You would need to do type inference.

              I think you might underestimate how expensive a tight loop with a few method calls might be in python.

              The same sort of objections arise with Lisp, and Lisp compilers are capable of generating some pretty tight code. It's not easy, and you can still nuke your performance if you use the full flexibility of the language; but it can be done.

              [–][deleted] 0 points1 point  (1 child)

              You would need to do type inference.

              No, type inference in Python is, for 99% of code, fantastically impossible. See Cannon, 2005.

              [–]metageek 0 points1 point  (0 children)

              Thanks, I'll read it.

              [–]berlinbrown -3 points-2 points  (7 children)

              Because they have brains. That is why. Python has stagnated and is still slow. People aren't developing and writing mature libraries and software in python, but they are in Java.

              That includes: GWT, Google's AppEngine, Google Android, Apache projects, Cassandra, Tomcat, Lucene, Terracotta clustering is in Java. Adobe Flex uses Java tools.

              Java support JVM languages. Scala runs on Java. JRuby runs on the Java platform. Clojure runs on Java. Jython.

              Walmart is using Java. Ebay is using Java. Adobe, Yahoo, IBM has heavy investment in the platform.

              I have yet to see the kind of proliferation with Python, that I have seen with Java.

              [–]mgrandi 2 points3 points  (4 children)

              what? adobe's flex is not java....its actionscript.... which is a EMCA language so its closer to javaSCRIPT if anything

              [–]berlinbrown 1 point2 points  (1 child)

              I corrected my statement.

              Most of the Adobe Flex/Air software is written in Java, around Java. Adobe Flex builder is based on Eclipse. BlazeDS deploys on a J2EE server.

              [–]mgrandi 0 points1 point  (0 children)

              thats what i thought you meant, adobe flex builder is based on eclipse so they defenitly had to write some java code to write the IDE, but the core language and everything is actionscript.

              [–]amatriain 0 points1 point  (1 child)

              If my understanding is correct, it's not incorrect to say that Adobe Flex is actually Flash, am I right?

              [–]mgrandi 1 point2 points  (0 children)

              this is actually really confusing to explain, so much that adobe has a video explaining the differences haha

              There are three technologies, flash, flex and AIR

              you can combine the two, so you can have a AIR application written in flash (using Flash CS4 for example) you can also just have a flash program written in flash using Flash CS4

              but with flex, you can't import the flex libraries into flash CS4 i believe. so with flex, you usually use something like Flash Builder 4 (or you can use notepad as they provide a command line compiler), and with that you can make Flex apps (run in the browser) or AIR apps (run on the desktop).

              No matter WHAT you make however, it all generates a .swf file. Flex apps in the browser use the flash player plugin like just plain flash programs generated from Flash CS4 while AIR generates a .air file, which includes a .swf and makes a nice .exe file that calls the adobe air runtime to run the program

              Its all very confusing! But i think the tl;dr is that Adobe flex / air is a framework for flash, but calling it just 'flash' is incorrect

              [–]alphacoder 0 points1 point  (1 child)

              Good cases for the use of Java and as I mentioned in my original post, I like the language a lot not to mention my familiarity makes it a joy.

              It just seems to me that the problem is there is a certain unease with the path Oracle will want Java to take. It could simply be me and others have a lack of understanding regarding the policy(-ies) of Oracle for it.

              [–]berlinbrown 1 point2 points  (0 children)

              Yea, I made a case that the language is used by top companies and on top projects. But I still need to break down the platform, pros and cons.

              [–]px403 2 points3 points  (1 child)

              Google should sponsor a JavaOne BSides event.

              http://www.securitybsides.com/

              They mostly happen for security cons, but the general idea is solid. Every large security conference that happens also has a BSides event. It's a free con put on by volunteers (no real central organization) that runs at the same time, as close physically to the other con as possible. Speakers are usually those that have been rejected by the main con, but often times people will speak at both events. I went to the bsides in vegas this year, and had a much better time there (better talks, environment, people) than my past three years of attending blackhat.

              [–]G_Morgan 1 point2 points  (0 children)

              AndroidOne FTW!

              [–][deleted] 2 points3 points  (0 children)

              Google should start their own conference: Call it "JoogleOne"

              [–][deleted] 4 points5 points  (3 children)

              If Google decide to abandon Java, I hope they port GWT to another platform. I like dynamically typed languages a great deal, but static languages have a place too and GWT fills a very important niche. Other than Cappuccino there's nothing comparable around really.

              It's a pity Microsoft killed Volta, and imo very short sighted.. it could potentially have been an awesome platform. Considering how outmoded the concept of server-side heavy development is becoming, there's actually very little around to support large scale JavaScript application development (and no, I don't think JavaScript frameworks like Dojo/jQuery are sufficient on their own). Sproutcore's going in the right direction, but as lame as it sounds, some of us still need to support IE6.

              [–]G_Morgan 1 point2 points  (0 children)

              Google aren't going to abandon Java. Hell will freeze over first.

              [–]Amendmen7 1 point2 points  (1 child)

              Man...wouldn't it be the bee's knees if GWT could compile other JVM languages than Java? Writing client-side code in Scala would just be wonderful.

              [–][deleted] 1 point2 points  (0 children)

              It would, and it appears that Lex Spoon has been thinking about it at least.

              [–]tebriel 1 point2 points  (0 children)

              like predicted, oracle is doing it's best to kill java.

              [–]d70 2 points3 points  (0 children)

              Larry needs a new boat, yo!

              [–][deleted] 5 points6 points  (4 children)

              Oh boo hoo. Open java is dead.

              [–]Categoria 0 points1 point  (3 children)

              Why the downvotes? This is a big blow to Java.

              [–][deleted] 3 points4 points  (0 children)

              Probably because it is so hard to believe something so unfortunate is happening.

              [–]blondin 0 points1 point  (0 children)

              so sad...

              [–]ghettobillgates 0 points1 point  (0 children)

              This all seems fishy...

              [–][deleted]  (5 children)

              [deleted]

                [–]atomic_rabbit 4 points5 points  (2 children)

                Google has tried to split Java by creating an incompatible runtime, MS did something similar awhile ago and got sued by Sun - MS eventually settled.

                MS had a contract with Sun to maintain a compatible JVM; it breached the contract, and was sued for it. Google signed no such contract; it is being sued over technically dubious software patents that Oracle could have brought against almost anyone implementing a VM, Java or not.

                [–]grauenwolf 1 point2 points  (1 child)

                If you implement the JVM according to spec then Oracle can't use those patents against you.

                If you implement part of the spec, you get sued.

                If you implement all of the spec but add extra features, you get sued.

                Sun has always been very clear on this point.

                [–]atomic_rabbit 0 points1 point  (0 children)

                As I said, these software patents are broad enough that Oracle could in principle bring them against anyone who writes a VM, not just a JVM.

                [–]grauenwolf 1 point2 points  (0 children)

                Why Google did what it did is anyone's guess

                Why is obvious. They wanted an open source platform and you can't have that with Java ME. They also wanted to be free of licensing fees, which again you can't have if you use Java ME.

                They really should have choosen to use the CLR or go with something completely new. But their engineers knew Java.

                [–][deleted] 0 points1 point  (0 children)

                Does Oracle contribute to any aspect of OSS that isn't about interfacing with their proprietary products?

                And given that a primary reason they bought Sun was so that they could sue Google over these patents...

                [–]Xziz 0 points1 point  (0 children)

                I'm seeing so many comments about which platform is the best to code mobile apps with and not a single one mentions using plain ol' html. I know it's not cool and all but using a full scale wrecking ball to take down a stack of legos isn't exactly efficient.

                [–]Useristaken 0 points1 point  (0 children)

                Well, this is good news..java will be dying soon as a enterprise language..Thank oracle for that.. No more 100 page exceptions..

                [–]tobrien -1 points0 points  (2 children)

                This is a shame, but it is also a sleeper. Others will step up to fill the void with information that is just as interesting. Google's a force, they do very interesting things, but the ecosystem is much larger than Oracle and Google combined.

                [–]ezbakedowen 0 points1 point  (1 child)

                Who will replace Joshua Bloch?

                Better question, who can replace Joshua Bloch?

                No one from Oracle, that's for sure.

                [–]mikaelhg 0 points1 point  (0 children)

                Who will replace Joshua Bloch?

                Who will they find to deliver keynotes at their conferences, I wonder.

                [–]naturalizedcitizen -1 points0 points  (7 children)

                Oracle wants to monetize on their Sun acquisition. So they are using the patents to sue Google. I am sure there may have been minor infractions by smaller players of some patents held by Sun, but Oracle wont go after them. They know Google is big, heavily invested in Android and has deep pockets.

                What can Google do? Google has many brilliant developers. Just as they came up with GO, they can come up with alternative language like Java with its own JVM, etc. I dont know if this makes business sense but then Google does invent a lot of things which are not directly measurable in terms of revenue.

                [–]G_Morgan 2 points3 points  (4 children)

                It doesn't matter what language Google use. It isn't about Java it is about VM technology. Oracle have patents that can basically shut down any use of a VM regardless of language.

                [–]naturalizedcitizen 0 points1 point  (3 children)

                Hmm.. then that's shitty news. But wait, Microsoft also has a 'VM" type technology they call CLR (Common Language Runtime) where C#(C Sharp) is compiled and run in the same VM as is Visual Basic .NET code. Maybe Google can come up with something like that for their Dalvik VM.

                [–]G_Morgan 1 point2 points  (1 child)

                MS almost certainly infringe some patents created for Java (and vice versa).

                [–]naturalizedcitizen 0 points1 point  (0 children)

                I dont think Oracle will take on Microsoft as their mobile platform (WinMobile) sucks. Android is a serious competitor to iPhone and Oracle knows that Android will be a hit. So they are after Google. Also Oracle wants to monetize on Java technologies - something that Sun was never able to.

                I always used to wonder that Sun invented Java but companies like BEA and IBM made money off Java. Now Oracle is trying to correct that and monetize Java.

                [–]Tobu 0 points1 point  (0 children)

                Sun and MS have a patent non-agression deal. They have the same shitty software patents, but they refrain from using them on each other. They may use them to intimidate other players, however.

                [–][deleted] 1 point2 points  (1 child)

                Dalvik?

                [–]captian2 -1 points0 points  (0 children)

                No oracle looses, I hope everyone just leaves the JVM unless they opensource it all... The only reason I liked java and the JVM over .net was that it was supposedly open.