None of this would be happening if we had put this man on trial for espionage and insurrection. We don’t necessarily need more laws we just need to enforce the ones we have against billionaires. We can pass all the laws we want but if they don’t apply to billionaires there’s no country left to save.
In a reductive sense, yes. But practically, sometimes design considerations are made so the language is easier to parse or implement, which at the same time make it harder for humans to parse and understand. When someone says it's "made for humans" they mean they decided to make it easier for humans to read and write, often with the tradeoff that the parser and compiler will be more complicated.
Even if we accept the premise that humans don’t code anymore, it doesn’t follow that programming languages are not needed - the AI machines are writing more code than humanity has ever produced. So if anything, the need for better languages is more urgent than ever.
These days with LLM bootstrapping the compiler is a lot like using YACC for the parser. You just point the LLM at your compiler spec, tell it "bootstrap this" and then it does.
True, I’m assuming you’ve already implemented one compiler. You point the ai to that and instruct the ai machine “bootstrap the language using this reference compiler”.
Sort of. You do not have to implement full compiler before starting building the self-hosted one. With LLM it is possible now to write the spec, and at the same time build both reference compiler and translator, validating your design early. No big upfront effort.
You can, but I still feel like you'd want to solidify the behavior in one compiler before bootstrapping it, otherwise you run into the problem https://news.ycombinator.com/item?id=50342830 was talking about.
The main objection I used to have was there are infinite things to do when building a programming language, it's already enough to build 1 compiler, you probably shouldn't also build a second as your main stress test of the language.
That said if your languages is for building compilers you'd probably want to do it. Otherwise, basically no one writes compilers, and if they are they're writing them for their own languages in something much more mature than your nascent language. And if the ambient advice is to bootstrap asap, they'll only be using your language for a hot second anyway, so they're the worst users to cater towards.
These days I think all languages should try to do it with an LLM because, why not? That also means bootstrapping a compiler isn't exactly an impressive feat anymore, most new languages are doing it now.
Sociology is the right concept. It sits somewhere between system analysis and emergent human "sort of" sciences, like economics and sociology, where we can detect structures but humans are too complex to surface any platonic concepts with much confidence.
AI interaction may give us a cleaner way to test and analyze emergent properties that sit beneath so of the softer sciences, giving us a harder science that we had no way to investigate before.
reply