>easy for agents to write and beautiful for humans to review
What's left unspoken here, and something I've brought up in other threads that have mentioned Ruby + LLMs, is that they continue to struggle _comprehending_ Ruby (and Rails) style code. In a fresh project, agents writing code for humans to review is a solid approach, but when the codebase grows and the project starts suffering from the downsides of dynamic typing, you're not going to be able to lean on that LLM to aide you in refactoring.
LispWorks and Allegro are both interesting, but I've found their IDE offerings to be very limited. I haven't used either since I was playing around with CL during Covid, but from what I recall, even the basic IDE experience of writing code was severely lacking: poor autocomplete, poor syntax highlighting, clunky interfaces. In most discussions I see about them, they're only recommended for their compilers, not for their IDE offerings.
I think LispWorks is fine (also look at these plugins https://github.com/apr3vau/lw-plugins - terminal integration, code folding, side tree, markdown highlighting, Nerd Fonts, fuzzy-matching, enhanced directory mode, expand region, pair editing, SVG rendering…) but I had this feeling with the newer web-based Allegro IDE (the poor syntax highlighting surprised me, did I do sthg wrong?).
This is the perfect way to create a code-base that's incomprehensible. Claude may be good at generating Rails code, but every LLM I've tried to date has struggled immensely with parsing and understanding an existing Ruby on Rails code-base.
I've seen more praise than criticism from employers.
I've seen more positive reflection than regrets from students.
(also true of Scheme based 6.001 and CS61A and HtDP)
This discussion at lobsters suggests the decision to change the curricula was political and business driven, not based on the merits of the "Fundies" course series:
I’ve found LLMs to be severely underwhelming. A week or two ago I tried having both Gemini3 and GPT Codex refactor a simple Ruby class hierarchy and neither could even identify the classes that inherited from the class I wanted removed. Severely underwhelming. Describing what was wanted here boils down to minima language and they both failed.
I feel like I'm living in a totally different world or I'm being gaslit by LLMs when I read stuff like this and other similar comments in this thread. Do you mind mentioning _what_ language / tech stack you're in? At my current job, we have a large Ruby on Rails codebase and just this week Gemini 2.5 and 3 struggled to even identify what classes inherited from another class.
> I think the future of software is going to be unimaginably dynamic.
>...I’m not entirely sure what that looks like yet, but things like this are a step in that direction.
This made me stop and think for a moment as to what this would look like as well. I'm having trouble finding it, but I think there was a post by Joe Armstrong (of Erlang) that talked about globally (as in across system boundaries, not global as in global variable) addressable functions?
reply