Python bald im Browser...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

http://www.golem.de/1112/88281.html :
Webkit soll Alternativen zu Javascript unterstützen
...
Einige Google-Entwickler arbeiten daran, Webkit um Unterstützung für alternative Scriptsprachen zu erweitern. Wenn es nach ihnen geht, wird Webkit künftig nicht nur Javascript, sondern auch Scriptsprachen wie Python, Java, Ruby, Lua und Googles Javascript-Konkurrenten Dart unterstützen.
...

Wäre ja nett... Am besten wäre IMHO wenn man direkt PyPy nehmen würde ;) Aber wie soll genau die Schnittstelle zwischem dem DOM und Python dann aussehen?
Wäre ja toll, wenn man quasi so einfach mit mit JS/jQuery Dinge auf der Seite erledigen könnte, nur halt mit Python... Aber wie könnte das aussehen?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
deets

Verstehe ich nicht - wie soll das anders aussehen, als es das schon tut fuer zB ElementTree? Das DOM ist das DOM, und natuerlich muss der Python-Interpreter darauf Zugriff haben, sonst ist das ganze ja recht sinnfrei.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hm, und was bringt das, wenn das nicht in Firefox und im IE funktioniert? Braucht man dann eine Scriptsprachen Weiche?
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

burli hat geschrieben:Hm, und was bringt das, wenn das nicht in Firefox und im IE funktioniert? Braucht man dann eine Scriptsprachen Weiche?
Ja, wahrscheinlich wirds über:

Code: Alles auswählen

<script type="text/python">
    irgendein_globales_browser_objekt.alert('Hello Browserworld!')
</script>
abgebildet. Und da ist es ja heute schon so, dass ohne Javascript im Browser das Element einfach ignoriert wird.

Ich gehe davon aus, dass, wenn Google mit dem Proof-of-concept nicht völlig baden geht, die anderen Browserhersteller sehr schnell nachziehen werden und eine Art Interpreter-Plugin-Schnittstelle implementieren werden. Mozilla hatte vor Jahren schonmal was ähnliches für Python in Planung, hat es dann aber wieder zugunsten einer nächsten ECMA-Spec fallen gelassen (find den Link grad nicht dazu).
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Interessant zu wissen wäre, wie die Python "sandboxen" wollen? Schmeißt man alle IO-Mechanismen raus? Geht das so einfach? Kann man 3rd Party Module einbinden?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
deets

@Hyperion

Genau so, wie zB Chrome auch einfach alles sandboxed - inklusive C selbst:

http://code.google.com/chrome/nativeclient/

PyPy ginge uU auch, kann man aber im Moment eh nicht embedden.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Wenn man die Idee weiterspinnt, landet man bei einem .NET/JVM ähnlichen Ansatz.
Warum z.B. auf Skriptsprachen beschränken? Wie wärs mit

Code: Alles auswählen

<script type="objcode/c++" src="/some/resource"/>
wobei das Kompilat Objektcode für eine vereinheitlichende VM wäre.

Und Ruf nach einer solchen VM wird schon dort laut, wo man sich bei den anderen Sprachen bzw. deren Objekte bedienen möchte:

Code: Alles auswählen

<script type="text/javascript">
    obj = some_cool_jquery_function();
</script>
<script type="text/python">
    # do something with obj from JS
</script>
Naja mal sehen, wie weit Google die Sache treibt...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

jerch hat geschrieben:Ich gehe davon aus, dass, wenn Google mit dem Proof-of-concept nicht völlig baden geht, die anderen Browserhersteller sehr schnell nachziehen werden und eine Art Interpreter-Plugin-Schnittstelle implementieren werden. Mozilla hatte vor Jahren schonmal was ähnliches für Python in Planung, hat es dann aber wieder zugunsten einer nächsten ECMA-Spec fallen gelassen (find den Link grad nicht dazu).
Ich wär ja schon mal froh, wenn Google endlich mal aktuelles JavaScript implementieren würde in ihrem Browser.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
webskipper
User
Beiträge: 15
Registriert: Freitag 9. Dezember 2011, 19:11

Ich habe letztens versucht eine Chrome-Extension zu schreiben, die meine IMAP-Postfächer checkt. Nachdem ich dann gemerkt habe, dass die Extensions im Prinzip nichts anderes als HTML-Seiten mit JavaScript-Code sind, habe ich es sein lassen. Und diese Apps sind auch nur Webseiten. In meinen Augen eine sehr unglückliche Wortwahl seitens Google.

Ich denke mal Google zielt darauf ab, dieses Mankos auszubessern. Eine eingebettete Scriptsprache wie Python, mit voller Funktionalität und Modularität, das wär schon was feines.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

webskipper hat geschrieben:Ich habe letztens versucht eine Chrome-Extension zu schreiben, die meine IMAP-Postfächer checkt. Nachdem ich dann gemerkt habe, dass die Extensions im Prinzip nichts anderes als HTML-Seiten mit JavaScript-Code sind, habe ich es sein lassen.
Hint: ist auch in Firefox nicht anders. Nur dass sie eher auf XUL statt HTML setzen, aber ob das in Jetpack, der neuen Plugin-Schnittstelle von Firefox, immer noch so ist weiß ich gerade nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Ich glaube, der Golem-Artikel basiert auf einem Link aus HackerNews (dort habe ich ihn jedenfalls gesehen) auf eine Diskussion auf der Webkit-Mailing-Liste und dort war das Ergebnis das genaue Gegenteil der Meldung. Google hat angefragt, ob man doch nicht einen offiziellen Webkit-Branch machen könnte, in dem sie ausprobieren können, was man ändern müsste, damit WebKit nicht nur verschiedene JavaScript-Engines unterstützt, sondern mehrere parallele Engines, also z.B. JavaScript und Dart. Natürlich könnte man dann auch auf ähnliche Weise Engines für weitere Sprachen integrieren. Die Stimmung auf der Liste war aber eisig und der Vorschlag wurde vehement abgelehnt, sodas Google jetzt einen Fork von Webkit macht und dort die Integration von Dart vorantreibt.

Somit wäre Python wenn überhaupt nur in Chrome bzw. Chromium als "web facing language" denkbar, nicht aber in Safari und andere Webkit-basierten Browsern - und sowieso nicht in Gecko-basierten Browsern, dem IE oder Opera.

Wäre es überhaupt wünschenswert? Die Webkit-Entwickler sagten ganz klar nein. VBScript hat gezeigt, dass die Idee scheiße war und immer noch ist und es darf keine Sprache neben ECMAScript (nicht JavaScript, das ist ja nur ein Trademark von Oracle) geben.

Alle Hersteller von Browsern zu zwingen, diverse Programmiersprachen zu unterstützen, wäre IMHO wirklich nicht erstrebenswert. Dann bitte lieber ein so gutes ECMAScript wie irgend möglich.

Doch wenn man Webkit als Rendering Engine und GUI betrachtet, wäre es schon nett, wenn man andere Sprachen als JavaScript effizient zur Verfügung hätte und nicht auf solch komische Workarounds wie Titanium Desktop (was glaube ich tot ist) zurückgreifen müsste und immer noch JavaScript als Glue-Code irgendwo hat.

Den Vorschlag, man könnte ja entweder den Quelltext in JavaScript kompilieren oder LLVM-Maschinencode mittels EmScripten kompilieren, finde ich auch nicht wirklich erstrebenswert, weil man dadurch a) immer nur Sprachen haben kann, die semantisch sehr ähnlich zu JavaScript sind oder b) extrem langsam ausgeführt werden. Das ist Stillstand, kein Fortschritt.

Ich fände ja, es wäre nett gewesen, JavaScript, ähm, ECMAScript zu einem Bytecode weiter zu entwickeln, der diese aber auch andere interessante Sprachen effizient repräsentieren kann und dann eine effiziente virtuelle Maschine dafür zu entwickelt. Das hätte zwar Aufregung aus einer andere Ecke gegeben - von Leuten, die es als den größten Wert sehen, dass JavaScript immer lesbar ist - aber IMHO ist das kein wichtiges Argument und mir die Möglichkeit zu nehmen, meinen Quelltext ggf. zu verstecken, ist keine Freiheit, sondern eine Einschränkung.
Interessant zu wissen wäre, wie die Python "sandboxen" wollen? Schmeißt man alle IO-Mechanismen raus? Geht das so einfach? Kann man 3rd Party Module einbinden?
Das ist noch einmal eine ganz andere - interessante - Fragestellung und ein Punkt, warum JavaScript (ähnlich wie Lua es wäre) so eine tolle Sprache für den Browser ist - ECMAScript beschreibt wirklich nur die Sprache und ein minimales Laufzeitsystem, keine umfangreichen Bibliotheken.

Bei Python würde ich sagen, ja, man lässt alle Bibliotheken weg und nur wenige ausgewählte zu. Die App Engine hat ja schon gezeigt, wie man Python-Sandboxen kann, aber bei einem Browser würde ich noch viel radikaler vorgehen. Insbesondere wäre es wohl ausgeschlossen, C-Erweiterungen einzubinden. Doch auch threading muss man weglassen und wohl (aus Effizienz und Sicherheitsgründen) viel der reflektiven Möglichkeiten von Python.

Im Prinzip landet man dann glaube ich bei etwas wie CoffeeScript, aber mit einfacherer Syntax und ohne anonyme Funktionen. Könnte eine nette Sprache sein. Oder auch nicht, weil ohne leichtgewichtige Funktionen wäre es Hölle, den im Browser notwendigen asynchronen Programmierstil für Events durchzuhalten.
Ich wär ja schon mal froh, wenn Google endlich mal aktuelles JavaScript implementieren würde in ihrem Browser
Falls du aktuelles ECMAScript meinst, und das wäre Version 5, dann wüsste ich nicht, was in V8 da fehlt. Zugegeben haben sie noch nicht alle Features von Version 5.1 (oder 6, mal sehen, wie das heißen wird) umgesetzt, aber der Standard wird ja wohl auch erst in einem Jahr verabschiedet. Falls du die propritären Erweiterungen von Mozilla in IrgendwasMonkey meinst, das ist nicht, was man unter Standard-JavaScript aka -ECMAScript versteht, sondern ein Experiment von Mr. Eich und Co, wo sie schon mal ausprobieren, was der zukünftige Standard können sollte und das lässt man ihm und keinem anderen nur deswegen durchgehen, weil er die Sprache mal erfunden hat. Würde Microsoft, Google oder Apple einfach mal ihre JavaScript-Engine erweitern, garantiere ich, wäre der Aufschrei groß.
Und diese Apps sind auch nur Webseiten. In meinen Augen eine sehr unglückliche Wortwahl seitens Google.
Aus irgendeinem Grund, der sich mir nicht erschließt, wird hier der größte Vorteil als Nachteil hingestellt. Es ist unglaublich einfach, Chrome in Grenzen (wie übrigens auch Safari und Firefox und vielleicht auch Opera und IE, doch da kenne ich mich mal wieder nicht aus) um mehr oder weniger sinnvolle Funktionen zu erweitern. Firefox und Safari gehen hier noch deutlich weiter und Chrome ist sehr konservativ in dem was möglich ist, damit man sich als Nutzer nicht leichtfertig Schadsoftware einfängt.

Stefan
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sma hat geschrieben:
Ich wär ja schon mal froh, wenn Google endlich mal aktuelles JavaScript implementieren würde in ihrem Browser
Falls du aktuelles ECMAScript meinst, und das wäre Version 5, dann wüsste ich nicht, was in V8 da fehlt. Zugegeben haben sie noch nicht alle Features von Version 5.1 (oder 6, mal sehen, wie das heißen wird) umgesetzt, aber der Standard wird ja wohl auch erst in einem Jahr verabschiedet. Falls du die propritären Erweiterungen von Mozilla in IrgendwasMonkey meinst, das ist nicht, was man unter Standard-JavaScript aka -ECMAScript versteht, sondern ein Experiment von Mr. Eich und Co, wo sie schon mal ausprobieren, was der zukünftige Standard können sollte und das lässt man ihm und keinem anderen nur deswegen durchgehen, weil er die Sprache mal erfunden hat. Würde Microsoft, Google oder Apple einfach mal ihre JavaScript-Engine erweitern, garantiere ich, wäre der Aufschrei groß.
Ich habe JavaScript geschrieben und meine tatsächlich, JavaScript, welches zurzeit in Version 1.8.5 von Gecko implementiert wird. Ich verstehe auch jetzt nicht ganz warum du meinst dass der Aufschrei groß wäre. Im Web ist es oft passiert das mehrere Browser Dinge von anderen Browsern kopiert haben, mit XmlHttpRequest, ECMA|J(ava)Script, ohne dass sie standarisiert wären. Siehe auch die -o-, -moz-, -webkit- Prefixes bei CSS-Properties. Weiteres Beispiel: SPDY was bisher nur von Chrome implementiert wird, aber auf dem Weg in Firefox ist. Zudem du in im gleichen Post eine Art ECMA-Bytecode forderst - dabei hat Google eine sehr ähnliche, eigene Lösung: NaCl, wo vor paar Tagen das erste größere, aktuelle, in C# geschriebene Spiel (Bastion) veröffentlicht wurde. Angesichts dessen fänd ich es durchaus nicht verkehrt wenn Google da paar Sachen aus JavaScript, also dem Dialekt den Gecko implementiert übernehmen würde, statt immer nur selbst eigene Erweiterungen wie Dart, NaCl, Webm*, Webp, SPDY durchzuprügeln.

* Ok, Webm war mit Mozilla zusammen. Ob das auch bei WebP der Fall ist bin ich jetzt zu faul zu recherchieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
webskipper
User
Beiträge: 15
Registriert: Freitag 9. Dezember 2011, 19:11

sma hat geschrieben:
Und diese Apps sind auch nur Webseiten. In meinen Augen eine sehr unglückliche Wortwahl seitens Google.
Aus irgendeinem Grund, der sich mir nicht erschließt, wird hier der größte Vorteil als Nachteil hingestellt. Es ist unglaublich einfach, Chrome in Grenzen (wie übrigens auch Safari und Firefox und vielleicht auch Opera und IE, doch da kenne ich mich mal wieder nicht aus) um mehr oder weniger sinnvolle Funktionen zu erweitern. Firefox und Safari gehen hier noch deutlich weiter und Chrome ist sehr konservativ in dem was möglich ist, damit man sich als Nutzer nicht leichtfertig Schadsoftware einfängt.
Mir ging es um die Terminologie. In meinen Augen sind die Chrome Apps keine Apps. Wie es Safari nennt weiss ich nicht. Für mich sind Apps immer noch lokal ausgeführte Programme. Man könnte es ja präzisieren, indem man die Dinger Hosted App, WebApp oder ähnlich nennt. Wenn ich auf Smartphones Apps nutzen will, lade ich mir letztendlich auch eine Software aufs Gerät.

Nochmal zu meinem Beispiel: möchte ich eine Erweiterung schreiben, die z.B. Sockets nutzt, bin ich wohl gezwungen ein Plugin zu implementieren bzw. ein Python-Interpreter-Plugin zu nutzen. Dies aber bisschen umständlich dafür, dass ich nur einen IMAP-Server abfragen möchte. Alternativ lade ich eine in Java geschriebene WebApp in Googles App Engine und greife per HTTP drauf zu. Damit habe ich Prinzip aber auch einen potentiellen Point-of-Failure hinzugefügt, der bei intensiver Nutzung auch noch Geld kostet.

Von daher wäre ich glücklich, wenn ich ein im Browser integriertes Python hätte. Hab mal geschaut, auf http://wiki.python.org/moin/WebBrowserProgramming gibts Lösungen, das sind alles Plugins.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

webskipper hat geschrieben:Mir ging es um die Terminologie. In meinen Augen sind die Chrome Apps keine Apps. Wie es Safari nennt weiss ich nicht. Für mich sind Apps immer noch lokal ausgeführte Programme.
Ja rate mal wo der JavaScript-Code ausgeführt wird. Hint: nicht remote. ;)
webskipper hat geschrieben:Nochmal zu meinem Beispiel: möchte ich eine Erweiterung schreiben, die z.B. Sockets nutzt, bin ich wohl gezwungen ein Plugin zu implementieren bzw. ein Python-Interpreter-Plugin zu nutzen. Dies aber bisschen umständlich dafür, dass ich nur einen IMAP-Server abfragen möchte. Alternativ lade ich eine in Java geschriebene WebApp in Googles App Engine und greife per HTTP drauf zu. Damit habe ich Prinzip aber auch einen potentiellen Point-of-Failure hinzugefügt, der bei intensiver Nutzung auch noch Geld kostet.

Von daher wäre ich glücklich, wenn ich ein im Browser integriertes Python hätte. Hab mal geschaut, auf http://wiki.python.org/moin/WebBrowserProgramming gibts Lösungen, das sind alles Plugins.
Selbst wenn es Python in Browser gäbe, wäre das Socket-Modul *sicherlich* nicht erreichbar. Das würde ja das gesamte Sandboxing-Konzept kaputtmachen, daher sprech ichs mal deutlich aus. Wenn Python in den Browser kommt, dann nur die Syntax. Nicht die Stdlib. Also Dateizugriff ist da nicht erlaubt und Socket-Zugriff ist ebenfalls nicht erlaubt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ich fände Safe Haskell im Browser wesentlich interessanter, da lässt sich statisch die Sicherheit des Codes ermitteln und damit ist die Sandbox schon überflüssig.

Desweiteren kann man damit dann sehr einfach ermitteln ob schon existierender Code im Browser verwendbar ist, was sobald man $SPRACHE im Browser verwenden darf sicherlich immer wieder eine interessante Frage wird.
lunar

@DasIch: In Safe Haskell lässt sich, wenn ich die Seite richtig verstehe, statisch die Sicherheit von Typen und Funktionen festlegen und mithin die Sicherheit darauf aufbauender Typen und Funktionen berechnen. Das ist nicht äquivalent zur Sicherheit von Code im Allgemeinen, denn diese bestimmt sich auch aus den verarbeiteten Daten, welche je nach Szenario als sicher oder unsicher gelten. Unter Berücksichtigung der verarbeiteten Daten ist die Sicherheit von Code allerdings per se nicht berechenbar, und mithin nur sehr schwierig zu beweisen. Für einen Browser ist Safe Haskell mithin nicht genug, es braucht trotzdem eine Sandbox, denn die meisten Sicherheitsrichtlinien wie die Same Origin Policy betreffen nicht Funktionen oder Typen generell, sondern die von Funktionen verarbeiteten Daten.
0x1cedd1ce
User
Beiträge: 31
Registriert: Sonntag 3. Oktober 2010, 12:21

Python in Browsern finde ich eine schlechte idee. Da der Pythonsyntax Whitespaces zwingend benötigt kann man ein Python-Skript nicht so einfach komprimieren wie ein js-Skript. Das führt zu größeren Datenaufkommen und daher auch zu längeren Ladezeiten und größeren Serverkosten.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

0x1cedd1ce hat geschrieben:Python in Browsern finde ich eine schlechte idee. Da der Pythonsyntax Whitespaces zwingend benötigt kann man ein Python-Skript nicht so einfach komprimieren wie ein js-Skript. Das führt zu größeren Datenaufkommen und daher auch zu längeren Ladezeiten und größeren Serverkosten.
Öhm, du kennst aber schon gzip?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@webskipper: Noch mal zu den Apps: Bei HTML5 kann man zu einer Webseite ein „Manifest“ angeben wo drin steht welche Dateien dauerhaft lokal gecachet werden müssen, damit die Seite auch offline funktioniert. Siehe http://diveintohtml5.info/offline.html

Mit `window.localStorage()` und in Chrome „Web SQL Storage“ kann eine App auch lokal persistente Daten speichern.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Leonidas, eine neue Technologie parallel zu anderen anzubieten - zudem wenn noch geschützt durch "vendor prefixes" - ist unkritisch und etwas anderes, als nach dem "embrace, extend, extinguish"-Prinzip eine vorhandene Standard-Technologie (ECMAScript) zu erweitern, um die Kontrolle darüber zu bekommen und die anderen auszubooten. Das würde man ihnen garantiert vorwerfen, und sei es nur deswegen, damit der eigene Browser (z.B. im Fall von Microsoft) nicht relativ gesehen schlechter wird.

ECMA-Bytecode hätte IMHO eine höhere Chance gehabt, als Dart, welches wohl eine Chrome-spezifische Sache bleiben wird. Bei SPDY ist es offenbar so, dass die Vorteile zu überzeugend sind - das Mozilla in den mehr oder weniger sauren Apfel beißt. Gegen Dart sind sie jetzt jedenfalls erst mal alle.

Gegen NaCl übrigens auch. Hier ist aber der Vorteil, dass dies eine von vielen Spieleherstellern sehnsüchtig erwartete Technologie ist und aus dem Wissen, das auf mobilen Geräten das meiste Geld mit Spielen gemacht wird, hoffen sie (zu recht) auf einen neuen Markt, wo es relativ egal ist, dass sie "nur" 200 Mio Chrome-User als potentielle neue Kunden gewinnen. Wenn das Spiel nur überzeugend genug ist, werden die Nutzer schon Chrome installieren und dann hat auch Google gewonnen und Mozilla verloren. So kann es durchaus sein, dass auch Mozilla irgendwann gezwungen ist, NaCl zu unterstützen - oder unter zu gehen. Ich denke nicht, dass Microsoft reagieren wird, sondern hier muss Google mit ChromeFrame versuchen eine Lösung zu bieten.

Und ja, man kann mit NaCl + Pepper theoretisch andere Scriptsprachen in den Browser ziehen, doch das fühlt sich nach wie vor wie ein Plugin an - was es ja auch ist. AFAIK kann man so eine Sprache nicht als "web facing"-Language realisieren, die auf ein <script>-Element im HTML anspricht.

Webskipper, Safari nennt es Erweiterungen. Chrome übrigens auch. Apps nennt es eigentlich nur Apple und liebend gerne hätten die sich den Begriff bestimmt geschützt ;) Jetzt wird er für alles, was man (lokal) installieren und ausführen kann benutzt und zusammen mit Web sogar für die Art von Anwendungen, die etwas bessere Webseiten sind.

Du sagt etwas von Hosted Apps, aber sind die das nicht alle? Ob das Betriebssystem nun Chrome oder Windows oder OS/X heißt, dieses System hostet die App. Und ob nun ein Betriebssystem (wie Chrome) als App in einem anderen Betriebssystem gehostet wird, ist doch egal. So könnte man sagen, dass OS/X noch mal unter Mach läuft. Oder was ist mit Java- und .NET-Apps, die eine VM mit Laufzeitumgebung als "Betriebsystem haben"?

Kann "Safe Haskell" das Halteproblem lösen? Kann es sicherstellen, dass nicht unbegrenzt Ressourcen verbraucht werden? Als muss man auch hier ein Sandbox haben, die sicherstellt, dass amoklaufende Programme nicht den Rest mitreissen.

Stefan
Antworten