Re: Why a new language?
> The thing that always gets me about computer scientists ... the first thing they do is invent a new language to try and solve it in ... Rust
You are aware that Grayson Hoare created Rust as a side-project whilst working as a Dev at Mozilla?
He wasn't an academic Computer Scientist.
CompSci certainly creates plenty of new languages - it is a good way to make your experiments[1] concrete and demonstrable, especially when publishing (and creating a thesis!). So, yes, of course CS invents new languages (or modifies existing ones).
But very, very few of those are ever even intended to "go mainstream", certainly not as-is. The *concepts* are hopefully going to end up somewhere practical, but like the bulk of science, what Joe Public ends up using day to day looks little like the original publication.
On the other hand, the languages you actually *see* as a Dev grunt[2] tend to be - rather more pragmatic. PHP, Perl, Python, JavaScript - yes, even C and most definitely Rust.
Curiously, you can tell - by looking at the language specification. Or the lack thereof.
To get your CS thesis best marks, you have a specification, and you use comparisons of this to point out where your nifty ideas are new and different.
To get your personal side-project out there, you fling together all the example programs and the compiler/interpreter executable, then try to keep up with the various totally random demands[3] that (re)shape your baby. After a while, if you (and everyone else) are lucky, there is enough interest that (other) people start work on a proper language specification, for pragmatic reasons.
[1] as in, the actual "science" bit.
[2] except for the lucky few who actually get paid a salary, not just a sequence of grants, to work on production code in an "obscure" language, such as ML.
[3] like JavaScript changing its outer appearance to look more Java/C'ish whilst underneath... ok, JS is a rather pathological example...