Reducing Your Troubles
In this post we’ll continue the refactoring of our now-a-bit-more-elegant Scheme code for doing reports in our hypothetical Gift Card scenario. We will discover another fundamental building block in the…
In this post we’ll continue the refactoring of our now-a-bit-more-elegant Scheme code for doing reports in our hypothetical Gift Card scenario. We will discover another fundamental building block in the…
In this post we’ll continue the refactoring of our less-than-elegant Scheme code for doing reports in our hypothetical Gift Card scenario. We will discover another fundamental building block in the…
Now we are going to write some Scheme code in order to show off some features of functional programming. (As stated earlier, I’m actually using the Scheme-dialect Racket, but that…
In this post I show the basics of the language Scheme, in order to be able to use Scheme in later posts to prove a few points on functional programming…
I started out, like most programmers do, writing imperative code. In recent years, however, I have begun to understand the power of functional programming. By understanding the thinking from a…
Focus: Robustness Description: Set robustness goals, and consider what should happen, and what should not happen in the face of likely (and less likely) errors. In the last post, we…
Focus: Robustness Description: Robustness is not just about exception handling! System architecture and design plays an important role! In the last post, we introduced an example of an application that…
Focus: Robustness Description: Make sure the system is able to handle and recover from failures Robustness is a very important property of a system, especially for unattended and/or long-running operations.…
Focus: Functionality Description: Make sure system meets even the unstated requirements! If you are dealing with a customer with little experience of specifying software requirements, they are likely to only…
Focus: Functionality Description: Make sure the system meets the stated requirements! Surprisingly, when discussing design, it's easy to forget about perhaps the most important design criteria, namely that the system…