For example, back in 2001, Dijkstra expressed his dismay at Java replacing a different functional programming language, Haskell, in UT Austin's introductory programming course. https://www.cs.utexas.edu/users/EWD/transcriptions/OtherDocs...
Also consider that MIT used the Scheme version of SICP as their introductory programming textbook for years, and it remains a classic, but nowadays MIT leans into Python for introductory programming courses.
We have lambdas, flexible structures, FP methods (map, filter, reduce...), can express recursion easily, we have ternary operators, array and object destructuring (const {a,b,...rest}=init()). We have a nice way to deal with asynchronicity. We have some kind of class system. And thanks to typescript we have a really great and expressive type system that's very cool and eases the job a lot.
Update: The ticket for v8 to support JavaScript tail call optimization remains open but hasn’t been updated in a couple years. https://bugs.chromium.org/p/v8/issues/detail?id=4698
The current form is too low-key since it looks like a screenshot.
* Internet Archive's Democracy's Library https://blog.archive.org/2022/10/19/announcing-democracys-li...
* Distributed Press https://distributed.press/
* Guardian Project https://guardianproject.info/
* MuckRack Document Cloud https://muckrack.com/
* Harvard Library Innovation Lab https://lil.law.harvard.edu/
* Human Rights Data Analysis Group https://hrdag.org/data-publication/
Longer list here: https://ffdweb.org/explore/#partners