1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › asm.js: Odinmonkey macht…

Irreführender Artikel

  1. Thema

Neues Thema Ansicht wechseln


  1. Irreführender Artikel

    Autor: smerlin 22.03.13 - 12:16

    immer wieder unklare Trennung zwischen Javascript und asm.js.

    Es wird nicht jedes Javscript Programm durch die neue Engine beschleunigt, sondern nur diejenigen die ihre numerischen Variablen EXPLIZIT statisch typisieren.

    Bringt also nur Vorteile für Javascript Programme die manuell in asm.js kompatiblen Code umgeschrieben wurden.

    EDIT: achja die Verrenkungen die asm.js betreibt um die statische Typisierung in Javascript unterzubringen die keine derartige Typisierung vorsieht schauen echt ulkig aus ... und ist echt hässlich. Ich bemitleide die Leute die schönen Javascript code mit derartigen Monströsitäten verunstalten müssen damit ihr Javascript performanter läuft. Tut in der Seele weh.



    2 mal bearbeitet, zuletzt am 22.03.13 12:21 durch smerlin.

  2. Re: Irreführender Artikel

    Autor: Tapsi 22.03.13 - 12:25

    Schade dass es keine Annotation wie in Java gibt. Dann hätte man schön sowas machen können:

    @Int
    var myInt = 10;

    Aber leider gibt es dass ja nicht. xD

    while not sleep
    sheep++

  3. JavaScript is over, you can go home now

    Autor: ssssssssssssssssssss 22.03.13 - 13:00

    > die Leute die schönen Javascript code mit derartigen Monströsitäten
    > verunstalten müssen damit ihr Javascript performanter läuft.

    "schöner JavaScript Code" haha, ja ;)
    Damit JavaScript vernünftig läuft muss man alles andere als schön programmieren :D
    (Ich sag nur (function(){...}()); und ===)

    In asm.js würd ich auch nicht "manuell" programmieren wollen. Aber nun können Transcompiler (Dart, TypeScript, Java) auf die Kacke hauen.

    Dart2JS ist jetzt schon im Stande durch "Compiler Optimierungen" schnelleren Code zu erzeugen, als der durchschnittliche JS-Entwickler per Hand schreibt. Mit asm.js würden sie dann wirklich schnellen Code erzeugen, der im Notfall auch mit normaler Geschwindigkeit auf älteren Browsern läuft.

  4. Re: JavaScript is over, you can go home now

    Autor: Tapsi 22.03.13 - 13:06

    ssssssssssssssssssss schrieb:
    --------------------------------------------------------------------------------
    > > die Leute die schönen Javascript code mit derartigen Monströsitäten
    > > verunstalten müssen damit ihr Javascript performanter läuft.
    >
    > "schöner JavaScript Code" haha, ja ;)
    > Damit JavaScript vernünftig läuft muss man alles andere als schön
    > programmieren :D
    > (Ich sag nur (function(){...}()); und ===)

    Naja wenn man sich nur an einem Muster orientieren kann kennt man keinen schönen JS Code :P

    while not sleep
    sheep++

  5. Re: Irreführender Artikel

    Autor: k@rsten 22.03.13 - 13:19

    Dann nutz doch Dart. Schöne & Strukturierte Sprache, die auch so schnell wie C#/Java ist.

  6. Re: JavaScript is over, you can go home now

    Autor: ssssssssssssssssssss 22.03.13 - 13:40

    > Naja wenn man sich nur an einem Muster orientieren kann kennt man keinen
    > schönen JS Code :P

    Na dann nenn mir mal Alternativen. Wenn's ne Möglichkeit gibt ansehnlicheren Code zu schreiben, der genau so sicher ist, bin ich sofort interessiert :)

  7. Re: JavaScript is over, you can go home now

    Autor: Tapsi 22.03.13 - 13:45

    Man muss ja nicht alles in diesem Pattern machen. Ich meine ich sehe so viele Libraries die das Pattern benutzen obwohl diese keine privaten Daten haben bzw. alle Daten nach Außen geben. Warum man da nicht einfach einfaches Objekt nimmt ist mir unklar.

    Was so unschön an...

    var myWhatEver = {
    x:0,
    y:0,
    ...
    };

    ist mir schleierhaft. Wo ich dir Recht gebe ist in Fällen wo Leute auf Teufel komm raus Klassen verwenden wollen und dafür das Prototype System vergewaltigen... das sieht wirklich oft unschön aus. :(

    while not sleep
    sheep++

  8. Re: Irreführender Artikel

    Autor: YoungManKlaus 22.03.13 - 15:04

    Das is doch auch bullshit. Und Type Inference zur Compilezeit kann ja auch nicht wirklich die Hexerei sein, nachdem C# das mit "var" auch geht. Das Problem is halt dass ich in JS machen kann:
    var x = 10; // int
    x = new Bla()
    wodurch sich mittendrin der Datentyp ändert was voll fürn Arsch is.

  9. Re: Irreführender Artikel

    Autor: Tapsi 22.03.13 - 15:15

    YoungManKlaus schrieb:
    --------------------------------------------------------------------------------
    > Das is doch auch bullshit. Und Type Inference zur Compilezeit kann ja auch
    > nicht wirklich die Hexerei sein, nachdem C# das mit "var" auch geht. Das
    > Problem is halt dass ich in JS machen kann:
    > var x = 10; // int
    > x = new Bla()
    > wodurch sich mittendrin der Datentyp ändert was voll fürn Arsch is.

    Naja Moment!
    Das obliegt ja der Validierung. Diese Typisierung soll ja als optionales Feature dienen also darf man obiges ja auch streng genommen machen. Bei der genannten Technik dreht es sich ja auch nur darum Teile des Codes zu optimieren die Typs strikt einsetzen ( das obiges Beispiel syntaktisch korrekt aber semantisch kompletter Unsinn ist sei mal außer Acht gelassen ).

    Meine Intention war zu sagen, dass es schade ist dass es kein Konstrukt wie @XYZ; gibt welches syntaktisch korrekt aber eine Nulloperation wäre. Dann könnte man Variablen schon bei der Initialisierung mit strikten Typ markieren was ein optimierter Compiler dann verwenden kann ( um unschöne Sachen wie 12|0 zu vermeiden ). Das der Compiler entsprechenden Code ohnehin ( was asm.js auch macht ) noch vorher validieren muss steht außer Frage was sowieso zur Folge hätte das obiges Beispiel nicht geht.

    while not sleep
    sheep++



    1 mal bearbeitet, zuletzt am 22.03.13 15:17 durch Tapsi.

  10. Re: Irreführender Artikel

    Autor: GodsBoss 22.03.13 - 19:53

    > Meine Intention war zu sagen, dass es schade ist dass es kein Konstrukt wie
    > @XYZ; gibt welches syntaktisch korrekt aber eine Nulloperation wäre.

    Kommentare gibt es auch in JS. Einige Doc-Werkzeuge nutzen das, um Code-Dokumentation zu produzieren (ähnlich Javadoc). Tatsächlich gibt es auch schon Nulloperationen mit einer Wirkung in JS, nämlich "use strict";, was den so genannten strikten Modus (strict mode) für eine Code-Einheit (Funktion oder Programm) aktiviert. Das verhindert z.B. das unabsichtliche Erzeugen von globalen Variablen, wenn das Schlüsselwort var vergessen wurde, das Überschreiben von eval und arguments, das with-Konstrukt ist gleich ganz verboten, und noch einiges mehr. Die genaue Wirkung ist in Annex C von ECMA-262 5th Edition beschrieben (nur informativ).

    Was ich damit sagen will: Prinzipiell gäbe es durchaus Möglichkeiten, etwas abwärtskompatibel einzuführen.

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

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Kaufland Dienstleistung GmbH & Co. KG, Dortmund
  2. Schoeller Technocell GmbH & Co. KG, Osnabrück
  3. Kassenärztliche Bundesvereinigung, Berlin
  4. Axians IKVS GmbH, Münster

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 419,00€ (Bestpreis!)
  2. täglich neue Deals bei Alternate.de


Haben wir etwas übersehen?

E-Mail an news@golem.de


Kognitive Produktionssteuerung: Auf der Suche nach dem Universalroboter
Kognitive Produktionssteuerung
Auf der Suche nach dem Universalroboter

Roboter erledigen am Band jetzt schon viele Arbeiten. Allerdings müssen sie oft noch von Menschen kontrolliert und ihre Fehler ausgebessert werden. Wissenschaftler arbeiten daran, dass das in Zukunft nicht mehr so ist. Ziel ist ein selbstständig lernender Roboter für die Automobilindustrie.
Ein Bericht von Friedrich List

  1. Ocean Discovery X Prize Autonome Fraunhofer-Roboter erforschen die Tiefsee

Need for Speed Heat im Test: Temporausch bei Tag und Nacht
Need for Speed Heat im Test
Temporausch bei Tag und Nacht

Extrem schnelle Verfolgungsjagden, eine offene Welt und viel Abwechslung dank Tag- und Nachtmodus: Mit dem Arcade-Rennspiel Heat hat Electronic Arts das beste Need for Speed seit langem veröffentlicht. Und das sogar ohne Mikrotransaktionen!
Von Peter Steinlechner

  1. Electronic Arts Need for Speed Heat saust durch Miami

Definitive Editon angespielt: Das Age of Empires 2 für Könige
Definitive Editon angespielt
Das Age of Empires 2 für Könige

Die 27 Einzelspielerkampagnen sollen für rund 200 Stunden Beschäftigung sorgen, dazu kommen Verbesserungen bei der Grafik und Bedienung sowie eine von Grund auf neu programmierte Gegner- oder Begleit-KI: Die Definitive Edition von Age of Empires 2 ist erhältlich.


    1. Nuvia: Apples Chip-Chefarchitekt gründet CPU-Startup
      Nuvia
      Apples Chip-Chefarchitekt gründet CPU-Startup

      Geballte Kompetenz: Drei ehemalige sehr hochrangige Apple- und Google-Ingenieure haben Nuvia geschaffen. Das Startup will einen Datacenter-Chip entwickeln; das Geld kommt unter anderem von Dell.

    2. Investitionen: VW steckt noch mehr Geld in Elektromobilität
      Investitionen
      VW steckt noch mehr Geld in Elektromobilität

      Volkswagen will den Etat für Hybridisierung, Elektromobilität und Digitalisierung noch weiter aufstocken. In den nächsten vier Jahren sollen knapp 60 Milliarden und damit gut 40 Prozent aller Investitionen in diesen Bereich fließen.

    3. Google: Neue Chrome-Funktion führt zu Verlust von Tab-Inhalt
      Google
      Neue Chrome-Funktion führt zu Verlust von Tab-Inhalt

      Eine Funktion zur Verbesserung der Ressourcennutzung hat bei zahlreichen Chrome-Nutzern dazu geführt, dass Tabs unverhofft geleert wurden. Betroffen sind Nutzer, bei denen Chrome unter Windows auf einem Server läuft - also besonders Unternehmen, die teilweise stundenlang nicht arbeiten konnten.


    1. 16:28

    2. 15:32

    3. 15:27

    4. 14:32

    5. 14:09

    6. 13:06

    7. 12:37

    8. 21:45