3 ms·
> Racket is probably the finest example of a modern day lisp bar none It's not. There are several nice and unique things about Racket, but it's a pretty poor e
by patrec 3y ago
> Racket is probably the finest example of a modern day lisp bar none
It's not. There are several nice and unique things about Racket, but it's a pretty poor example of a lisp, to the extent that if you want to understand what's good about lisp you'd probably be better off learning emacs lisp than racket.
- clircle 3y agogo on...
- patrec 3y agoLisps have traditionally been optimized for very smart people solving cutting-edge problems (both in academia and industry) that benefited PL innovation in an interactive, fully malleable and explorable environment. People like Chaitin, Baker, Gosper, LeCun, Minsky, Norvig, Sussman etc. This community has essentially vanished and a large part of the vacuum has been filled up by people who seem to derive their feelings of self-worth by association to past greatness rather than personal accomplishments. But some of the spirit lives on in Julia (which has a much better claim to being the foremost modern lisp), and some cool stuff and people have been "grandfathered in" and continue to do use lisp for fairly sophisticated stuff (a backend example would be google flights/ITA and a end-user app example would be opus modus). Racket is, in my probably slightly biased opinion, a vehicle for doing firmly within-the-box CS research and teaching. It comes with a lot of batteries included and there are some cool an innovative things about it (it has sophisticated support for syntactic abstractions with acceptable error reporting, contracts, non-textual data etc). It's run by people with very respectable academic output, but to the best of my knowledge none of them are particularly appreciative of interactive and malleable computing (even python is much better here), or ever wrote any code that's reallly pushing the state-of-the-art. I'd also say that the racket IDE (despite also having some nice features) is ugly, clunky, sluggish and not something that I can see appealing to very good programmers. I'm also not aware of any impressive industry project done in Racket (although, in fairness I should add that Carmack has said nice things about racket).
- kazinator 3y agoLanguages in the Lisp family are very nice and advantageous to work with if you're the type of programmer who types out hundreds of lines of code, saves them to a file, and they either work the first time, or do so with minimal changes. The people you mention in your first paragraph likely all belong to this category, incidentally. Iteractivity is not required for solving cutting-edge problems and certainly not by people of that caliber. Lisp programming, as such, does not require very smart people; languages in the Lisp family provide a user-friendly experience suitable for the average person who has some aptitude and curiosity for programming. You need very smart people to solve cutting-edge problems in fragile low-level languages, in which a mistake will destabilize the machine. Those people have to be experts in the problem domain, and in coding (or a team which includes such). Interactivity actually makes things easier for the bumblers who massage code into working and believe that trying functions at the REPL is a viable test plan.
- kazinator 3y agoErratum: ... advantageous to work with even if ...