Skip to content

Software Development is a Science and not Math

Uncle Bob talks about Software Development being a scientific process rather than a mathematical one, in one of his talks that I watched on Youtube. He says that, Software development aligns more closely with the principles and methods of science rather than mathematics. When creating software, it involves a process similar to the scientific method: experimenting, observing, and improving iteratively. Engineers hypothesize about solving problems, write code to test their theories, observe the outcomes, and refine their approaches based on feedback. This iterative approach mirrors how scientists study natural phenomena.

In contrast to mathematics, where solutions are typically precise and deterministic, software development lacks a definitive way to verify correctness. Unlike math, where formulas or theorems can be used to validate new models, there's no equivalent in software. The only way to ensure a software functions correctly is through testing. This perspective underscores the importance of rigorous testing in software development, highlighting that software is more aligned with science than math