Hacker News new | ask | show | jobs
by echelon 1368 days ago
Because the OP described inheriting a C++ app his team doesn't know how to manage.

It's a language where segfaults, memory leaks, and other problematic issues are easy to manifest.

I assume they have deep Java knowledge, since they suggested it themselves.

1 comments

This would likely result in worse problems. Things You Should Never Do, Part I

https://www.joelonsoftware.com/2000/04/06/things-you-should-...

This has never been my experience, and Joel isn't an all-seeing oracle.

In just one notable example, a company I was at had a team develop an important platform in Node.js when the rest of the company was hired for and familiar with Java/Ruby. This app ran our 3rd party API gateway and was a central part of how our company was attempting to grow.

The Node.js team left wholesale to go found CockroachDB, which left nobody at the company who had the expertise to take over. You'd think that someone at a fairly large company would have Node.js experience, but it wasn't the case that we could staff the team back up easily.

There were several major production outages and the app lagged behind in development for the entirety of its life. We also had to port our protoc changes and traffic stack just to serve this one app. This despite being a central part of our upmarket strategy.

Ultimately it was completely rewritten. And nobody regretted that decision. We carefully weighed the pros and cons.

There's something to be said for a company that standardizes on one or two languages. Letting engineers have free reign leaves you with Haskell and Erlang littered in important places, with a very tiny bus factor.

No one said to let everyone have a free for all with a million different languages. Rewriting things creates its own set of bugs. Every time.
Of course it does.

But leaving things untouched is sometimes impossible or an even bigger drain.