Why Google should kill Java for Android

From my perspective there is one main reason why Android, at the moment, can’t compete with iOS.

It’s not the hardware – meanwhile the hardware of mobiles like the Samsung Galaxy SII is somehow even better than the iPhone 4.

And it’s not the operation system – Android is based on Linux, a Unix comparable to the Unix of iOS.

The problem of Android is Java, the programming language of Android apps. And not because Java is a bad programming language. but because it’s has disadvantages over compiled languages like Objective C, C or C++.
You can’t feel this disadvantage on servers or powered desktops, where Java has its strength developing complex systems, but on small devices with limited batterie resources the difference between compiled and not and automatic memory management matters.

Java is easy to develop and easy to learn, the developer has the choice to integrate  a huge amount of third party libs, but when it comes to the runtime costs of Java, compiled languages have their advantages and these are directly related to the user experience.

Java needs a lot of energy and often stops the processor because of it’s automatic memory management. And this automatic memory management also and often leeds to improper application design, because the developer doesn’t have to care for memory management. Huge server systems or strong machines forgive these applications and their developers their mistakes (a/the reason why Java was invented), a mobile not really.

And due to the given physical boundaries I don’t really believe that this behaviour will change soon, even if you power 2 or 4 cores in your mobile.

So my advise for Google would be: Change the programming language, choose a native language for Linux, be as pure as possible.  I’m sure the Android developers will follow you.

And besides you can solve your patent problems with Oracle. Pay nothing.

The Biggest Google Mistake 2009

Google is, no doubt, a, if not the winner of 2009, but, in my eyes, they did one huge mistake:

Their Android Appstore is isolated to the Android platform, at the moment, there’s even no client for the desktop clients.

If I had been Google I have had chosen to buy Sun, have had made Standard Java the platform for Android and have had built an Appstore like the Sun Java Appstore.

Then I would have had an Appstore client for the desktop and the Android phones, and I have had apps, that run on the desktop and the mobile.

I know, you always have to consider screen size, hardware interfaces etc., but Apple will do so, I’m sure.
And they have a huge advantage, again – their iTunes.

The Appstore is one the winner of 2009, like Google is, too, but the importance of the Appstore business model has been undervalued by Google, at least in 2009.

Grenzenlos oder eingegrenzt

Es ist schon faszinierend, wie sich die technische Welt weiter entwickelt und gleichzeitig stehen bleibt.
Wie man nach 20 Jahren im gleichen Job immer noch Neues erfahren darf und Altes wieder verwenden kann und vorallem sollte!

Jetzt sitze ich hier vor meinem Laptop und steuere mit einem Putty-Client, mit gleichen Werkzeugen ein kleines Android Handy und gleichzeitig einen Multi-Millionen-Euro teuren IBM ZOS Mainframe.

Ich entwickle mit Eclipse und Java Programme, die entweder auf diesem kleinen, brandneuen Handset laufen oder halt auf einem sogenannten und über 40 Jahre alten Dinosaurier.

Linux und Java verbinden, und wer sich diesen Technologien verschliesst, wird verlieren, langfristig, weil es sich selber ausschliesst und eingrenzt.

Einige haben das gelernt, andere werden es nie lernen, glaube ich.
Ich mag die, die es lernen…

Java ist auch ein Schnellboot… inzwischen

Java ist langsam, diese Aussage treffe ich seit der Geburt von Java an…oft zu Recht, zumindest in der Retrospektive.

In den ersten Jahren bezog sich eine solche Aussage auf die Laufzeitgeschwindigkeit von Java. Diese Kritik ist inzwischen überholt, ist Java seit einer Version 5 (fast) so schnell wie C++ und definitiv schneller als PHP, Ruby, Grails und viele andere Scriptsprachen. Und das behaupte ich nicht nur so, ich habe mit vielen gearbeitet.

Aber Java war und ist auch langsam in einer/der Umsetzung von (fachlichen) Anforderungen. Auch diese Kritik war und ist auch noch berechtigt. Das schwergewichtige JEE-Framework hat aus den meisten Anwendungsentwickler der letzten Jahre in der Regel Infrastrukturentwickler und “Technikfreaks” gemacht, die sich leider nur zu einem Bruchteil ihrer Zeit mit der Umsetzung von Anforderungen beschäftigen konnten. Nicht unberechtigt deswegen der jüngere Erfolg  diverser Scriptsprachen und CRUD-Umgebungen wie z.B. Rails, Grails u.a.

Weiterlesen