Warum hat Android das Java-Konzept anstelle der D-Sprache oder C oder C ++ verwendet? Aber Chromium Webbrowser ist in C ++, seine sehr komplizierte Übereinstimmung [geschlossen]

7

Android ist 32-Bit-ARM. Wiki

Beschreibung:

1) Also, 32/64 oder 8/12/16 Bit Compiler ist mit D-Sprache verfügbar, wenn es nicht von einem Compiler aufgebaut werden kann, wenn ich nicht falsch liege?

2) Linux-Standard-Kernel: Bibliotheken, die in C und anderen Sprachen geschrieben sind, können zu ARM mit D-Sprache kompiliert werden, glaube ich, nicht nur D-Sprache ist auch mit C / C ++ möglich.

Laut Android Wiki beginnen meine Informationen meine Verwirrung:

  • wiki: Geändert Version des Linux-Kernels (es ist nicht Linux, aber seine modifizierte Linux, Beause Hardware-Kompatibilität? Also kann ich RPM-Verpackung nicht verwenden? Weil es nicht Standard-Linux mehr?)

  • wiki: Während die meisten Android-Anwendungen in Java geschrieben sind, gibt es keine Java Virtual Machine in der Plattform und Java-Byte-Code wird nicht ausgeführt. Java-Klassen werden in ausführbare Dalvik-Dateien kompiliert und auf der Dalvik virtuellen Maschine ausgeführt. Dalvik ist eine spezielle virtuelle Maschine, die speziell für Android entwickelt wurde und für batteriebetriebene mobile Geräte mit begrenztem Speicher und CPU optimiert ist. J2ME-Unterstützung kann über Drittanbieter-Anwendungen bereitgestellt werden.

Frage: Warum wird Android nicht mit D- oder C / C ++ - Sprachen geschrieben? Anstatt sich mit all dem Chaos zu befassen, ist dies die einzige Firma, die bewiesen hat, dass Bigtable sie benötigt (die Welt kann das Problem noch nicht lösen) und Mobile-Plattform erfordert auch Änderungen wie Android? Was ist dann mit der iPhone / Nokia-Implementierung falsch?

Frage: Warum Android nicht JVM ausführen, aber sie ein Java-Konzept erstellen alternative JVM-Verarbeitung, anstatt das gleiche wie MeeGo oder andere zu tun. Ist das ein Marketingbegriff oder ist das ein Fachbegriff? Kann nicht in C / C ++ oder D nur das ganze Android geschrieben werden? Anstatt Java-Konzept oder Messkonzepte einzubeziehen?

Wenn ja, dann Chromium-Webbrowser warum haben sie wieder C ++ benutzt? Warum nicht nur Java für Chromium-web folgen?

Es ist alles zu lernen, wie es im praktischen Leben verwendet wird, für mich wieder, es ist nur zu wissen, warum sie so Chaos für Android gemacht haben? Lernen wir Programmiersprachen in der Universität auf falsche Weise (wisst ihr später, oh Big Google hat gerade Java für Android benutzt)?

Vielen Dank im Voraus für Ihre wertvolle Beratung.

    
YumYumYum 09.04.2011, 14:21
quelle

3 Antworten

16
  

Warum wird Android nicht mit D- oder C / C ++ - Sprachen geschrieben?

Weil keine von ihnen eine vollständig verwaltete Sprache ist. D ist Müll gesammelt, aber Sie können auch manuelle Speicherverwaltung ... mit allen damit verbundenen Risiken machen.

Auch, weil ausgehend von einer Java-Basis (in der Form von Apache Harmony, usw.) bedeutet:

  • Java-Entwickler könnten auf Android umstellen und
  • es würde weniger für das Android-Entwicklerteam geben.

Wie jedoch @Marchy betont, hat Google nicht die ursprüngliche Entscheidung getroffen:

  

" ... Google hat Android nicht gebaut. [Android Inc] war ein Start-up, das sie gekauft haben, und als Start-up verwenden Sie alles, was da draußen ist, und optimieren Sie, um SCHNELL und mit SEHR begrenzten Ressourcen in Schwung zu kommen. ... "

Obwohl Google offensichtlich eine Hand hatte, da Google (lt. Wikipedia ) geholfen hat, Android Inc zu finanzieren vor dem Buy-out.

  

Warum Android nicht JVM ausführen, aber sie bauen ein Java-Konzept macht alternative JVM-Verarbeitung.

Schließlich, weil die Einschränkungen, die Sun / Oracle auf die Java-Sprache und -Plattform setzt, es unmöglich gemacht hätten, Innovationen in der Art und Weise vorzunehmen, wie Google mit Android gearbeitet hat. Insbesondere lizenziert Sun / Oracle Anbieter nicht, Java SE auf mobilen Plattformen zu implementieren.

  

Lernen wir Programmiersprachen in der Universität falsch?

Vielleicht Sie hat es getan !!

Aber als ich an der Universität Programmieren lernte, war es in dem vollen Wissen, dass ich niemals einige der Sprachen verwenden würde, über die ich unterrichtet wurde. Zum Beispiel habe ich nie Algol-60, Simula-67, SNOBOL oder CDC-Assembler verwendet. Aber das hat die Gründe, aus denen sie gelernt wurden, oder die wertvollen Lektionen, die ich daraus gelernt habe, nicht entkräftet.

    
Stephen C 09.04.2011, 14:34
quelle
4

Ich schätze, es liegt daran, dass viele Programmierer mit Java und Java vertraut sind, da sie für all ihre Fehler eine ausgezeichnete Bibliotheks- und Werkzeugunterstützung haben. Außerdem verhindert die Ebene der VM-Indirektion, dass die Apps zu eng mit der Hardware verbunden sind.

    
dsimcha 09.04.2011 14:24
quelle
2

Es gibt viele Java-Programmierer, auf die ein ganzes Ökosystem aufbauen kann. Viel mehr als D: p Ein OS, auf dem die meisten Programme auf einer virtuellen Maschine laufen, hat einige Vorteile für die Sicherheit (http://en.wikipedia.org/wiki/Language-based_system). Eine Ausnahme für eine sehr wichtige Anwendung zu erstellen, kann jedoch vom Benutzer aus gesehen die Performance verbessern. Die Auswahl einer bestimmten JVM scheint klar zu sein, es ist etwas, das an typische eingebettete Ressourcen angepasst ist. Ich denke, dass Google in dieser Hinsicht sehr pragmatisch ist.

Für den Fremdsprachenunterricht an der Universität denke ich nicht, dass es darum geht, die neueste modische Sprache zu lernen. Es geht darum, Computertechnologien wie Programmiersprachen zu lernen. Die Konzepte haben sich nicht viel verändert seit, sagen wir 1960, 1970, obwohl das ok ist, ihre Implementierung ist anders.

    
Monkey 09.04.2011 14:35
quelle