Eine Frage zu ART Laufzeitumgebung

  • Antworten:2
Thomas Stuhle
  • Forum-Beiträge: 36

30.09.2014, 23:03:35 via Website

Art übersetzt die Apps ja schon direkt nach dem Installieren in die vom Prozessor lesbare Sprache oder Code. Warum werden Android Apps nicht direkt in dieser Sprache oder Code erstellt? Und warum nutzt Android nicht ewine eigene Progamiersprache damit könnte Google doch Android rundum besser und schneller machen

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

01.10.2014, 05:48:00 via App

Das hat nix speziell mit ART zu tun. Das ist bei Dalvik und anderen Programmiersprachen ebenso.

zu 1) der programmierte Code wird in eine für die Maschine verständliche Sprache übersetzt. Klar, könnte man auch selbst machen. Haben wir früher auch gemacht. Ist aber hoffnungslos ineffektiv. Man braucht Spezialwissen für jede Hardware, wesentlich mehr Code usw, usw. Das nimmt einem jetzt der Compiler bzw die Laufzeitumgebung ab

zu 2) eine eigene Programmiersprache? Eine Sprache zu lernen ist aufwändig und langwierig. Speziell eine neue Sprache entwickeln ist noch extremer. Besser ist, eine verbreitete, effektive Sprache zu nehmen, die bereits viele beherrschen. Damit konnten viele sofort und ohne grossen Lernaufwand mit programmieren loslegen.

if all else fails, read the instructions.

Antworten
Sven R.
  • Forum-Beiträge: 1.904

01.10.2014, 07:09:08 via App

1) Wie gesagt, der geschriebene Code ist "allgemein". Also auf jeder Maschine ausführbar. Das kann aber der spezifische Prozessor nicht lesen. Also muss der Code in Maschinencode gemacht werden. Das ist von Gerät zu Gerät unterschiedlich. Deswegen kannst du keine ART-kompilierte App auf einem anderen Gerät ausführen. Sie muss erst von dem Gerät selber kompiliert werden.

2) Java ist weit verbreitet und unterstützt schon sowas wie Sandbox. Also eine eigene Umgebung für jede einzelne App, damit die sich nicht untereinander angreifen können. Außerdem gibt es schon viele Java APIs, die einfach weiter verwendet werden können.

— geändert am 01.10.2014, 07:11:38

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten