Computer science fact of the day 2: JavaScript really was mostly-written in just a few weeks by Brendan Eich on contract-commission for Netscape [ to the extent that you consider it as having been “written [as a new programming language]”, and not just specced out as a collective of “funny-looking macros” for Scheme. ] It took Eich several more months to finish the SpiderMonkey parser whose core I still use every time I browse the Internet today. However, e.g. the nonprofit R5RS did not ship a parser/interpreter [ likewise with similar committee projects ], yet it’s not contested that the R5RS committee “wrote a programming language”.
Computer science fact of the day 3: If you do consider JavaScript a Lisp, it’s [as far as I know] the only living Lisp—not just the only popular living Lisp—to implement [ [1] first-class functions, [2] a full-featured base list fold/reduce that is available to the programmer, [3] a single, internally-consistent set of macros/idioms for operating on “typed” data ]. [1] and [2] are absolutely essential if you want to actually use most of the flexibility advantage of “writing in [a] Lisp”; [3] is essential for general usability. MIT Scheme has [1] and [2] [ and [3] to any extent, as far as I can tell ], and seems generally sensible; the major problem is that it is a dead Lisp. It has no living implementations. I have spent more than a year in a Lisp Discord server that seems full of generally competent programmers; MIT Scheme’s death grip on Emacs as an interpretation/development environment seems to make it a no-go even for lots of people who aren’t writing big projects and don’t need, e.g., functional web crawling libraries. This has caused Scheme to fall so out of favor among working programmers that there is no Scheme option on Leetcode, Codewars, or the competitive programming site Codeforces [Codewars has a Common Lisp option, but none of the rest even have a Lisp]. For people who actually want to write production code in something that amounts to a “real Lisp”, JavaScript is, today, far and away their best option. [ The vexing thing being: while functionally it is the best choice, in terms of flexible syntax, it does not offer a large % of the [very real] generally-advertised benefits of using a Lisp! ]
Computer science fact of the day 2: JavaScript really was mostly-written in just a few weeks by Brendan Eich on contract-commission for Netscape [ to the extent that you consider it as having been “written [as a new programming language]”, and not just specced out as a collective of “funny-looking macros” for Scheme. ] It took Eich several more months to finish the SpiderMonkey parser whose core I still use every time I browse the Internet today. However, e.g. the nonprofit R5RS did not ship a parser/interpreter [ likewise with similar committee projects ], yet it’s not contested that the R5RS committee “wrote a programming language”.
Computer science fact of the day 3: If you do consider JavaScript a Lisp, it’s [as far as I know] the only living Lisp—not just the only popular living Lisp—to implement [ [1] first-class functions, [2] a full-featured base list
fold
/reduce
that is available to the programmer, [3] a single, internally-consistent set of macros/idioms for operating on “typed” data ]. [1] and [2] are absolutely essential if you want to actually use most of the flexibility advantage of “writing in [a] Lisp”; [3] is essential for general usability. MIT Scheme has [1] and [2] [ and [3] to any extent, as far as I can tell ], and seems generally sensible; the major problem is that it is a dead Lisp. It has no living implementations. I have spent more than a year in a Lisp Discord server that seems full of generally competent programmers; MIT Scheme’s death grip on Emacs as an interpretation/development environment seems to make it a no-go even for lots of people who aren’t writing big projects and don’t need, e.g., functional web crawling libraries. This has caused Scheme to fall so out of favor among working programmers that there is no Scheme option on Leetcode, Codewars, or the competitive programming site Codeforces [Codewars has a Common Lisp option, but none of the rest even have a Lisp]. For people who actually want to write production code in something that amounts to a “real Lisp”, JavaScript is, today, far and away their best option. [ The vexing thing being: while functionally it is the best choice, in terms of flexible syntax, it does not offer a large % of the [very real] generally-advertised benefits of using a Lisp! ]