Wieso wurde Android mit Java programmiert?

vom 03.05.2012, 21:12 Uhr

Heute habe ich gehört, dass eine Gruppe von Programmierern es geschafft hat das komplette Android 4 Betriebssystem, welches mit Java programmiert wurde, in die C Programmiersprache umzuwandeln. Wie sie das genau angestellt haben, ist mir ein Rätsel. Doch scheinbar läuft die C Version von Android namens XobotOS, viel flüssiger und besser als die Java Version.

Java ist eine sehr vielseitige Programmiersprache und wird auf der ganzen Welt beherrscht. Dadurch hat Android natürlich den Vorteil, dass es mehr Programmierer für Android Anwendungen geben wird. Allerdings glaube ich, dass es ebenso viele Programmierer gibt, die C beherrschen.

Nun handelt es sich bei den Mitarbeitern von Google um keine Anfänger. Sie wissen, was sie machen und haben dafür eigentlich auch immer ihre Gründe. Allerdings scheint es so, als hätten die Google Mitarbeiter hier eher einen Fehler gemacht oder was meint ihr? Denkt ihr, dass Google bewusst war, dass das Android Betriebssystem mit C besser laufen würde und sich dennoch aus irgendeinem Grund für Java entschieden hat? Was meint ihr?

Benutzeravatar

» hennessy221 » Beiträge: 5132 » Talkpoints: -1,94 » Auszeichnung für 5000 Beiträge



Das Android in Java programmiert wird ist doch eigentlich sogar eine logische Aktion. Java ist eine weit verbreitete Programmiersprache, und ist selbst auf älteren Systemen meist aktuell, und wird unterstützt. Das ist auch der gleiche Grund warum auf jeder Internetseite heute auch noch HTML Elemente vorhanden sind. Selbst aktuellste Flashseiten sind nur soweit in Flash programmiert, wie es das System angeht, die eigentliche Definition der Seiten ist immer noch in HTML geschrieben.

Sicherlich gäbe es klar bessere Systeme wie Java, vor allem leistungsfähigere, aber warum soll ich das Internet auf Glasfaser als Standard ins Leben rufen, und fortan nur noch Glasfasermodems verkaufen, wenn in keinem Haushalt eine Glasfaserleitung liegt!?

Somit liegt es doch auf der Hand das ich Android in einem System entwickele das Standardmäßig sogar von einem Skyreceiver verstanden und interpretiert werden kann. Das macht mein System zugänglicher für Fremdentwickler, und vor allem viel schneller Verbeitungsfähig. Java ist eben eine Programmiersprache die von ihrer Basis her von Computern, Tablets, Handies, Fernsehern und vielen anderen Systemen bereits heute verstanden wird, somit ist Android auf Java Basis ebenfalls mit minimalsten Anpassungen auch auf diesen Systemen verwendbar.

Ich denke, auch ohne großes Fachwissen, das der Hase hier begraben sein wird. Warum sonst sollte man auf eine praktisch veraltete Programmiersprache zurückgreifen. Ein weiterer Grund dürfte sein das Java wenig Ressourcen benötigt, und die Ressourcen von Handies und Tablets nun einmal begrenzt sind.

» Frank The Tank » Beiträge: 350 » Talkpoints: 44,33 » Auszeichnung für 100 Beiträge


Bevor über die Vor- oder Nachteile von Java als Programmiersprache gesprochen wird, sollte im vorliegenden Fall darauf hingewiesen werden, dass das Betriebssystem Android nicht in C sondern C# (C-Sharp) nachprogrammiert wurde. Das ist schon ein massiver Unterschied, wenn man sich mal überlegt, wie viele Bibliotheken hier schon verwendet werden konnten, ohne das Rad neu erfinden zu müssen.

Dann ist es so, dass Android zu einer Zeit erstellt wurde, zu der es noch gar kein C# in der jetzt verwendeten Version (.NET 4.0) gegeben hat. Die Alternative wäre also gewesen, dass das Betriebssystem Android mit einer noch nicht ausgereiften Programmiersprache (was C# damals schlicht war) hätte programmiert werden sollen. Da war Java als schon reifere und weiter entwickelte Sprache natürlich zu bevorzugen. Und dann ist es auch so, dass das Mono-Projekt noch gar nicht ins Leben gerufen wurde. C# wäre damals ein reines Microsoft-Produkt und C# Applikationen hätten Windows zur Voraussetzung. Das ist bei den Smartphones schlicht nicht denkbar gewesen bzw. das Microsoft Mobile Betriebssystem einfach nicht praktikabel.

Hinzu kommt auch ein wenig eine ideologische Sicht: wenn man ein Betriebssystem als Konkurrenzsystem zu z.B. Microsoft entwickeln möchte, dann wird man kaum die Werkzeuge des Konkurrenten verwenden. So ist es sicher undenkbar, dass Audi bei der Neuentwicklung eines Autos Basiselemente bei BMW holt, um später einen Wagen zu präsentieren, mit dem man die Überlegenheit gegenüber BMW präsentieren will.

» derpunkt » Beiträge: 9898 » Talkpoints: 88,55 » Auszeichnung für 9000 Beiträge



Ähnliche Themen

Weitere interessante Themen

^