Occam's razor is a principle that upholds simplicity. In a pragmatic manner, it can be interpreted as advocating that the simplest solution is best. This principle, historically attributed to William of Ockham (a real village in Surrey, and hence the name Occam's Razor) is often extensible to minimalism in software design and related decisions. Occam's razor is widely, and albeit implicitly, used in almost all scientific and engineering endeavors as a tool to scope and analyse complex systems, to 'shave off' the frills, noise and variables that are are irrelevant to the proper visualisation of the context in the pursuit of forming the best solution for a defined objective. The idea of decomposition with object-orientation is a kind of razor for software engineering. Building on this principle is the philosophy of software minimalism which adds an extra dimension by requiring that software be built to conform to its role while striving to consume the least resource in its execution.
For a feel of Occam's razor, and consequently, minimalism in action, consider the following situation in a game of Pingus:
Continue reading "PHP, minimalism and Occam's razor"