Re:John Carmack working on Scheme as a VR scripting language
by brlewis on Wednesday July 01, 2015 @09:51AM
(#9811758)
I'm currently using Java and Javascript for work. Previously I used Scheme. I do find that scanning is important in Java and JavaScript because often you don't need to read a whole section, just a piece. Back when I worked with Scheme, if I didn't need to read a whole section, generally the part I needed to know was right at the beginning. I think all Lisp dialects work this way.
The worst example is immediate function application in JavaScript. You get to the end and all of a sudden the }(); tells you everything you've just read is a different context than you thought it was. In Scheme (and probably most Lisps) you'd recognize immediate function application at the beginning as soon as you saw ((.
I don't know how people get really good at JavaScript without learning Scheme first.
Re:John Carmack working on Scheme as a VR scripting language
by ahoge on Wednesday July 01, 2015 @10:01AM
(#9811824)
> You get to the end and all of a sudden the }();
With most code conventions, you wrap immediately invoked function expressions (IIFEs) in parens:
var foo = (function () {
...
}());
The only purpose of those extra parens is to act as marker.Well, with block scope (`let` & `const`), IIFEs aren't really needed anymore.
I didn't complain about parenthesis. ASM's syntax is also extremely simple, but that doesn't make it easy to use, does it? If everything looks the same, it's hard to scan.
C-like languages provide more visual hooks than Lisp dialects.