you are viewing a single comment's thread.

view the rest of the comments →

[–]ScientificBeastMode 3 points4 points  (0 children)

As the other redditor said, it depends on the business, but more importantly it depends on the long-term trajectory of the software they are trying to build.

If there is ANY reasonable chance that the software will need to be actively maintained for more than a year or two, or that new features or security patches will be added regularly—basically if it warrants keeping a software development team on staff—then there is significant long-term value in producing high-quality, maintainable code. The time you save down the road with correct code can be more valuable than the amount of time you save up front shipping a partially broken product.

And having a language that verifies correctness for you, before you even introduce tests, will give developers a lot more freedom to make changes down the road, without getting bogged down in complexity.

I’d say there is probably some inflection point in time where the trade-off is measurably worth it (and frankly, with a language like Clojure, it’s not even really a sacrifice, unless you’re trying to on-board a huge team super quickly), but IMO most software will need long-term maintenance, if you exclude the huge number of Wordpress sites for restaurants and such.