1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › LLVM: Emscripten macht C…

Macht aus lebendigen Menschen Frankensteins Monster!

  1. Thema

Neues Thema Ansicht wechseln


  1. Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: Charles Marlow 31.05.11 - 11:28

    Brrrrrrr. Wer will sowas denn? ;)

  2. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: luemmel 31.05.11 - 11:38

    Ich frag mich wie das überhaupt technisch möglich ist. C++ und andere Sprachen besitzt doch einen viel grösseren Funktionsumfang als Javascript, wie kann man dann einfach den Code in Javascript umwandeln?

  3. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: R.I.P 31.05.11 - 11:47

    Vorallem die Grafikausgabe! Echt Respekt!

  4. Ich Ich Ich

    Autor: dabbes 31.05.11 - 12:06

    Dadurch könnte man ganz alte PC-Spiele im Browser laufen lassen, die man ansonsten garnicht oder nur sehr schwer wieder spielen könnte.

    Da die Rechner heute eh genug Power haben, kann man die alten Dinge auch mit 90% Einbussen gut spielen.

  5. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: C. Stubbe 31.05.11 - 12:09

    Funktionsumfang ist nur für den Programmierer interessant, das macht es für ihn leichter. Letztendlich kann man aber in jeder Programmiersprache alles programmieren.

    Chris

  6. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: hackgrid 31.05.11 - 12:12

    Der Bytecode wird wohl näher an Assembler sein als an C/C++,
    das sollte so low level sein das Javascript das auch (wenn auch umständlicher) umsetzen können sollte.

  7. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: Shore 31.05.11 - 12:31

    C. Stubbe schrieb:
    --------------------------------------------------------------------------------
    > Funktionsumfang ist nur für den Programmierer interessant, das macht es für
    > ihn leichter. Letztendlich kann man aber in jeder Programmiersprache alles
    > programmieren.

    Schreib mir mal bitte einen Treiber in PHP oder Java.

  8. Re: Ich Ich Ich

    Autor: hanno53 31.05.11 - 12:42

    Interessanter Ansatz! So können die Publisher ihre alten Spiele als Browsergames neu vermarkten. Oder besser noch umsonst anbieten ;)

  9. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: 7hyrael 31.05.11 - 13:04

    du verwechselst da was.
    programmieren könnte man es auf jeden fall, nur wäre es im beispiel von php nicht praktikabel, da du dabei äpfel mit birnen vergleichst. PHP würde die logik etc problemlos darstellen können, fehlen würde nur die schnittstelle zur hardware.

  10. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: Sinnfrei 31.05.11 - 13:20

    Tja, wie kann man einen lauffähigen x86-Emulator in JavaScript schreiben?

    Offensichtlich heutzutage möglich: http://bellard.org/jslinux/

    __________________
    ...

  11. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: GodsBoss 31.05.11 - 13:45

    > Ich frag mich wie das überhaupt technisch möglich ist. C++ und andere
    > Sprachen besitzt doch einen viel grösseren Funktionsumfang als Javascript,
    > wie kann man dann einfach den Code in Javascript umwandeln?

    In jedem Browser wird das sicherlich nicht laufen, aber:
    - Grafikausgabe kann mit Canvas erfolgen.
    - Sound über <audio>-Elemente, die dynamisch eingefügt und gestartet/beendet werden.
    - Netzwerkverbindungen könnte man via AJAX realisieren, indem man den Server als Proxy nimmt.
    - Multithreading macht man über Webworker oder erschummelt sich ähnliche Funktionalität via setTimeout().

    Außerdem wird „JavaScript“ für Dinge verwendet, die nicht wirklich das Gleiche sind. So ist JavaScript eigentlich eine Implementierung von ECMAScript. Im Internet Explorer z.B. gibt es gar kein JavaScript, sondern JScript, was aber ebenfalls eine Implementierung von ECMAScript ist. Heutzutage wird der Begriff aber sehr weit verwendet und schließt sogar Nicht-Browser-Implementierungen ein, z.B. die von Node.JS. Außerdem ist es möglich, Mozillas JS-Engine oder Googles V8 so zu nutzen, dass sie nur eine Laufzeitumgebung für ein JavaScript-Programm darstellen – dabei können diese Laufzeitumgebungen beliebige Schnittstellen anbieten. Netzwerkverbindungen, 3D-Beschleunigung, theoretisch ist da alles möglich.

    ECMAScript selbst ist übrigens m.W. schnittstellenfrei – eine Implementierung ganz ohne Standard-Ein- und Ausgabe, ohne DOM, Netzwerk, etc. wäre zwar nutzlos, aber konform.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  12. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: Shore 31.05.11 - 14:20

    7hyrael schrieb:
    --------------------------------------------------------------------------------
    > du verwechselst da was.
    > programmieren könnte man es auf jeden fall, nur wäre es im beispiel von php
    > nicht praktikabel, da du dabei äpfel mit birnen vergleichst. PHP würde die
    > logik etc problemlos darstellen können, fehlen würde nur die schnittstelle
    > zur hardware.

    PHP ist wie C++ eine Programmiersprache mit der ich angeblich ALLES programmieren kann. Das ist aber falsch. PHP braucht einen PHP-fähigen Server, um es auszuführen.
    Eine vergleichbarere Sprache wäre hierbei dann eher noch Java, mit dieser lassen sich ja immerhin Desktop-Anwendungen erstellen. Problem hierbei ist, dass hierfür erst einmal eine Laufzeitumgebung geportet werden muss, um den Bytecode überhaupt erst ausführen zu können.
    C/++ sind nun mal Sprachen, mit denen ich hardwarenah programmieren kann. Das ist mit den o.g. Sprachen nicht möglich. Du wirst nicht einfach mal mit C# einen Chip programmieren können.
    Zudem werden für Treiber nicht Zeiger benötigt? Weiß ich nicht mehr.

  13. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: Lord Gamma 31.05.11 - 14:52

    Die Sprachen an sich sind alle turingvollständig und bieten somit den gleichen Funktionsumfang. Problematisch ist, dass der Browser in einer Sandbox läuft und auf viele Systemressourcen, wie z. B. Dateien, keinen Zugriff erlaubt.

  14. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: GodsBoss 31.05.11 - 15:14

    > > du verwechselst da was.
    > > programmieren könnte man es auf jeden fall, nur wäre es im beispiel von
    > php
    > > nicht praktikabel, da du dabei äpfel mit birnen vergleichst. PHP würde
    > die
    > > logik etc problemlos darstellen können, fehlen würde nur die
    > schnittstelle
    > > zur hardware.
    >
    > PHP ist wie C++ eine Programmiersprache mit der ich angeblich ALLES
    > programmieren kann. Das ist aber falsch. PHP braucht einen PHP-fähigen
    > Server, um es auszuführen.

    Server ist falsch, Interpreter aber durchaus richtig. Wobei allerdings theoretisch auch ein Compiler möglich wäre (gibt's bestimmt auch schon).

    C++ selbst ist übrigens auch nicht lauffähig, sondern muss erst kompiliert werden.

    > Eine vergleichbarere Sprache wäre hierbei dann eher noch Java, mit dieser
    > lassen sich ja immerhin Desktop-Anwendungen erstellen. Problem hierbei ist,
    > dass hierfür erst einmal eine Laufzeitumgebung geportet werden muss, um den
    > Bytecode überhaupt erst ausführen zu können.

    Auch mit PHP lassen sich Desktop-Anwendungen erstellen (gibt beispielsweise PHP-GTK für die grafische Oberfläche), macht aber so gut wie niemand, weil das gesamte „Ökosystem“ drumherum nicht darauf ausgerichtet ist.

    > C/++ sind nun mal Sprachen, mit denen ich hardwarenah programmieren kann.
    > Das ist mit den o.g. Sprachen nicht möglich. Du wirst nicht einfach mal mit
    > C# einen Chip programmieren können.
    > Zudem werden für Treiber nicht Zeiger benötigt? Weiß ich nicht mehr.

    Da kenne ich mich zugegebenermaßen nicht wirklich aus, aber kann ich in C oder C++ einen Treiber programmieren, ohne auf in Assembler geschriebene Teile zurückgreifen zu müssen? Und falls ja, könnte man entsprechende Funktionen nicht auch über Schnittstellen in Sprachen wie Java, PHP oder JavaScript direkt verfügbar machen?

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  15. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: GodsBoss 31.05.11 - 15:18

    > Die Sprachen an sich sind alle turingvollständig und bieten somit den
    > gleichen Funktionsumfang. Problematisch ist, dass der Browser in einer
    > Sandbox läuft und auf viele Systemressourcen, wie z. B. Dateien, keinen
    > Zugriff erlaubt.

    Nun, so ganz stimmt das auch nicht, denn Firefox-Browser-Erweiterungen werden auch in JavaScript geschrieben und die haben tatsächlich viel mehr Zugriff, auf Dateien, beliebige Netzwerkverbindungen, können m.E. sogar auf Ports lauschen, etc.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  16. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: mag 31.05.11 - 15:36

    Shore schrieb:
    > PHP ist wie C++ eine Programmiersprache mit der ich angeblich ALLES
    > programmieren kann. Das ist aber falsch.

    Doch, das ist richtig. Zumindest in der Theorie.

    > PHP braucht einen PHP-fähigen Server, um es auszuführen.

    Nein. PHP braucht eine Umgebung, die PHP interpretieren kann. Du könntest einen PHP-Prozessor bauen. Der wird sich dann in einem Rechner befinden, dessen Hardware angesprochen werden möchte. Schon musst du z.B. Treiber in PHP schreiben. Und ein Betriebssystem. Ein Prozessor für native Unterstützung einer interpretierten Skriptsprache ist mir allerdings nicht bekannt.

    > Eine vergleichbarere Sprache wäre hierbei dann eher noch Java, mit dieser
    > lassen sich ja immerhin Desktop-Anwendungen erstellen.

    Das geht, wie bereits geschrieben, mit PHP auch. Was Java "vergleichbarer" macht ist, dass es wir C++ kompiliert wird. Heraus kommt ein schon sehr maschinenverständlicher Code. Dieser kann auf einem Java-Bytecode-Prozessor ausgeführt werden. Bildet ein solcher Prozessor das Herz eines Rechners, steht wohl Betriebssystem- und Treiberentwicklung in Java an. Zu Java-Prozessoren siehe http://en.wikipedia.org/wiki/Java_processor

    > Problem hierbei ist,
    > dass hierfür erst einmal eine Laufzeitumgebung geportet werden muss, um den
    > Bytecode überhaupt erst ausführen zu können.

    Es sei denn, deine CPU versteht nativ Java-Bytecode...

    > C/++ sind nun mal Sprachen, mit denen ich hardwarenah programmieren kann.

    Sofern ein Compiler zur Verfügung steht, der dein C/C++ in für die Hardware deiner Wahl verständlichen Maschinencode übersetzen kann. Ein C-interpretierender Prozessor ist mir nämlich auch nicht bekannt. Und ob es einen solchen Compiler für einen Java-Prozessor gibt, weiß ich auch nicht...

    > Das ist mit den o.g. Sprachen nicht möglich.

    Doch, entsprechende Hardware vorausgesetzt nicht nur möglich, sondern sogar nötig.

    > Du wirst nicht einfach mal mit C# einen Chip programmieren können.

    Aber selbstverständlich. Und zwar diesen hier: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4488013&tag=1

    > Zudem werden für Treiber nicht Zeiger benötigt? Weiß ich nicht mehr.

    Natürlich nicht. Interpretier den Speicher als Array und du merkst, dass ein Zeiger nichts anderes als ein Index ist. Solltest du C können, müsste dir die Äquivalenz zwischen Zeiger und Array eigentlich bewusst sein. Arrays hingegen gibt es in allen hier genannten Programmiersprachen.

  17. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: Lord Gamma 31.05.11 - 16:02

    Stimmt, wenn man die browserspezifischen Schnittstellen für diese Zugriffe abstrahiert, kann man diese Einschränkungen umgehen. Allerdings lassen sich die Browser auf dieser Ebene ja im Normalfall auch direkt mit in C/C++ geschriebenen Plugins erweitern.

  18. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: luemmel 31.05.11 - 20:39

    GodsBoss schrieb:
    --------------------------------------------------------------------------------
    > > Ich frag mich wie das überhaupt technisch möglich ist. C++ und andere
    > > Sprachen besitzt doch einen viel grösseren Funktionsumfang als
    > Javascript,
    > > wie kann man dann einfach den Code in Javascript umwandeln?
    >
    > In jedem Browser wird das sicherlich nicht laufen, aber:
    > - Grafikausgabe kann mit Canvas erfolgen.
    > - Sound über -Elemente, die dynamisch eingefügt und gestartet/beendet
    > werden.
    > - Netzwerkverbindungen könnte man via AJAX realisieren, indem man den
    > Server als Proxy nimmt.
    > - Multithreading macht man über Webworker oder erschummelt sich ähnliche
    > Funktionalität via setTimeout().
    >
    > Außerdem wird „JavaScript“ für Dinge verwendet, die nicht
    > wirklich das Gleiche sind. So ist JavaScript eigentlich eine
    > Implementierung von ECMAScript. Im Internet Explorer z.B. gibt es gar kein
    > JavaScript, sondern JScript, was aber ebenfalls eine Implementierung von
    > ECMAScript ist. Heutzutage wird der Begriff aber sehr weit verwendet und
    > schließt sogar Nicht-Browser-Implementierungen ein, z.B. die von Node.JS.
    > Außerdem ist es möglich, Mozillas JS-Engine oder Googles V8 so zu nutzen,
    > dass sie nur eine Laufzeitumgebung für ein JavaScript-Programm darstellen
    > – dabei können diese Laufzeitumgebungen beliebige Schnittstellen
    > anbieten. Netzwerkverbindungen, 3D-Beschleunigung, theoretisch ist da alles
    > möglich.
    >
    > ECMAScript selbst ist übrigens m.W. schnittstellenfrei – eine
    > Implementierung ganz ohne Standard-Ein- und Ausgabe, ohne DOM, Netzwerk,
    > etc. wäre zwar nutzlos, aber konform.

    Danke für die ausführliche Antwort, dass war sehr erhellend für mich :)



    1 mal bearbeitet, zuletzt am 31.05.11 20:40 durch luemmel.

  19. Re: Macht aus lebendigen Menschen Frankensteins Monster!

    Autor: irata 31.05.11 - 22:21

    mag schrieb:
    --------------------------------------------------------------------------------
    > Ein Prozessor für native Unterstützung einer interpretierten Skriptsprache ist mir allerdings nicht bekannt.

    Angeblich gab es mal einen Prozessor, der für eine BASIC-Variante ausgelegt war.
    Hat jemand mal auf Golem erwähnt.

  20. Re: Ich Ich Ich

    Autor: tilmank 01.06.11 - 00:26

    dabbes schrieb:
    --------------------------------------------------------------------------------
    > Dadurch könnte man ganz alte PC-Spiele im Browser laufen lassen, die man
    > ansonsten garnicht oder nur sehr schwer wieder spielen könnte.

    Nicht unbedingt. Wenn alte Spiele nicht mehr laufen, liegt das meistens an den nicht mehr vorhandenen oder durch Neuerungen inkompatible Schnittstellen.
    Ich kann mir nicht vorstellen, wie Umwandeln in Javascript diese Probleme lösen sollte.


    "Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."

    Du fühlst dich durch einen meiner Beiträge provoziert oder persönlich angegriffen? -> ¯\_(ツ)_/¯ http://www.wordforge.net/images/smilies/simpsons_nelson_haha2.jpg

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Data Scientist / Aktuar (m/w/d) im Bereich Business Intelligence
    Allianz Versicherungs-AG, München, Unterföhring
  2. IT-Mitarbeiter (m/w/d) mit Schwerpunkt Informationssicherheit und Einführung TISAX/ISO 27001
    F. E. R. fischer Edelstahlrohre GmbH, Achern-Fautenbach
  3. Applikationsingenieur (w/m/d)
    B. Braun Melsungen AG, Melsungen
  4. Embedded Software Entwickler (m/w/d)
    RITTAL GmbH & Co. KG, Herborn

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. Über 3400 Angebote mit bis zu 90 Prozent Rabatt
  2. (u. a. Dorfromantik für 7,19€, Cartel Tycoon für 18,99€ plus jeweils One Finger Death Punch 2...


Haben wir etwas übersehen?

E-Mail an news@golem.de


Förderung von E-Autos und Hybriden: Wie viel Geld bekomme ich für den Kauf eines Elektroautos?
Förderung von E-Autos und Hybriden
Wie viel Geld bekomme ich für den Kauf eines Elektroautos?

Ein E-Auto ist in der Anschaffung teurer als ein konventionelles. Käufer können aber Zuschüsse bekommen. Wir beantworten zehn wichtige Fragen dazu.
Von Werner Pluta

  1. Lordstown Chefs von Elektro-Truck-Firma nach Betrug zurückgetreten
  2. Elektromobilität Rennserie E1 zeigt elektrisches Schnellboot
  3. Elektromobilität Green-Vision gibt Akkus aus Elektroautos neuen Zweck

Telefon- und Internetanbieter: Was tun bei falschen Auftragsbestätigungen?
Telefon- und Internetanbieter
Was tun bei falschen Auftragsbestätigungen?

Bei Telefon- und Internetanschlüssen kommt es öfter vor, dass Verbraucher Auftragsbestätigungen bekommen, obwohl sie nichts bestellt haben.
Von Harald Büring


    Lois Lew: Die berühmteste Sekretärin, die IBM je hatte
    Lois Lew
    Die berühmteste Sekretärin, die IBM je hatte

    Lois Lew war Sekretärin bei IBM, als sie die Chance bekam, auf eine große Werbetour zu gehen. Dabei stellte sich heraus: Sie ist ein Gedächtnisgenie.
    Ein Porträt von Elke Wittich

    1. Kyndryl IBMs aufgespaltenes Unternehmen bekommt einen neuen Namen
    2. Programmiersprache IBM will mit Cobol in die Linux-Cloud
    3. IBM Deutschland IBM-Beschäftigte wehren sich in Webex gegen Kündigungen