5 ms·
Does anyone have any insight/source on why Java was a good choice for Android at the time it was created? I got lost in a sea of garbage while trying to find an
by gtirloni 11y ago
Does anyone have any insight/source on why Java was a good choice for Android at the time it was created? I got lost in a sea of garbage while trying to find anything about that. I would like to understand why Java and not something else.
- Mikeb85 11y agoIt's a fast, open source, memory managed language that already had very good traction. Google just underestimated the idiocy of the US court system.
- lcfcjs 11y ago"Fast" ... "Open Source" yeah right, the first one is absolute BS. The second one is exactly wrong and why Oracle thinks they deserve some money.
- hansjorg 11y agoJava was chosen by Android Inc. though, not Google.
- Mikeb85 11y agoYou're right, but Google released the first Android handsets. Actually I forgot when the Sun/Oracle sale happened. Android 1.0 was released before Oracle bought Sun. Though I suppose there was always the possibility of legal action by Sun.
- joezydeco 11y agoGoogle knew Java was a risk for Android and memos disclosed in the court case show that Google was trying to figure out possible solutions. Schmidt (being an ex-Sun executive) reached out to Sun to talk about an alliance. http://icdn4.digitaltrends.com/image/google-schmidt-610x452.png http://icdn4.digitaltrends.com/image/google-schmidt-610x452....
- greydot 11y agoDidn't Google think about changing languages several years ago but were already so invested in Java, they decided not to? I may be remembering that incorrectly
- JohnTHaller 11y agoUnfortunately, Java should be considered open source with a huge asterisk after it and a long explanation due to the legal ministrations of Oracle.
- Corrado 11y agoI fear the same thing will happen with Microsoft's .Net code. Once we are all using it the rules will change and we'll be at the mercy of a mega corporation.
- jkot 11y agoC# could be better choice. Microsoft offered royalty free license and big part of CLR was already opensourced.
- a-saleh 11y agoHuh, I have never heard about the royalty free licence or opensourcing of parts of clr. Do you have source for that? Like, the .net core was opensourced just last year, and even the .net micro for resource constrained devices was opensourced in 2010, 2 years after first android device existed. I am not sure how usefull would using mono have been in this case. On the other hand, I would agree that C# 3.0 with its support for lambdas, LINQ, ability to just use 'var' for local variable declaration, e.t.c looks like a much nicer language that what Java 6 SE was.
- throwaway_xx9 11y agoAn internal Google memo was released of an engineer reviewing possibilities and ranking Java as the only viable one.
- delish 11y agoI couldn't find this memo. I'm interested in reading it. I did find a WSJ article with a quote from a Google engineer: "We have been over a bunch of these [alternatives to Java] and think they all suck," the Google email continued, according to the transcript, adding, "We conclude that we need to negotiate a license for Java." [0] [0]http://www.wsj.com/articles/SB10001424053111903520204576482613857778484 http://www.wsj.com/articles/SB100014240531119035202045764826...
- SXX 11y agoThere is set of answers from Andy Rubin: http://www.zdnet.com/article/trial-android-chief-on-why-java-was-picked-for-android/ http://www.zdnet.com/article/trial-android-chief-on-why-java...
- joezydeco 11y agoThanks for posting that. The answer to OP's question is right there. "Nevertheless, describing his experience from his first startup, Danger, Rubin highlighted the benefits of using Java for a smartphone -- primarily the well-known brand name as well as compatibility being that it is a common language taught at universities worldwide."
- Scarbutt 11y agoBecause a lot of devs know Java, this let Android gain market share faster since the barrier to develop Android apps was smaller than using some less used or new language.
- rdtsc 11y agoWell one thing I remember from one of the PyCons, someone had asked Guido (during the years he still worked a Google), why doesn't Android use Python or something to that effect. And even though Guido is pretty laid back, that is one time I vividly remember he got emotional and said it was "a political decision". But it wasn't the message, it was how he said. It seemed it was something he might have had a strong opinion about. With that said, trying to port an app to Android maybe 2-3 years back, for me, it kind of redeemed Java a bit. Before that my exposure was EJBs, some web applications and the general FactoryFactoryManager type junk. Working on Adroid's Java I saw a better Java so to speak. (I've heard the opposite from others how they hated Eclipse and Android's Java API and docs, but that wasn't my experience).
- ww520 11y agoI don't think Python scored that high technically in mobile environment. "Political decision" sounds like an excuse.
- jaxondu 11y agoAndroid was not created in house by Google. The company created Android was using/emulating/whatever the technology that was popular when they created Android. They happened to check out Sun's Java 2 ME (J2ME) which Sun is pushing for small devices. At that time PDA, Windows CE, Symbian devices are popular and many are running or capable of running J2ME apps, just like running Java app on your PC today. J2ME is not just Java, but a complete SDK to build GUI apps.
- hga 11y agoOr rather, in their previous company Danger, Inc., the smartphone they developed for it used Java for those sorts of reasons, and I assume they just continued to do the same thing since it had worked well for them, technically at least.
- irascible 11y agoMostly correct. My recollection from my early days mobile programming was J2ME or BREW. J2ME was java, BREW was c++.. and usually seemed to be used by more constrained devices that couldn't afford the Java runtime overhead. BREW had all the pain of unmanaged c++ on the desktop, minus any good tools for debugging, and writing safe code. J2ME mostly worked and the carriers liked having a standardized format that encompassed the whole asset chain rather than each app writing thier own custom code for everything. Changing a carrier logo in a J2ME app was often as simple as dropping the new image into the Jar file.. vs BREW where you would have to resurrect the complete tool chain of that project, to fix anything that broke after the original contract ended.
- irascible 11y agoMostly correct. My recollection from my early days mobile programming was J2ME or BREW. J2ME was java, BREW was c++.. and usually seemed to be used by more constrained devices that couldn't afford the Java runtime overhead. BREW had all the pain of unmanaged c++ on the desktop, minus any good tools for debugging, and writing safe code. J2ME mostly worked and the carriers liked having a standardized format that encompassed the whole asset chain rather than each app writing thier own custom code for everything. Changing a carrier logo in a J2ME app was often as simple as dropping the new image into the Jar file.. vs BREW where you would have to resurrect the complete tool chain of that project, to fix anything that broke after the original contract ended.
- ww520 11y agoChoice implies choosing from a number of options. What are the alternatives you're thinking of?
- devy 11y agoBelow is the direct quote from the article: "As Oracle tells it, Google was in a mad rush to get its operating system to market before competing platforms could take hold. It chose to use Java because there were already millions of programmers familiar with the language." It's the 8th paragraph counting from the bottom up.
- drivebyops 11y agoWell I remembered a keynote on android back in the early days talking about the amount of Java developers, that they could easily start development or something like that. I think because iPhone SDK was objective-C and it wasn't widely used. So Google might've thought they would've had an edge there