“If you have a hammer, every problem is a nail”
There’s currently a discussion in the Linux Kernel development group to implement RUST because of its memory safety feature.
The veteran developers (Linus Torvalds included) are reluctant to leave the C++ language and migrate to RUST.
The Microsoft software engineer Wedson Almeida Filho, recently resigned after 4 years working in the project because he was frustrated answering non-technical discussions about the use of RAST.
Now they are talking about a new project to create a new backwards compatible Linux kernel totally made in RUST so they don’t need to fight with those C++ lovers.
Is C++ a bad languange for the OS kernel? or you just need to learn how to safely use it?
On the other hand, it’s a fact that the new generations are learning RUST. Do we want an inclusive kernel development culture or is it better to keep it in hands of experienced senior software engineers that can handle the power of C 😉
This is known as the “Golden Hammer” anti-pattern.
Learning introduces uncertainty and people feel more productive using a language (or tool) they know and can code faster.
Of course you can use WordPress for anything, and it will probably work, but… there’s a tool that is more adequate for every situation.
The rewrite syndrome is everywhere
Recently, there was a discussion with colleagues about a very simple daemon in GO that was working for long time and there was a new feature requested to add an extra field in the schema. I got a strong resistance from some engineers that proposed to create a new one from scratch in the language they were more comfortable with.
The discussion was focused on the language.
Is it better to have it redesigned in a language that we all master and can easily maintain and we can quickly continue solving the next issue
Should we spend some time learning GO language, add the new functionality and start getting experience in a new cutting-edge technology? no pain, no gain…
There’s no correct answer. In my personal opinion, I think we missed the growth opportunity.
Expand your toolbox
It doesn’t only apply to languages, it can be any technology. Maybe we only know SQL when we can be benefited by the speed of Redis or MongoDB.