Idk if lisp is the perfect language to teach, but the choice in language absolutely flavors a student's understanding of computing, especially early on.
I think “lighter” languages with fewer built in abstractions would allow students to better understand the theoretical backing of what they’re doing.
Like what’s the difference between and class and a closure?
It doesn’t really matter for the practical day to day work, but certainly does to compiler designers and programming language theory folks.
You wouldn’t really get a sense for that in Java or python, but you might in a lisp or maybe js.
Idk if lisp is the perfect language to teach, but the choice in language absolutely flavors a student's understanding of computing, especially early on.
I think “lighter” languages with fewer built in abstractions would allow students to better understand the theoretical backing of what they’re doing.
Like what’s the difference between and class and a closure?
It doesn’t really matter for the practical day to day work, but certainly does to compiler designers and programming language theory folks.
You wouldn’t really get a sense for that in Java or python, but you might in a lisp or maybe js.