chao-
Joined 16 years ago
Joined 16 years ago
Ruby is on its third (I think?) JIT now? I'm a little surprised, given Ruby's reputation as a wacky "anything goes" language with a very complex grammar, and it makes me wonder why that is? Does it have to do with the design of the runtime itself more than the language semantics? Or is it more incidental, e.g. many popular ibs are C wrappers, already generates bytecode files, and so on.
I half-agree with this sentiment and want to stream-of-thoughts back at you in response:
>I don't find there to be huge differences in legibility between the common high level languages. This is especially true now that I'm reading far more than I'm writing, and relying on static analyses to determine correctness, far more than on my own interpretation of the code.
At best I have 70% confidence in what I'm about to say. Without AI agents, I feel like a language and ecosystem's expressivity could shine more when a project had heavy and finicky business logic. It matters less when you can ask your bot to interpret the invariants and feature behaviors at a broad scale. Again, I'm not 100% confident in that claim.
Even prior to AI agents, in such a project, first and foremost you needed to understand why the piece of functionality you're looking at does what it does within the business domain. The code was already secondary, but I think what agents have changed (for me) is that by lowering the cost of maintaining types, tests, and documentation, the code (and thus its expressiveness) might be becoming tertiary? Even when I was the one who wrote some documentation, half of the time I would go straight to the code to get an answer, rather than read my past explanations. Perhaps a sign that I am a bad doc writer? But that's where I felt the combined language-ecosystem expressiveness mattered most (along with keeping to architectural standards): I need to look back at something to understand it.
To try and end with a conclusion for my own thinking aloud: I feel like further emphasizing those three aspects (types, tests, documentation) flattens the demands on "legibility". Bouncing between tests (and even types) in Language X vs Language Y is far less differentiated than bouncing between Language X's ORMs vs Language Y's ORMs (or dataframe libs, or http servers, et cetera).
Ruby is never going to be a BEAM language or Rust, but I'm pretty excited for the near-term performance improvements in Ruby; not only the base language (e.g. Spinel), but in the broader ecosystem. When you avoid a handful of footguns, you maintain some basic architectural consistency/organization (and get your agents to do the same), Ruby continues to have a good balance between expressiveness, and the ease of reasoning about the code, relative to the amount of annotations and boilerplate you need to throw in to get there.
For someone who is persuaded they should never read the code anyway, then that's not a benefit that they desire, vaya con dios! There's not much conversation to have when working from such different premises.
https://www.texastribune.org/2026/10/05/texas-flock-cameras-...
Less egregious, but still egregious, a few weeks ago a local news investigator in Houston was quoted $121,000 for public records request related to Flock cameras:
https://www.click2houston.com/news/local/2026/09/24/harris-c...
Observation: Sooner or later, all of our family's elders have wound up cared for by a mix of children, grandchildren, nieces, and nephews. Even those who didn't have children. We're an ornery bunch, so quite a few stubbornly insisted they didn't need anyone, yet eventually they did. Care often came at an inconvenience to those providing it, but one way or another, in one form or another, care was given. I can only think of one person from my extended family who wasn't cared for by the younger generations in his final years.
Speculation: The average number of children in my extended family hovers around three, and most of us are in a few geographic clusters (not the same city, but still a cluster). Perhaps if the average litter was between one and two, and/or we were more spread apart, we may have slipped into line with that stereotype?
A "scapegoat" is someone who is incorrectly blamed for someone else's errors or sins. The perspective you're responding to is this: They built the system, they run the system, they have continuously warned "This system is dangerous!", and yet persisted. That is not being incorrectly blamed, not being a scapegoat, and instead is a collaborator.
So I think you mean to ask: "Why do people focus so much on finding someone to blame?" It's not merely semantic, because the answer to that is more straightforward: Consistent accountability is a major factor in deterring bad behavior. It is not the only factor, but it is a major one.
That is my Steel Man understanding of the people searching for individual blame.