Language Size (was Re: [TLUG]: ECMAScript ("Javascript") Version4 - FALSE ALARM)

Dave Herman dherman at
Wed Oct 31 04:54:00 PDT 2007

> (A fallout of that (my victory or my fault, depending on how you see it)
> is that ES4 does not require things like definite assignment analysis,
> which would have required more elaborate data structures than a compiler
> on an embedded system would be happy with.  Instead we have a syntactic
> workaround (the "settings" section of the constructor) and other rules
> to handle non-nullability.  Kludgy?  Depends on your point of view.

As an aside: in my view this design goal ("no complex static analyses in 
the semantics") is not just a win for lightweight devices. It's also a 
win for the simplicity of the semantics. A programmer doesn't have to 
think about complex analyses to understand the *meaning* of a program; 
similarly, when the compiler/interpreter freaks out because an analysis 
failed, the programmer doesn't have to understand a complicated error. 
Syntactic restrictions like lexical scope, the "settings" section, type 
systems, etc. have the benefit of being based on simple syntactic 
properties that are easy for the programmer to eyeball by inspection of 
the source. The result is a cleaner and clearer language semantics.


More information about the Es4-discuss mailing list