news.volyx.in

Cold Showers (github.com)

629 points by blopeur · 1547 days ago · 355 comments on HN

Article summary

The article presents a curated list of 'cold showers' for overhyped topics in software development, providing a reality check for common claims and practices. It covers various areas, including formal verification, static typing, big data systems, and microservices. The list aims to promote a more nuanced understanding of these topics by highlighting the limitations and potential drawbacks of each. By examining the evidence and research behind these claims, the article encourages a more critical approach to software development.

Main themes

  • static typing vs dynamic typing
  • formal verification
  • big data systems
  • microservices
  • software development best practices
  • evidence-based decision making

What commenters say

  • Some argue that static typing reduces bugs, while others claim that the evidence for this is lacking and that dynamic typing can be just as effective.
  • The effectiveness of static typing in preventing bugs is a matter of debate, with some citing personal experience and others pointing to a lack of scientific evidence.
  • The use of null safety features in modern type systems can help reduce runtime errors, but it is unclear whether this translates to a significant reduction in bugs overall.
  • The choice between static and dynamic typing ultimately depends on the specific needs and goals of the project, and there is no one-size-fits-all solution.
  • Personal experience and anecdotal evidence are not sufficient to prove the effectiveness of a particular approach, and more rigorous scientific studies are needed to settle the debate.
  • The lack of evidence for the effectiveness of static typing does not necessarily mean that it has no benefits, but rather that these benefits may be difficult to measure or quantify.
  • Some argue that the benefits of static typing, such as improved code readability and maintainability, are worth the potential drawbacks, even if they do not necessarily lead to a reduction in bugs.
  • Others propose that the use of optional static typing, where developers can choose to use static typing for certain parts of the code, may offer a compromise between the benefits of static and dynamic typing.