Evolving ES4 as the universal scripting language

I thought I already posted about this, but apparently I was only going to... The Lively project team has written about their experience of using javascript as a real programming language and I think it makes an interesting read, specially in light of the current ES4 politics.

I've been following lots of comments and opinions posted since that draft ECMAScript 4 Overview was published and all hell broke loose on the es4-discuss mailing list .

Although I prefer the dynamic and flexible nature of Javascript to be taken even further instead of tying things down with classes, strict types and non-mutable built-ins, I see why ES4 is a good next step for ES as the "universal scripting language". ES should be able to bend all the way to where it becomes similar to a strict compile-time language. In a sense, the ability to be strict becomes the proof of its ultimate flexibility.

On the other side, I hope we can still get more features into ES4 that increase its dynamic nature. Maybe some of what Doug Crockford has up his sleeve with ES3.1 can still go into ES4 *in addition* to what the majority of TG1 is already proposing. Yes, that would make ES4 an even bigger revision. After the amount of time that has passed since the evolution of Javascript has cooled down with the end of the browser war, a big revision is overdue. Client-side technology has again become a focus. As a result of the Ajax hype, Adobe's AIR and MS's Silverlight, the client-side is again becoming a battle ground.

So, churn TG1, churn. Bring us new ECMAScript revisions quickly. Don't hesitate to split things up into multiple specs, like you've done in the past with Ecma-327 and Ecma-357 . For example, a more flexible, less secure mode allowing embeddings to opt-out of the non-mutability for built-in types, offering macros and allowing even built-in keywords to be overridden can all make sense in some environments. So would a much more limited, more secured ECMAScript subset, defined as a separate opt-in standard, that could provide a jailed eval to embeddings that need it.

The use case in browsers is only a small part of the entire ECMAScript universe. Outside the world of browsers, maximizing flexibility can also mean to allow embeddings to run in different modes or to not require them to implement all ECMAScript subsets. So, not everything that is standardized under the name "ECMAScript" actually has to end up in web browsers!

29.11.2007, 10:00

Helmablog and an article in Linux Pro Magazine

Toronto based Kristan Uccello has started blogging about his experiences taking the first steps with Helma at helmablog.com . He brought my attention to a Helma related cover story in the November issue of Linux Pro Magazine written by Stephan Schmidt .

Apparently the downloads for the listings code are not online yet and the listings in the article seem incomplete. Fortunately, kuccello has tweaked things to get a working FeedReader app .

18.11.2007, 11:33

More praise for Helma

aaroniba says on news.ycombinator.com... We use Helma for our (unlaunched) YC startup, and we love it.

"It's faster than rails, and IMO nicer to develop with. Having all the Java libraries without having to code in Java is sweet. The ORM is really well-designed and the built-in object cache is super fast. The template system has its quirks, but once you get used to it, is also really sweet."

"It's a shame helma wasn't documented or evangelized as well as rails was. I think it's a better framework that just didn't catch on because it wasn't marketed well."

And midnightmonster continues to evangelize E4X and the flexibility of Helma's server-side environment.

23.10.2007, 17:11

Javascript as Universal Scripting Language

Russell Beattie thinks we are moving in the right direction: More Javascript on the server-side and the rest of the universe.

Javascript is the UNIX of scripting languages.

9.10.2007, 15:15

So, what's up with World Radio Switzerland?

On November 1st, World Radio Geneva will become World Radio Switzerland. For many years, World Radio Geneva has served yours truly as the "official sound track". This site has linked to their live audio stream and my better bits of code have all been written under the influence of "88.4 FM WRG".

Over the past years, WRG has been operating as a privat local radio station. With the change to WRS, it will become a national public radio station. The new WRS station will have had a turbulent history, if you count all the different bits together.

The swiss public service broadcaster SRG SSR has statutes very similar to Britain's BBC and originally applied for an FM license for WRG with the intention of mainly re-using content produced by Swiss Radio International. However, the license it finally received from the federal government mandated that the station had to be commercial, limiting the ability to re-use Swiss Radio International content.

Swiss Radio International was later forced to focus on internet content, becoming swissinfo , and the SRG SSR made its Radio Suisse Romande (RSR) subsidiary the principal shareholder together with Reuters and the BBC. Recent changes in swiss law made the involvement of the SRG SSR in a commercial radio station again more troublesome and the SRG SSR was forced to either sell WRG entirely or absorb it into its public service structure. The latter is what has happened and as a result WRG will go national as WRS with the blessing of the federal government.

World Radio Switzerland could become a small but important puzzle piece moving us closer towards an anglo-professional and one day maybe an anglo-official future. Switzerland has a unique opportunity in this regard since it does not have to protect its current official languages to the extent necessary in nations like France, Germany and Italy for cultural reasons. Lifting the status of English in Switzerland will have a unifying effect and will re-energize the evolution of our political principals.

Now, on one hand, I'm really excited about the potential of what World Radio Switzerland could become. A WRG-FM equivalent for all of Switzerland would be a fantastic thing to have. It would be the radio channel of my dreams and, more importantly, it would be exactly the medicine Switzerland needs to move its collective consciousness forward in the right direction.

On the other hand, I'm really worried that they'll screw it up and miss that opportunity, because I don't know if they understand themselves what it is that makes WRG-FM tick and whether they can properly translate and scale that to a national level. Assuming the current management of WRG does in fact "get" it, will they be able to defend the genetic code of WRG against the infectious influences that they will be exposed to from other interest groups inside and outside of the SRG SSR?

With the start of World Radio Switzerland, Switzerland is at a cross-roads between ...ehm... no change, and leveraging that media to develop a higher level of self-awareness. Will we miss that opportunity?

27.9.2007, 19:05

Helma Conspiracy Theory

For crying out loud! ...so, Helma is a conspiracy now? ;-)

A comment about helma on reddit : "It is a neocon conspiracy to consolidate power on centralized authoritarian servers rather than on democratically used browsers where it should be. Helma is the "New World Order" cryptically referenced in numerous GHWB speeches and various Neocon vision statements."

I don't think so :-)

27.9.2007, 11:24

JSONPath and CouchDB

More ingredients for the Mocha pie: the new version of CouchDB leverages JSON and Javascript . I wonder what happens if you throw JSONPath at it .

2.9.2007, 12:03

Hold the whole program in your head, and you can manipulate it at will

Paul Graham, Holding a Program in One's Head :

"Your code is your understanding of the problem you're exploring. So it's only when you have your code in your head that you really understand the problem."

"Distractions are bad for many types of work, but especially bad for programming, because programmers tend to operate at the limit of the detail they can handle. The danger of a distraction depends not on how long it is, but on how much it scrambles your brain. A programmer can leave the office and go and get a sandwich without losing the code in his head. But the wrong kind of interruption can wipe your brain in 30 seconds."

"The more succinct the language, the shorter the program, and the easier it is to load and keep in your head. You can magnify the effect of a powerful language by using a style called bottom-up programming, where you write programs in multiple layers, the lower ones acting as programming languages for those above."

Yep.

26.8.2007, 11:17

>>> 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
> 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
> Anno 2004: CZV
> 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?
> Server-side Javascript
> Anno 1999: Der Oberhasler
> Anno 1998: crossnet
> Think different
> 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?
> Crossnet - der kollektive Intellekt der Schweiz
> Global Screen Design Services
> Anno 1993: Macro-micro navigator
> Anno 1992: Intouch i-station
> Anno 1991: mediacube
> Anno 1990: RasterOps
> Anno 1989: Lambada by Kaoma
> Anno 1988: Perfect by Fairground Attraction
> Anno 1968: Mony Mony and People Got to Be Free
> August 28th 1968: William Buckley Vs Gore Vidal



server-side javascript
sovereignty, subsidiarity,
solidarity and sustainability

Chris Zumbrunn's Mochazone
> Server-Side Javascript since... way back: RingoJS!
> Modules, Proxies, and Ephemeron Tables
> Helma 1.7.0 has escaped its stealth existence
> The Moon And The Sky by Sade
> Written In Reverse by Spoon
> Keep Cool My Babies!
> Module system strawpersons
> You find what you google for.
> Move your money - It's a Wonderful Life
> ServerJS - Brewing The Perfect Storm
> While society must do things the right way, its people must find ways to do the right thing
> CommonJS effort sets JavaScript on path for world domination
> ServerJS - putting Javascript to work on the *other* side
> Eating healthier would safe the planet
> JVM Web Framework Smackdown
> Before implementing a solution to a problem, always search for a workaround, because the workaround is often better than the original solution
> If they are not ready for what they need, give them the backbone for their future baby steps
> Been there, but haven't done that
> Unus Pro Omnibus - Omnes Pro Uno
> Hang You From the Heavens by The Dead Weather
> Web-based editing of sandboxed server-side javascript apps
> PubSubHub against spam and walled gardens
> CometD at a glance
> Be part of the solution, not part of the problem
> Surrender by Cheap Trick
> A car has nothing to do with a carpet
> ES5 Candidate Specification
> ReverseHttp and RelayHttp
> The best solution is that one isn't needed
> New Eclipse Helma plugin project
> Is the Bespin web-based code editor the ideal future ServerJS IDE?
> Server-Side Javascript Standard Library
> First Soleil on Mont-Soleil
> Helma turns 1.6.3
> 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!
> Permaculture 101
> 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
> More >>>