Geschichte, Struktur, Eigenschaften und die Zukunft der wichtigsten Programmiersprache des Webs
JavaScript begleitet das Web zwar schon fast seit Anbeginn wurde aber als eigenständige Technologie nur am Rande wahrgenommen. In den letzten Jahren hat sich das langsam geändert und jetzt entwickelt sich in der JavaScript-Szene ein neues Selbstbewusstsein, gestützt durch die Entwicklung neuer Sprach-Implentierungen und FrameWorks und einem generell gewachsenen Bedarf an flexiblen webbasierten Lösungen orientiert. Im Gespräch mit Tim Pritlove erläutert der JavaScript-Entwickler Malte Ubl, wie sich JavaScript entwickelt hat, welche Eigenschaften JavaScript ausmachen und was die besondere Eignung für das Web ausmacht.
Themen: Warum JavaScript JavaScript heißt; JScript; Ähnlichkeiten und Unterschiede von JavaScript und ActionScript; das Erstarken der JavaScript-Szene; JavaScript Runtimes und JIT Compiler; Server-side JavaScript und asynchrones I/O; Eigenschaften von Prototypen-basierten Programmiersprachen; Webanwendungsentwicklung mit JavaScript auf dem Client und Server; Ladezeitenoptimierung; JavaScript Frameworks für Anwendungsentwicklung; Entwicklungswerkzeuge und Bücher über JavaScript; lokale JavaScript-Communities.
Shownotes
Links:
- Malte Ubl @ Twitter
- NonBlocking.io – Malte Ubl’s Asynchronous Identity Disorder
- WP: JavaScript
- WP: Smalltalk-80
- WP: Perl
- WP: Java
- WP: C#
- WP: LISP
- WP: JScript
- WP: Ecma International
- WP: Douglas Crockford
- WP: Document Object Model
- WP: Adobe Flash
- WP: Macromedia
- WP: ActionScript
- Sublime Video Player
- JSConf Europe
- JSConf USA
- CRE125 CouchDB
- WP: SpiderMonkey
- WP: Tamarin (TraceMonkey)
- WP: HTML5
- Gordon – An open source Flash™ runtime written in pure JavaScript with SVG
- WP: WebKit / JavaScriptCore
- WP: V8
- WP: Regulärer Ausdruck (regular expression)
- WP: Rhino
- WP: Server-side JavaScript
- WP: TurboGears
- node.js
- WP: Asynchronous I/O
- WP: Threads
- WP: Event-driven programming
- WP: Ereignis
- WP: Kurz-URL-Dienst
- CommonJS
- CommonJS Spec Wiki
- narwhal – a general purpose javascript platform
- WP: Advanced Message Queuing Protocol
- WP: Erlang
- RabbitMQ
- WP: Ruby on Rails
- bomber.js – A node.js javascript web framework
- WP: Ajax
- WP: XMLHttpRequest
- WP: Extensible Markup Language (XML)
- WP: Internet Explorer
- WP: Internet Explorer box model bug
- CRE107 Barrierefreiheit im Web
- The Web Standards Project
- prototype.js
- WP: Prototype
- WP: Klasse
- WP: Decorator
- WP: Self
- WP: NewtonScript
- WP: Prototypenbasierte Programmierung
- WP: Closure
- CRE084 LISP
- CRE031 Programmiersprachen und Dylan
- Joose JavaScript Meta-Object System
- WP: Trait
- WP: Mixin
- WP: JavaScript Object Notation (JSON)
- WP: Turing-Vollständigkeit
- WP: Object-relational impedance mismatch
- WP: JQuery
- WP: Domänenspezifische Sprache (Domain Specific Language)
- WP: Dojo Toolkit
- WP: SproutCore
- WP: Cappuccino
- WP: Objective-J
- 280 Slides
- WP: Palm WebOS
- PhoneGAP
- YUI Library
- LABjs – Loading And Blocking JavaScript
- Google Closure Compiler
- Firebug
- Douglas Crockford: „JavaScript: The Good Parts“
- John Resig: Secrets of the JavaScript Ninja
- JavaScript Usergroup Berlin
Pingback: boeckmania webdesign & digital art // #boeckmania @ QNet
Download 20 kB/s, das kanns‘ doch nicht sein..
Ich kann ja verstehen dass Tim wissen will, wie oft eine Sendung heruntergeladen wird. Das lässt sich doch aber auch erreichen, indem man ein offizielles .torrent auf der Website anbietet und das dann zählt. Bandbreite für’s (legale) seeden ist in der CR/CRE Hörergemeinde bestimmt genug vorhanden, ich selbst könnte ein paar TB über einen 1 GBit/s Uplink anbieten.
HTTP Downloads von einem Server sind einfach nicht mehr zeitgemäß und skalieren nicht – im Gegensatz dazu BitTorrent: je populärer ein Torrent, desto schneller kommt man dran.
I’ll second that: Tim, bitte mach‘ diesbezüglich was!
torrent: http://is.gd/9iNWP
Megaa… Ultra… Uber TIM
Da haut der Tim einen Podcast nach dem anderen raus. Ich hoffe das du auch noch Zeit für deine Family findest.
Ansonsten weitermachen und was ich noch wissen wollte, wird es nicht langsam wieder Zeit für eine neue Bahncard? :) Eine Spende von mir hättest du sicher.
Ui, das kommt ja unverhofft gerade recht. Dann mal warten. Das mit der Geschwindigkeit finde ich echt kein Problem, auch wenn sich ständig Leute darüber beschweren. 20kB/s? Die Leute von heute kennen nicht die Geschwindigkeiten von damals.
seit wann ist heruntergeladenes torrent file gleich (erfolgreich) heruntergeladenem podcast?
ausserdem, wie zeitnah brauchst du den podcast wirklich?
Alle, die JavaScript in Ihre C-Anwendungen einbetten wollen, sollten sich mal mein Programm ‚jsapigen‘ ansehen. Es ist ein Code-Generator, welcher die Bindings zwischen Binary und JavaScript-Umgebung erstellt. Statt 50 Zeilen Binding-Code in C schreibt man dann nur noch eine Zeile in einer IDL. Das Programm läuft auf allen üblichen Plattformen.
http://jsapigen.sourceforge.net/
MfG
Thomas
PS: Danke Tim für die tollen Sendungen. CRE ist echt Gold wert.
Sympathischer Interviewpartner.
Super, eine JavaScript-Sendung habe ich mir schon länger insgeheim gewünscht!
Da JQuery Dokument-Manipulation so einfach macht, sollten sich dann nicht die Browserhersteller mal zusammensetzen und einfach JQuery als den Standard definieren, in alle Browser einbauen und DOM entfernen oder wenigstens deprecaten? Das wäre ein weiterer insgeheimer Wunsch von mir.
Schade auch, dass viele Leute JavaScript nur von 90er-Jahre-Ressourcen wie SelfHTML lernen/kennen, die auf die eigentlich zentralen Sprachelemente, welche JavaScript überhaupt erst ausmachen (Prototypal Inheritance, Objekt-Literale/JSON und First-Class-Functions/Closures), gar nicht eingehen und auch noch DOM lehren. Dementsprechend viel schlechtes JavaScript gibt es da draußen in der Welt. Douglas Crockford hat wirklich wichtige Arbeit damit geleistet JavaScript neu zu entdecken und seine Erkenntnisse zu verbreiten.
Lustig fand ich den Ausspruch „die breite Klasse der Programmierer-Mittelschicht mitnehmen“. Eine erste Reaktion auf JavaScript von Entwicklern, die bisher nur Java und Co. kennen ist häufig „Wo ist denn hier das ‚class‘-Keyword?“. Es ist tatsächlich wichtig zu verstehen, dass JavaScript nicht auf die klassische Klassen-Objektorientierung festgenagelt ist, sondern diese nur eine Option von vielen ist mit JavaScript konkret Objektorientierung zu betreiben, da Prototypen-OO ein Superset der Klassen-OO ist, wie in der Sendung auch gesagt.
Wenn es nicht ums Web geht favorisiere ich aber Lua. Das ist recht ähnlich zu JavaScript (prototypbasiert, dynamisch, funktional, schlank, schnell, embeddable, ohne Standardlibrary-Vorgabe), nur ohne „Bad Parts“ und mit schönerer Syntax (nicht C-basiert).
Übrigens gewinnt JavaScript auch bei klassischen Desktop-Anwendungen zunehmend Bedeutung (zumindest unter den Unix/Linux-Desktops wie GNOME und KDE).
Beispielsweise lassen sich mit Seed [1] ganz normale, vollwertige Gnome/GTK-Anwendungen in JavaScript entwickeln, ganz ohne Browser. Seed benutzt die GLib als Standard-Library (für Dateizugriff etc.) und GObjectIntrospection um GObjects automatisch zu JavaScript-Objekten zu binden. So wird beispielsweise der GNOME-3-Desktop („Gnome Shell“) in JavaScript mit Clutter (auch eine GObject-Library [2]) entwickelt.
Auch unter KDE werden viele Plasmoids mit JavaScript/QtScript entwickelt.
[1] http://live.gnome.org/Seed
[2] http://www.clutter-project.org
Vielen Dank für den Torrent. War in 2 min auf meine Platte. Ich hoffe die Verteilungsprobleme der CRE Podcasts sind bald gelöst, damit ich den Feed wieder abonnieren kann ohne einen Hals zu bekommen bei „ETA 6h“.
Die News passend zur Sendung:
http://www.golem.de/1002/73444.html
„Mozilla schickt Jägermonkey ins Rennen“
Ich sag einfach nur „Danke“ für diesen Podcast. HTML5 und CSS3 wäre sicher gleich ein weiteres Webthema.
Mich freut es sehr dass der Tim einen Podcast nach dem anderen raushaut =) Die Themen sind auch wiedermal spitze
Torrent ist eine gute Idee
Danke für den Podcast. Ich bin schon mächtig gespannt.
Was Desktop-Apps angeht: Ich würde mir mal XUL ansehen. Also die Basis von Firefox, Thunderbird & Co.. Das ist im Prinzip auch alles Javascript. Zumindest habe ich das am Barcamp letztes Wochenende so gelernt. 8-)
Beim Thema JavaScript darf ein Hinweis auf Ext JS nicht fehlen, wurde leider im Podcast vergessen: http://www.extjs.com/products/extjs/
spitzen podcast! weiter so!
und danke für den torrent. jetzt gehts zügig!!
Oh yes, yes, yes! Hoffentlich wird der so gut wie ich ihn erwarte. Oh yes!
Toller Podcast!
Mich hätte allerdings eure Meinung zu der „gängigen Praxis“ interessiert, JavaScript per default erst mal zu blocken (NoScript). Seht ihr es nicht auch als echtes Risiko auf jeder Pups-Seite JavaScripts zu haben?
Ersteinmal Danke für diese tollen Podcasts,
an die Bittorrentliebhaber von oben, wenn Ihr das ganze schon als
Torrent anbietet ist ja alles schön und gut aber warum benennt ihr
die Files denn immer um die passen dann gar nicht mehr so schön
in die sauber sortierte Sammlung, das ist etwas nervig. Lasst sie
doch so wie sie sind…
@Tommy: das sind die Paranoiker mit Aluhut. JavaScript ist ja nur dann gefährlich, wenn die Engine eine Sicherheitslücke hat, was aber genauso für HTML gilt.
Torrens der letzten Sendungen gibt es immer hier
http://torrent.firefly-it.de
Feed:
http://torrent.firefly-it.de/feed.xml
Wäre schön wenn das auch auf der Hauptseite stehen könnte
Klappt auch wunderbar mit Miro ;-)
Schamlose Selbstpromotion: http://ringojs.org/
Ich finde ja diesen Google Code Talk zu JavaScript SEHR interessant (hoff ich verwechsle den Link nicht): http://www.youtube.com/watch?v=hQVTIJBZook
Da wird auch gesagt, dass man „new“ eher nicht verwenden soll, sondern lieber den JSON artigen Weg nehmen sollte. Hab vergessen warum aber es gab da ein dummes Problem dabei. Auch gibts einen Google Talk zu der Zukunft von JavaScript, der sehr interessant war. Hab ich jetzt aber den Link grade nicht parat. Jedenfalls gilt für den verlinkten Talk Anschaupflicht (ist nicht nur inhaltlich interessant sondern auch gut gehalten).
Aja der, der den Google Talk über JavaScript hält (mein Post mit dem Link wartet noch auf Moderation) ist Doug Crockford (der JSON Erfinder) und kA ob das noch gesagt werden wird aber eval() sollte man NICHT verwenden! Viel zu gefährlich! Dafür gibts in JavaScript geschriebene JSON Parser und ich denk in Zukunft wird die XHR API der Browser eben nicht nur XML oder Plain Text, sondern auch JSON zurückliefern können (also dann parsts der Browser).
Denke Folgendes ist der von @panzi angesprochene Google-Vortrag zur Zukunft von JS:
http://www.youtube.com/watch?v=Kq4FpMe6cRs
Interessant in dem Zusammenhang auch:
http://ejohn.org/blog/ecmascript-5-objects-and-properties/
Toller Java Podcast, super interessant und ein Thema das auch echt mal dran war. Schade finde ich, dass hier immer wieder über die Downloadgeschwindigkeit gemosert wird. Scheint für einige das wichtigste zu sein, wie schnell sie den Podcast laden. Ich dachte es zählt eher der Inhalt, und der ist wahrlich super und beachtenswert
@Cco
Wen du großen Hunger hast willst du auch schnell etwas essen und nicht Stunden auf ein 5 Gänge Menü warten.
Aja, es kam ja auch die Frage auf wo JavaScript außerhalb des Browsers verwendet wird: In KDE kann man mittlerweile sehr viele Dinge mit JavaScript skripten. Z.B. kann man Plasma Widgets (sowas ähnl. wie OS X Dashboard Widgets) in JavaScript (und anderen Sprachen) schreiben und Programme wie Kate oder Amarok kann man mit JavaScript erweitern. Zumal dafür Qt verwendet wird kommt da auch Webkit zum Einsatz und in Zukunft eben auch das JITende JavaScript Core.
@Robi Jup, genau das Video meinte ich.
Evtl. ganz interessant im Zusammenhang mit Applikationsentwicklung ist XUL. (https://developer.mozilla.org/En/XUL)
Firefox und Thunderbird sind gute Beispiele für XUL-Applikationen ….
Echt toll, wie häufig Du im Moment produzierst. Vielen Dank für die Arbeit und jahrelang interessante und tief schürfende Diskussionen!
@Cco: http://www.php.de/beitragsarchiv/56179-ist-nicht-javascript-ist-es-nicht.html
@zeroathome Danke für den Torrent.
Diese Folge finde ich nicht so gelungen. Der Gast kam leider nicht sehr eloquent rüber. Die zahlreichen ‚ähms‘ waren schon störend, aber richtig schlimm waren die extremen Pausen in seinen Antworten/Sätzen.
Um die Kritik besser einordnen zu können: bei CRE139 Medienkompetenz gab es in den Kommentaren auch einige Beschwerden wegen äh’s – fand ich dort aber subjektiv überhaupt nicht schlimm.
Von der Struktur war es etwas Schade, das auf die Erklärung der Sprache an sich erst nach gefühlten 2h Stunden eingegangen wurde, nachdem über zig Engines/Frameworks gesprochen wurde.
Auch die Erklärung von dem Objekt-Modell war etwas knapp/kryptisch.
@Gerg: Hast du selbst schon mal einen Podcast gemacht? Sprachlich das gut zu machen, ist wirklich schwierig und muss eigentlich richtig gelernt werden. Und da war Malte sicherlich nicht brilliant aber auch nicht schlecht.
Die Kritik an der Struktur der Sendung kann ich nachvollziehen. Trotzdem der kleineren Mängel fande ich Sendung insgesamt sehr gelungen. Besonders note.js sollte vertieft werden.
DANKE für diesen supper tollen interessanten, unterhaltsamen, informellen Podcast! Die zwei Stunden sind sehr schnell verganen.
Javascript war für mich eines der interessantesten Themen im CRE, hat mir sehr gut gefallen! Auch den Bezug zu Flash fand ich sehr informativ und hilfreich.
http://wtfjs.com/ ist eine interessante Sammlung von Javascript-Schnippseln, bei denen man sich nur wundert, wenn man diese Feinheiten nicht kennt.
Zum Thema JavaScript-IDE: Ich habe kürzlich entdeckt, dass NetBeans äußerst brauch ist! Beste Auto-Completion mit Anzeige der API-Dokumentation bisher, zumindest für jQuery, andere Frameworks habe ich noch nicht getestet.
Bevor ich in meinem Leben ein Cent an die Raubritter zahle … unterstütze ich lieber Podcasts wie z.B. CRE mit dem Geld.
Weiter so!
Malte ist sicher ein Held (schließlich hat er ja schon 10 Jahre Web-Entwicklung in MVC.Frameworks gemacht, deshalb fand er ja Rails so unspannend, was er da wohl 1998 benutzt hat… ;o)), aber er kann sein Wissen mitunter nicht richtig rüberbringen. Einige Erklärungen zu den Objekten und Prototypen zerfaserten, weil Tim ständig nachfragen musste, derartig, dass der rote Faden abhanden kam.
Vielen Dank für den Hammer Podcast! Habe mich sehr amüsiert auch wenn ich mal anderer Meinung war.
@Edo Z: MVC basierte Web-Entwicklung ist in der Tat Ende der 90iger aufgekommen, als die ganzen Smalltalker da hin migriert sind.
Eine sehr gelungene und spannende Sendung!
Allerdings noch noch ein Hinweis: Da JavaScript ja wirklich in allen Browsern verfügbar ist, gibt es mitunter starke Bemühungen, Cross-Compiler für JavaScript zur Verfügung zu stellen. Zum Beispiel GWT (das Framework mit dem GMail gemacht worden ist) wäre erwähnenswert. Die Meinung von Malte zu sowas hätte mich echt interessiert!
Zitat aus dem JavaPosse: „JavaScript is the assembly language of the Browser.“
Mmm…finde JavaScript cool (kenn’s nicht, aber das Konzept gefällt mir sehr gut). Könnte man mal nicht auch einen Podcast über andere, evtl. underhypte Programmiersprachen machen (Tcl)? Deren Konzepte etc.
Hallo!
Ich hab dann auch gleich mal ne Frage ;-)
Was ist denn heute so die aktuelleste JavaScript-Version und wo finde ich ne API- und ne Sprachreferenz/definition(BNF) dafür? Ich blick bei den vielen verschiedenen Versionen nicht mehr durch !
Da ich selbst nochmal was bestimmtes Nachhören wollte, hat es sich ergeben, dass ich ein grobes Inhaltsverzeichnis dieser Folge erstellt habe, welches ich natürlich niemandem vorenthalten möchte! Kein Anspruch auf Richtigkeit oder Vollständigkeit! (Hoffe die Formatierung passt bei diesem Formular) :-)
00:04:50 Herkunft des Namens „JavaScript“, hat nix mit Java zu tun
=> Fehler: Eindruck JavaScript sei „kleiner Bruder“ von Java
00:06:40 Microsoft-Version: JScript, Browser-Wars
00:09:00 Standardisierung durch ECMA => ECMAScript
00:11:30 Mozilla am experimentierfreudigsten => mehr Features als andere,
die lieber einen Speedwar machen
00:12:20 API zum Browser: DOM Unterschiede zu Flash ActionScript
00:15:30 Das Absehbare Ende von Flash / ActionScript
00:17:45 IE6 ist out, wie auch Flash
00:18:30 JSConf (jährliche JavaScript-Konferenz)
00:20:40 CRE125: CouchDB
00:21:40 die erste JavaScript-Implementierung Spidermonkey, Tracemonkey
(tracing JIT-Compiler) (JIT=Just In Time)
00:24:00 Performance-Vergleich Tracemonkey Spidermonkey, hoher Aufwand
JavaScript schneller zu machen, Vergleich Geschwindigkeit JavaScript,
Java, C, Pywhon, Perl, …
00:25:50 Adobe und deren Position zu JavaScript (haben Tracemonkey gespendet),
Adobe nun unter Druck da Flash verschwindet, könnten aber relativ
einfach auf JavaScript umsteigen indem sie swf nach JavaScript & HTML
kompilieren
00:28:10 weitere JavaScript-Implementierungen: apple (SquirrelFish) und
google (V8) sind im Speedwar
00:30:42 Unterschiede, Feature-Implementierungs-Policies: mozilla probiert
viel aus, apple baut nur standardisierte Sachen ein, google baut
nur Sachen ein die apple eingebaut hat
00:32:40 ECMA arbeitet sehr langsam => andere deFacto-Standards müssen
aufgenommen werden damit man weiterkommt
00:33:35 Rhino, Server Side JavaScript
00:37:20 node.js
00:43:00 URL-Shortener, weiter node.js: läuft zwar stabil, aber API ist nicht
fixiert sondern ändert sich sehr häufig
00:47:35 narwhal und seine Implementierungen (Rhino, V8, …); blocking
00:48:18 Überblick Benutzung JavaScript auf Clientseite; wie sieht es auf
ServerSeite aus, wo man doch auch etwas mehr braucht? Was fehlt noch?
00:51:25 AMQP (Advances Message Queuing Protocol)
00:53:05 Programmiersprachen zur Realisierung von Webanwendungen: Ruby on Rails,
vergleichbare Ansätze in JavaScript? Einschränkungen von Rails im
Vergleich zu event-basierten Ansätzen wie node.js
00:56:55 die JavaScript-Revolution durch AJAX (XMLHttp-Request und warum es
eigentlich Http-Request heißen sollte)
00:59:45 das Box-Model vom IE6
01:00:45 prototype.js und wie sie die DOM-API repariert (vereinheitlicht)
haben
01:04:30 welche Fehler prototype.js gemacht hat und was man daraus gelernt hat
01:06:20 JavaScript im Detail: Unterschied zu den meisten anderen: Objektmodell
mit Prototypen (Vergleich mit Klassenmodell)
01:09:38 Grundlagen (Urschleim): Objekte, Funktionen, Arrays
01:12:50 JavaScript im Kern eine funktionale Programmiersprache, Funktionen
sind vollwetige Objekte, Objekterzeugung mit Funktionen, das
Prototype-Property um Speicher zu sparen, Prototype-Inheritance-Chain,
Vererbung
01:17:42 Beispiel für Objekt-Hierarchie-Modell: Hund
01:20:00 klassenmodell-mässig programmieren in JavaScript (möglich, muss man
halt selber bauen oder ein entsprechendes Framework nutzen)
01:21:25 historische Gründe für das leichtgewichtige, prototypische, abstrakte
Programmiermodell in JavaScript
01:22:00 andere prototypen-basierte Programmiersprachen
01:23:00 ActionScript auch so, nur ActionScript 3 ist nun klassenbasiert
01:23:44 was gibt es noch ausser Dynamik, Funktionalität, Prototypen sonst noch?
Scoping, „Namespace-Simulation“, Closures (anonyme Funktionen)
01:27:20 Zusammenfassung: dynamisch (=> Performanceprobleme), funktional,
CRE84: LISP, CRE31: Programmiersprachen und Dylan (closures),
JavasScript sowohl leichtgewichtig als auch flexibel
01:29:35 Joose JavaScript Meta-Object System: Klassen mit Namen,
Instanzvariablen, Methoden; Vererbung, Traits (Mix-In + Interface),
aspektorientierte Programmierung, eigene Meta-Klassen (z.B. für
Mehrfach-Vererbung oder für Custom-Events)
01:33:27 JavaScript-Frameworks & Programmiermodelle: Zusammenfassung: von
(X)HttpRequest zu Ajax, JavaScript, JSON als Datenformat (lässt
sich mit eval auswerten, da vollwertiges JavaScript-Literal), besser
geeignet für Objekt-Abbildung von Programmen als XML
01:37:07 „kulturelle Auswirkungen“ von Ajax: Client wurde neu entdeckt
01:39:30 wie ging es weiter nach prototype.js? Welche Lehren wurden gezogen?
JQuery (DOM-Manipulation), DOM-Operationen sind eine Art
Mengenoperationen in CSS-Syntax, Dojo Toolkit
01:45:00 YUI (Yahoo User Interface Library)
01:46:50 weitere Frameworks: SproutCore (für single page applications),
Cappuccino & Objective-J
01:50:10 wohin geht der Weg: Webanwendungen die sich klassisch als indizier-
und googlebare Seiten darstellen vs. vollständige Anwendung im Web?
Je nachdem macht beides Sinn
01:51:21 GWT (Google Web Toolkit)
01:51:50 wo geht die Reise hin mit JavaScript? Im mobilen Bereich: Palm-WebOS,
Android, Chrome OS, alles ist Web-Anwendung, Phone GAP
01:55:35 Zukunft auf dem Desktop? Google vorne weg, Anwendungsentwicklung im
Browser, Rails
01:57:30 klassische Fragen & Bedenken von Programmierern im Bezug auf JavaScript
schlechter Ruf, dynamische vs. statische Typisierung, Objektmodell
01:59:45 JavaScript: Write-Only-Programmiersprache (noch schlimmer als Perl)
wegen der vielen verschiedenen, zueinenader inkompatiblen Frameworks
Ruby dagegen hohen Re-Use-Value, Versuch CommonJS (wie CommonLisp),
kein Repo wie CPAN verfügbar (JSAN setzt sich nicht durch)
02:04:10 es gibt keinen „benevolent dictator“ der die Richtung vorgibt
=> es muss sich in der Community herausbilden, verschiedene Ansätze
02:06:28 JavaScript Ladezeiten-Optimierung im Browser
02:09:40 Werkzeuge & Ressourcen: Texteditoren, Google Closure Compiler
& Type Annotations (helfen dem Compiler bei der Optimierung, vgl.
tracing JIT), Firebug, Profiling Tools (zur Performance-Optimierung)
02:14:15 Was ist für den Einstieg ins Thema alles geeignet?
Vielen Dank. Werde versuchen, das irgendwie zu übernehmen.