For a free and opensource project, developer enjoyment and attractiveness to a wider audience of enthusiastic contributors is a very valid justification.
They even address this at the begining of the post:
>Nobody really likes C++ or CMake, and there's no clear path for getting off old toolchains. Every year the pain will get worse.
>C++ is becoming a legacy language and finding contributors in the future will become difficult
Dealing with a large C++ code bases and CMake build errors is about as fun as getting kicked in the head.
If Fish was a business and their entire focus was the bottom line, then it'd be a different conversation.
Personally I've found trying to set up a dev environment for C/++ projects to be like pulling teeth. I don't want to spend all day tracking down what my distro calls a library package. I want to get stuck in to programming right away if I'm doing it in my own time for fun.
Rust projects seem to always be extremely easy to compile, make use of common shared libraries, and shared patterns. Once you learn the language, you need to know little about the individual project like you do with C/++ projects.
This is probably the biggest reason I write new stuff in Rust. It's not as much a problem for existing projects that have already set up all their build infra though.
Well, that and you get stuff like fs::read(path) instead of always having to go find the ReadFile function from the last project you worked on like in C++ land.
>C++ is becoming a legacy language and finding contributors in the future will become difficult
To add to this point, I used to work at a large-ish C++ shop and we were already having problems finding C++ developers years ago and I'm assuming its just getting worse.
I worked at dev company that projects were outsourced to. I was waiting to be assigned to a project for few months. One day manager came to ask us if there's anyone that knows any C++. I can do C++ but I kept quiet. I was hired as a JS dev to have fun and I didn't want to be dealing with crappy C++ for the rest of my career at that company. Nobody out of 30 people or so admitted to knowing C++. It's highly unlikely that they all didn't know C++.
They even address this at the begining of the post:
>Nobody really likes C++ or CMake, and there's no clear path for getting off old toolchains. Every year the pain will get worse.
>C++ is becoming a legacy language and finding contributors in the future will become difficult
Dealing with a large C++ code bases and CMake build errors is about as fun as getting kicked in the head.
If Fish was a business and their entire focus was the bottom line, then it'd be a different conversation.