5 ms·
I genuinely would love to see apps written in lisp. It's all Javascript nowadays, with about 5-8 frameworks dominating this sad landscape. Imagine how refreshi
by keyle 10y ago
I genuinely would love to see apps written in lisp. It's all Javascript nowadays, with about 5-8 frameworks dominating this sad landscape.
Imagine how refreshing it'd be to see Lisp driving webapps, front and back-end.
Not even saying that should be the one size fits all, I'm saying, anything else...
- shakna 10y agoNetscape had originally planned to use Scheme as their scripting engine. But then Java took off and they wanted something that looked similar... So we ended up with a ten day hack.
- throwanem 10y agoEich ascribed the result less to internal Netscape politics and more to the Scheme interpreter taking longer to implement than expected and there needing to be some scripting language in the browser that shipped - it was either JS or something that he described as being very like PHP avant la lettre. IIRC this happened in comments on jwz's blog - cite on request, though you'll have to excuse me for waiting until i'm back at a machine with a keyboard and a big display before I go hunting it down again.
- zeveb 10y agoIt's really hard to believe that implementing a Scheme or Lisp would be slower than implementing JavaScript, so I would indeed be interested in your cite. My recollection is that Eich's bosses wanted something that looked like CJava++.
- throwanem 10y agoSee your sibling comment (if you haven't already).
- zeveb 10y agoHmmm, I guess my takeaway from that is that it had to look like C, and that iron constraint combined with the time pressure to mean that good features from Scheme were left out, not that implementing JavaScript rather than Scheme was due to time pressure.
- throwanem 10y agoYup. (And it would just figure that, the one time I describe something based on a half-decade-old recollection and don't throw in an "as I recall" qualifier, it'd be the time I misremember in a significantly erroneous way.)
- kbutler 10y agohttps://www.jwz.org/blog/2010/10/every-day-i-learn-something-new-and-stupid/#comment-1018 https://www.jwz.org/blog/2010/10/every-day-i-learn-something... duskwuff: So, since I have to ask: What would we be stuck with if JS hadn't happened? Brendan Eich: Something like PHP only worse, which Netscape's VP Eng killed fast (in early July 1995, if memory serves; I did JS in early-mid-May) since it was "third" after Java and JS. Two new web programming languages were hard enough to justify... also: Ten days to implement the lexer, parser, bytecode emitter (which I folded into the parser; required some code buffering to reorder things like the for(;;) loop head parts and body), interpreter, built-in classes, and decompiler. I had help only for jsdate.c, from Ken Smith of Netscape (who, per our over-optimistic agreement, cloned java.util.Date -- Y2K bugs and all! Gosling...). Sorry, not enough time for me to analyze tail position (using an attribute grammar approach: http://wiki.ecmascript.org/doku.php?id=strawman:proper_tail_calls http://wiki.ecmascript.org/doku.php?id=strawman:proper_tail_...). Ten days without much sleep to build JS from scratch, "make it look like Java" (I made it look like C), and smuggle in its saving graces: first class functions (closures came later but were part of the plan), Self-ish prototypes (one per instance, not many as in Self). and: Scheme was the ideal admired by the JS supporters at Netscape, and the trick used to recruit me. But (see above) the "look like Java" orders and the intense time pressure combined to take out a lot of good ideas from Scheme that would've taken longer (not much longer, sigh) to implement. One example: just the C-like syntax makes tail calls harder (or less likely: consider falling off the end of a function returns undefined, so the last expression-statement before such an implicit return is not in tail position).
- BrendanEich 10y agoNo, I never started implementing Scheme. Where did you read that? Netscape didn't "plan" to do Scheme in any deep or detailed way, either. It was a gleam in the eyes of jg & mtoy when they recruited me. By the time I got there the Java deal was on, and MILLJ was the management edict.
- irascible 10y agoI love how all the lack of lisp adoption is due to everyone but the lisp "community" itself. Top post in this thread is a harangue about how this shouldn't be called new lisp and how that's against the "lisp spirit" nonsense. People make new languages and frameworks all the time with varying degrees of success. Someone tries to make a new lisp and it's immediatly a discussion about how the plebes ruined computing. Physician, heal thyself.
- baldfat 10y agoKind of like how Hacker News was written with a Racket made language?
- village-idiot 10y agoI've personally worked on a Lisp backend, it was probably worse than most of the JS sites you lament about. Of course, it's probably not Lisp's fault that that project was a mess, but the ultimate level of flexibility that CL provided let bad ideas worm their way down to the compilation level, making it really hard to work your way back out. Honestly, you've never felt tech debt pain like unwinding reader macros.
- qwertyuiop924 10y agoWhich is why the rule of thumb with any sort of macro is: use minimally and tastfully, and do not write one until there is a proven need.
- pka 10y agoWell, Clojure/ClojureScript?
- pmoriarty 10y ago"Imagine how refreshing it'd be to see Lisp driving webapps, front and back-end." Get web browsers to embed a Lisp in them, and this will happen. Though even then, Lisp will never be nearly as popular as Javascript due to its unfamiliar syntax.
- qwertyuiop924 10y agoWe have Chibi through emscripten, and SPOCK compiles to JS. Both implement most of R5RS.
- imagist 10y ago> It's all Javascript nowadays, with about 5-8 frameworks dominating this sad landscape. This is only even a perception in the Silicon Valley echo chamber, and it's not even true there. I worked at a contracting firm that did apps last year and we never once wrote one in JS.
- hilti 10y agoI wrote a web framework for newLISP a few years ago. Actually it's not as fancy as Ruby on Rails, because it's focus is more on templating, routing and data handling. But it does still it's job and I'm using in everyday. Even as a REST backend for our mobile apps in my company AppTruck. Demo here: http://dragonfly.apptruck.de http://dragonfly.apptruck.de