It really does mystify me what anyone thinks they’re accomplishing by creating a brand new programming language these days. Other than a purely academic exercise, of course.
Whatever features you want your language to have, there’s probably already a language out there that’s damn close to it. And if your ideal language is just like some existing language except for a few niggling details … then there’s no need to start from scratch – just make a modified version of that language with a few little changes to make it act the way you want.
Programming languages are just about a solved problem now, IMO. I can’t imagine any scenario where creating a new language from scratch would be better than tweaking an existing language … or just using an existing language as-is.
Rust is pretty fresh and really innovated a lot with its actual safe-by-default approach in a non-managed language actually able to replace C and C++.
Most new languages aren’t a Rust, but just a Python (yet another low-performance language assuming you don’t actually need strong typing to realize later that actually, you do). But a Python is definitely easier to get started with than a Rust (or the footgun languages, it is able to replace). So there is definitely a use case for that too.
Go is a good case of a young system application language designed for simplicity.
And everyone creates a domain specific language once in a while. Those can make specific tasks a lot easier.
Programming languages don’t really look like they are a solved problem. It seems like everything gravitates to Hindley Milner over time. But mainstream languages finally adopting null-checking at compile time by default and language features for parallel execution reaching the mainstream are recent enough that I think, there might still be a long way to go.
And obviously, you want AI to code in a language which is as much deterministically compile-time-checked as possible because of the hallucination problem (which btw, is also present in humans; the technical term there is brain fart). I expect that to be something which requires writing actual mathematical proofs like one does in Coq solely because AI doesn’t try to kill you if you insist on it writing mathematical proofs for everything.
The scaling limit already is the humans who have to do the code review. So any language which makes more bugs more obvious before the code reaches the review stage is extremely valuable even if writing code in it is a real PITA for humans (as long as they can read it, it’s fine).
It really does mystify me what anyone thinks they’re accomplishing by creating a brand new programming language these days. Other than a purely academic exercise, of course.
Whatever features you want your language to have, there’s probably already a language out there that’s damn close to it. And if your ideal language is just like some existing language except for a few niggling details … then there’s no need to start from scratch – just make a modified version of that language with a few little changes to make it act the way you want.
Programming languages are just about a solved problem now, IMO. I can’t imagine any scenario where creating a new language from scratch would be better than tweaking an existing language … or just using an existing language as-is.
Rust is pretty fresh and really innovated a lot with its actual safe-by-default approach in a non-managed language actually able to replace C and C++.
Most new languages aren’t a Rust, but just a Python (yet another low-performance language assuming you don’t actually need strong typing to realize later that actually, you do). But a Python is definitely easier to get started with than a Rust (or the footgun languages, it is able to replace). So there is definitely a use case for that too.
Go is a good case of a young system application language designed for simplicity.
And everyone creates a domain specific language once in a while. Those can make specific tasks a lot easier.
Programming languages don’t really look like they are a solved problem. It seems like everything gravitates to Hindley Milner over time. But mainstream languages finally adopting null-checking at compile time by default and language features for parallel execution reaching the mainstream are recent enough that I think, there might still be a long way to go.
And obviously, you want AI to code in a language which is as much deterministically compile-time-checked as possible because of the hallucination problem (which btw, is also present in humans; the technical term there is brain fart). I expect that to be something which requires writing actual mathematical proofs like one does in Coq solely because AI doesn’t try to kill you if you insist on it writing mathematical proofs for everything.
The scaling limit already is the humans who have to do the code review. So any language which makes more bugs more obvious before the code reaches the review stage is extremely valuable even if writing code in it is a real PITA for humans (as long as they can read it, it’s fine).
All you’ve demonstrated with this comment is your lack of imagination.