On Jul 26, 2011, at 8:45 PM, Casey Ransberger <[email protected]> wrote:

> 
> Worth pointing out that server side JS dodges this "problem." Now that Node 
> is out there, people are actually starting to do stuff with JS that doesn't 
> run on the client, so it's happening... whether or not it's a real 
> qualitative improvement for anyone.

Well considering that Netscape Enterprise Server 2.0 ca. 1996 (15 years ago 
btw) did server side JavaScript. We've seen no change at all. I also say this 
having built several businesses on to of a C10k style server with server side 
JavaScript for the past 8 years (a contemporary of nginx). 

The lessons we collective fail to learn is that survival is not always of the 
fittest, just those most realized potential of changing. 

If I've learned anything from trying to reimplement Self in JavaScript it is 
that  JavaScript is immensely fungible. I have in a few lines of code working 
variants of lisp and forth and in a few more lines will finish Self. Since I've 
written x86 assemblers in JS, I'm certain I could turn any of these into a self 
hosting environment in under 1kloc. 

Evolving JS is a pragmatic approach to  evolving the ecosystem. And while 
technically nothing prevents people from building entire operating systems in 
JavaScript, culturally we are adverse to it. (and since Linux boots in a js x86 
emulator I don't buy any argument against the technical aspect) 

The greatest danger we face is cultural tendency to rarify programming, math, 
and computer science. For a simple system to be widely adopted, it must conform 
to existing cultural constraints to seem familiar, but only so much. 

_('tk')
        ('does:','text:', 's | HTML("element:","span")("contains:", s, 0, 
s.length)')
        ('does:','image:', 'u | HTML("element:","img")("src:",u)')
        ('does:','sound:', 'u | HTML("element:","audio")("src:",u)')
        ('does:','video:', 'u | HTML("element:","video")("src:",u)')
        ('does:','box:', '| HTML("element:","div")')
Is straight JavaScript. But it looks a little like lisp, a little like 
smalltalk, and borrowed from self and forth. 
I bet you can guess what it does by reading it. How it does it though would 
only be obvious to a JS expert. But the GUI that makes use of it allows a child 
to build web pages procedurally. 
I doubt 10% of programmers will ever be able to grasp the concept of building 
grammars to program. But with the right useful abstractions, the right geometry 
of objects, they won't have to. We are still a long way away from having a 
circularly linked directed graph as a fundamental datatype, or an n-dimensional 
mapping operator that sends messages to past states of programs and returns 
what the results would have been. Hell people still type linear text in vi. 

Dave


_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to