Hacker News new | past | comments | ask | show | jobs | submit login

Whether you code is declarative/imperative or whether it has all the hot new packages as featured in HN has very little to do with making software products "competitive" or having "comparative advantage". It's always going to be about whether the product is solving the customer's problem more conveniently than the competition does.



...and whether it will continue to do so.

Maintenance over long time is hard, requires experience, architectural choices, risk analysis, balancing tradeoffs, and obviously a disciplined team.


Yes, but whether it will continue to do so, once again, has little if nothing to do with the tech stack.

I think you’re getting at the point about how tech debt can bog down product development and the progress of a business, and I fully agree that it should be avoided, but tech debt avoidance is hardly related to the tech stack or programming style as much as it is to architectural decisions. And, when you’re looking at longer shelf life for your code, then the article becomes justified in making your codebases as boring as possible because thn you’d like to employ only the patterns that have truly stood the test of time, instead of polluting your code with novel approaches.


> I think you’re getting at the point about how tech debt can bog down product development and the progress of a business, and I fully agree that it should be avoided, but tech debt avoidance is hardly related to the tech stack or programming style as much as it is to architectural decisions.

I think all the people who are adopting Rust, who wouldn't have touched C++, would disagree with you.


Boring isn't old, nessecarily. Not-boring isn't nessecarily novel either.

Design Patterns are from at least 1994, when GoF wrote them down. Ideas like DDD are some 20 years old. As is e.g. Event Sourcing.

Actually, by your reasoning, Event Sourcing would be the preferred architecture for everything since the oldest written human sources were event sourced (bookkeeping grain).

As always, what is best fitting "depends". Battle tested is one, but never the only one, parameter to decide with.


> Maintenance over long time is hard, requires experience, architectural choices, risk analysis, balancing tradeoffs, and obviously a disciplined team.

Exactly. That's the reason Facebook gave for adopting Reason (OCaml).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: