https://sicp.sourceacademy.org/chapters/1.1.7.html#ex_1.6
We're just a few pages in and the original instructive exercise of 'why can't I make my own if out of cond' involves learning the JS ternary operator.
I am also an APL/J fan and this footnote in SICP rings true:
[15] Richard Waters (1979) developed a program that automatically analyzes traditional Fortran programs, viewing them in terms of maps, filters, and accumulations. He found that fully 90 percent of the code in the Fortran Scientific Subroutine Package fits neatly into this paradigm. One of the reasons for the success of Lisp as a programming language is that lists provide a standard medium for expressing ordered collections so that they can be manipulated using higher-order operations. e programming language APL owes much of its power and appeal to a similar choice. In APL all data are represented as arrays, and there is a universal and convenient set of generic operators for all sorts of array operations.
EDIT: > In 2021 the SP kernel was returned to open source forming the basis for the S series of kernels on which this manual is based.
Anyone have a PDF link to a paper about this Fortran analyzer?
Having seen what having javascript as a first language does to first year students I can't understand why this is considered a good idea.
Nothing prohibits them from learning, "better" languages after you reach them, but first you have to reach them.
I know Racket has an integrated GUI toolkit, but will this new generation be able to run it on their tablets?
One benefit of the great variety in front-end JavaScript frameworks, often criticized as churn, is that we're more likely to arrive at an abstraction that will be approachable to beginners. I look forward to watching how this generation learns to program.