Future of Javascript Roadmap

Brendan on JavaScript 1, 2, and in between .

"Too many of the JS/DHTML toolkits have the "you must use our APIs for everything, including how you manipulate strings" disease. Some are cool, for example TIBET , which looks a lot like Smalltalk. Some have real value, e.g. Oddpost , which Yahoo! acquired perhaps as much for its DHTML toolkit as for the mail client built on that toolkit."

  • JS is not going away, so it ought to evolve.
  • JS does not need to become Java, or C#, or any other language.
  • JS does need some of its sharp corners rounded safely.
  • JS should make it trivial to produce or consume a "package" of useful script that presents a consistent interface to consumers, even as its implementation details and new interfaces evolve to better meet existing requirements, and to meet entirely new requirements. In no case should internal methods or properties be exposed by default.
One sharp corner that I would like rounded safely would be to make that methods can be added to the Object and Array prototype without breaking for/in loops. The beauty of Javascript is that additional methods like String.trim() and String.md5() can easily be added to the existing prototype via your own script library. One way to make the same possible for the Array and Object prototypes would be allowing the enumeration to be suppressable on a per property bases...

dontenum Array.prototype.contains

...as recommended by Douglas Crockford .

Regarding reserved identifiers, it certainly seems inconsistent to allow...

var foo = {'var':bar};
return foo['var'];

...while...

var foo = {var:bar};
return foo['var'];

var foo.var = bar;
return foo.var;

...are not allowed.

14.06.2005, 07:56

Baby steps towards Javascript heaven

Just wanted to give a quick update regarding my Mocha/Helma plans...

Since I've shared some thoughts about using Helma as the base for Mocha projects over a year ago, I've ported parts of my existing Mocha Engine to Helma and gained some real world experience with how the two concepts fit together. I learned a lot about "the Helma way" of doing things (I hope), which was an overwhelmingly positive experience.

While I at first implemented things the Mocha way, I often later realized that there already was an elegant Helma way of solving the same problem. For the most part I now appreciate even those aspects of Helma that I originally saw more critical.

As a result of that evolution, the ideas for a Helma based Mocha framework changed quite a lot. First the framework grew to resemble the old Mocha engine, then I experimented with "the Helma way" and trimmed it down until there was hardly any code left. I now started with a new approach ("OpenMocha") that I believe to be an interesting blend between "the Mocha way" and "the Helma way". I'll release a first build as soon as I have the core concept in a working state.

Due to the Ajax-hype and the resulting openness of web developers towards more complex javascript coding, there might be renewed interest in "our way" of building web apps. When I imagine a blend of Helma / OpenMocha / Chopper / Prototype , I see the line between server-side and client-side fading and I see "Javascript heaven".

I'm not sure how Gobi fits into this picture, since Gobi is less about putting a framework in Javascripters hands and more about putting the power of Helma in the hands of the Non-Javascripters. Does this interpretation of Gobi make sense?

Helma = the java based core framework --> for "scripting" applications using Javascript
Gobi = high level "web" framework --> for "configuring" solutions through the browser ?
OpenMocha = high level javascript based framework --> for "scripting" solutions using Javascript

13.06.2005, 16:39

Mac OS X spreading like wildfire

This morning I read here that Mac Daily News reports that the developer's build of OS X for Intel runs on any standard PC. The second I read this it made CLICK! in my brain... If this is true then that explains why Apple will wait until 2006/2007 to ship "the real thing" - very clever!  Spreading Mac OS X like wildfire!

I then followed the links and quickly got where my analysis was shared... The Shape of Days calls it "Try before you buy?" :

"The Intel-based Power Macintoshes that Apple is showing at their developer conference are based on an Intel motherboard, generic Intel graphics and off-the-shelf Pentium 4 CPUs."

...they run a build of Mac OS X 10.4.1 that includes Apple’s bundled iLife ’05 suite of applications.

"A reader who for obvious reasons wishes to remain anonymous just demonstrated to me that the software is, in fact, already available on Internet software piracy sites."

"If I can think through this stuff, Apple’s management can think through this stuff."

"This is the most awe-inspiring stealth marketing move I’ve ever seen."

12.06.2005, 07:55


Trois petits filous à Faoug

Dexter et Elan ont trois nouveaux neveux... 

http://www.du-lac-de-faoug.ch/.3bb48c1c

11.06.2005, 16:06

Jackrabbit JSR 170

Don't have time to read this right now, but want to later... This article reviews the Java Content Repository API and its open-source implementation, Apache Jackrabbit, from a developer's perspective .

10.06.2005, 22:20

Rich components for HTML 5

HTML 5 highlights from HTML 5 vs. XHTML 2 :
  • <datagrid>: As you can imagine. A rich data grid component.
  • <canvas>: We are really excited about Canvas, which you can play with a litle in the Firefox 1.1 alphas (buggy)
  • Range: Imagine <input type="range">. Yahoo! Mindset could have just used this.
  • Email, Url, Time, Date: <input type="email|url|time|date">. Rich.
  • Simply allow editable content: <content Editable=""..
  • Event Sources: <event-source src="/some/path" onevent="process(event)"/> rather than a lot of JavaScript and iframes.

10.06.2005, 09:05

More Java Harmony

Andrew Roberts offers a recap of the Sun Java / Apache Harmony situation including these quotes of Dalibor Topic:

"Apache Software Foundation, an organisation that's been quite successful at writing, maintaining and encouraging donations of Free Software written in the Java programming language eventually started thinking that a full J2SE implementation might be a good thing to have under Apache's umbrella as well, beside a huge chunk of the stack above it."

"These days, there is an almost full Free Software stack, going from the Linux kernel, to the supporting GNU libraries from one side, and going from certified, compatible enterprise software development and deployment environments and their supporting libraries from the other side, like JBoss or JOnAS. The only remaining non-free card in that software stack is a fully compatible Free Software runtime for programs and libraries written in the Java programming language."

10.06.2005, 07:53

Mac goes Intel

As I see it, Apple using Intel cores in future Macs may be less of a switch than an shift towards fewer dependencies and commodity core components. The long, long, looong term future might be a "best of breed" multi-architecture strategy. Apple (Steve) is probably very pissed at IBM and will burn all bridges. Let's hope IBM won't return the favor and will be there when they have not just a roadmap but are on the road and can deliver.

John Siracusa picks up the pieces and Jon "Hannibal" Stokes shows how hell freezes over ... "it must've been the liquid cooling".

10.06.2005, 07:28


>>> Google goes Rumantsch

> Oxymoronic Swiss-EU relations
> Rico and Prototype Javascript libraries
> Paul Klee - An intangible man and artist
> Incrementalism in the Mozilla roadmap
> Mocha multi-threading
> Moving towards OpenMocha
> Google goes Portal
> What Bush doesn't get
> Unique and limited window of opportunity
> Persisting Client-side Errors to your Server
> Dive Into Greasemonkey
> Brown bears knock on Switzerland's door
> The experience to make what people want
> "Just" use HTTP
> Yes, what is gather?
> A Free Song for Every Swiss Citizen
> Java in Harmony
> Jan getting carried away
> Evil Google Web Accelerator?
> JSON.stringify and JSON.parse
> Ajax for Java
> The launching of launchd
> Timeless RSS
> Kupu
> SNIFE goes Victorinox
> AJAX is everywhere
> Papa Ratzi
> How Software Patents Work
> Ten good practices for writing Javascript
> Free-trade accord with japan edges closer
> Mocha at a glance
> Adobe acquires Macromedia
> Safari 1.3
> View complexity is usually higher than model complexity
> Free Trade Neutrality
> SQL for Java Objects
> Security Bypass
> Exactly 1111111111 seconds
> Kurt goes Chopper
> Choosing a Java scripting language
> Spamalot's will get spammed a lot
> The visual Rhino debugger
> The Unix wars
> EU-Council adopts software patent directive
> FreeBSD baby step "1j"
> Never trust a man who can count to 1024 on his fingers
> Visiting the world's smallest city
> Finally some non-MS, non-nonsense SPF news
> Swiss cows banned from eating grass
> Ludivines, the "Green Fairy" of absinthe
> First Look At Solaris 10
> EU Commission Declines Patent Debate Restart
> Alan Kay's wisdom guiding the OpenLaszlo roadmap towards Mocha?
> 1 Kilo
> Re: FreeBSD logo design competition
> Schweizer Sagen
> Europas Eidgenossen
> XMLHttpRequest glory
> Art Nouveau La Chaux-de-Fonds 2005-2006
> The Beastie Silhouette
> The Number One Nightmare
> Safe and Idempotent Methods such as HEAD and TRACE
> Sorry, you have been verizoned.
> Daemons and Pixies and Fairies, Oh My!
> Sentient life forms as MIME-attachments: RFC 1437
> Web Developer Extension for Firefox
> Refactoring until nothing is left
> Brendan, never tired of providing Javascript support
> Catching XP in just 20 Minutes
> Designing the Star User Interface
> Rhino, Mono, IKVM. Or: JavaScript the hard way
> Re: SCO
> Judo
> Convergence on abstraction and on browser-based Console evaluation
> Today found out that inifinite uptimes are still an oxymoron
> New aspects of woven apps
> Original Contribution License (OCL) 1.0
> Unified SPF: a grand unified theory of MARID
> BSD is designed. Linux is grown.
> 5 vor 12 bei 10 vor 10
> Mocha vs Helma?
> Schattenwahrheit: Coup d'etat underway against the Cheney Circle?
> Abschluss Bilaterale II Schweiz-EU
> From Adam Smith to Open Source
> Linux - the desktop for the rest of them
> Big Bang
> Leaky Hop Objects
> Return Path Rewriting (RPR) - Mail Forwarding in the Spam Age
> Microsoft Discloses Huge Number Of Windows Vulnerabilties
> Steuerungsabgabe statt Steuern
> Anno 2003: deployZone
> The war against terror
> The war against terror (continued)
> The relativity of Apple's market share
> Are humans animals?
> Anno 1999: Der Oberhasler
> Anno 1998: crossnet
> Geschwindigkeit vs Umdrehungszahl
> Anno 1997: Xmedia
> "The meaning of life is to improve the quality of all life"
> Anno 1996: CZV
> How do I set a DEFAULT HTML-DOCUMENT?
> Global Screen Design Services



Forum for Direct Democracy

Javascript server-side

Helma Project


Christoph Zumbrunn
2610 Mont-Soleil, Switzerland
+41 329 41 41 41
chris@zumbrunn.com
IRC: zumbrunn on freenode.net
Jabber: chris@zumbrunn.com
Skype: ChrisZumbrunn
Listening to: worldradio.ch
Xing profile



Chris Zumbrunn's Mochazone
> Helma 1.6.3-rc3 ready for testing
> Helma 1.6.3 Release Candidate 2
> Release Candidate 1 of Helma 1.6.3
> Helma at the 2008 OpenExpo in Zurich
> Large Hadron Collider
> Ecmascript Harmony
> The A-Z of Programming Languages jumps to Javascript
> Fresh Javascript IDE in Ganymede Eclipse release
> Helma at the Linuxwochen in Linz
> Brendan on the state of Javascript evolution
> Is AppleScript done?
> ES4 Draft 1 and ES3.1 Draft 1
> Want ES4 in Helma today?
> SquirrelFish!
> ES4 comes to IE via Screaming Monkey
> Apple's position on ECMAScript 4 proposals
> Helma Meeting Spring 2008
> Attila Szegedi about Rhino, Helma and Server-Side Javascript, and scripting on the JVM in general
> Helma 1.6.2 ready to download
> Larry Lessig's case for creative freedom
> Earthlings - Can you face the truth?
> The Story of Stuff
> A Quick Start to Hello World
> The Overlooked Power of Javascript
> Adobe's position on ES4 features, plus the Flex 3 SDK source code is now available under the MPL
> Solar cell directly splits water for hydrogen
> Asynchronous Beer and Geeking and other opportunities to talk about Helma, Rhino and Javascript on the server-side
> Openmocha and Jhino updated to 0.8
> Even more Server-side Javascript with Jaxer
> e4xd and jhino - javascript server-side soft-coding
> Additional Filename Conventions
> Update to Helma 1.6.1
> Netscape, the browser, to live one more month
> SimpleDB vs CouchDB
> Helma powered AppJet - Takeoff!
> CouchDB for Helma
> Bubble bursting friendship bracelets
> Evolving ES4 as the universal scripting language
> Helmablog and an article in Linux Pro Magazine
> More praise for Helma
> Javascript as Universal Scripting Language
> So, what's up with World Radio Switzerland?
> Helma Conspiracy Theory
> JSONPath and CouchDB
> Hold the whole program in your head, and you can manipulate it at will
> Keeping track of localhost:8080
> Rhino 1.6R6 with E4X fix and patches for Helma
> Helma 1.6 is ready!
> Junction brings Rhino on Rails to Helma
> Javascript for Java programmers
> The server-side advantage
> John Resig on Javascript as a language
> Rhino on Rails
> Release Candidate 3 of Helma 1.6.0
> ECMAScript 4 Reference Implementation
> Antville Summer Of Code 2007
> Helma 1.6.0-rc2
> Using H2 with Helma
> Helma warped around existing db schemas
> Rocket the Super Rabbit
> Bootstrap is out of the bag
> The last mention of Microsoft
> Helma 1.6.0-rc1
> Introducing Planet Helma
> Helma ante portas
> Fixing Javascript inheritance
> Shutdown-Day the Helma way
> Upcoming Helma 1.6, new reference docs and IRC channel
> Making Higgs where the Web was born
> Jala for Helma
> See you at Lift'07
> More on Javascript Inheritance
> Mocha Inheritance
> Helma 1.5.3
> Fresh Rhino on Safari
> Truly Hooverphonic!
> Helma 1.5.2
> RFC 4329 application-ecmascript
> Helma 1.5.1 ready to download
> Aptana - Eclipse reincarnated as a Javascript IDE
> Building the Conversational Web
> Drosera steps in to debug Safari
> Helma 1.5.0 has been released!
> Helma 1.5 RC2 is ready
> Helma 1.5.0 Release Candidate 1 available for download
> FreeBSD Jails the brand new easy way
> Javascript 2 and the Future of the Web
> Frodo takes on chapter 3
> No Rough Cut :-(
> Welcome to Helma!
> 40th Montreux Jazz Festival
> trackAllComments
> Rails' greatest contribution
> Consensus vs Direct Democracy
> A candidate for CSCSJS or a Mocha Fetchlet
> A (Re)-Introduction to JavaScript
> coComment Roundup
> Track your comments
> Sketching image queries and reinventing email
> ECMAScript - The Switzerland of development environments
> I love E4X
> Tutorial D, Industrial D and the relational model
> Stop bashing Java
> E4X Mocha Objects
> Logging and other antimatters
> Stronger types in Javascript 2
> Javascript Diagnosis & Testing
> Homo Oxymora
> Yeah, why not Javascript?
> Moving beyond Java
> Spidermonkey Javascript 1.5 finally final
> Helma Trivia
> Finding Java Packages
> JSEclipse Javascript plug-in for Eclipse
> Catching up to Continuations
> Mighty and Beastie Licenses
> Tasting the OpenMocha Console
> "Who am I?", asks Helma
> Savety vs Freedom and other recent ramblings
> Mont-Soleil Open Air Lineup
> Rhinola - Mocha reduced to the minimum
> OpenMocha 0.6 available for download
> E4X presentation by Brendan Eich
> What is Mocha?
> Do you remember Gopher?
> The current.tv disappointment
> OpenMocha Project Roadmap
> MochiKit Javascript Library
> Getting your feet wet with OpenMocha
> People flocking to see global warming
> Rails vs Struts vs Mocha
> The JavaScript Manifesto
> OpenMocha is ready for a spin
> The limits of harmonization
> Le Conseil fédéral au Mont-Soleil
> Amiga History Guide
> The people must lead the executive, control the legislature and be the military
> Copyback License
> Looking at FreeBSD 6 and Beyond
> Qualified Minority Veto
> The Doom of Representative Democracy
> Violence in a real democracy
> Concordance and Subsidiarity
> Wrapping Aspects around Mocha Objects?
> Future of Javascript Roadmap
> Baby steps towards Javascript heaven
> Mac OS X spreading like wildfire
> Trois petits filous à Faoug
> Jackrabbit JSR 170
> Rich components for HTML 5
> More Java Harmony
> Mac goes Intel
> More >>>