What Testing Gets You
Often times testing is viewed as a guaranteed way to ensure your function behaves as you expect it to. However this is far from what is actually happening. A excellent example of this occurred a few years back and I want to take a look at the problem and see what standard testing practices would get you and the best way to approach the problem.
What we can learn from Unix
The Unix Philosophy is a wonderfully cohesive way to thing about program execution and composition. Its beauty relies in its simplicity, somewhat unfortunately this is also tied to the fact that Unix is dealing with software on the operating system level. We’re going to explore what the Unix Philosophy is and what it allows us to do when working in a Unix shell. All the while exploring how Unix can guide our attempts to create simpler programs at a higher level of the stack.
Designing for a use case
When you develop an application or some software artifact you consider what task the program is to complete. You make a model of who your customers are, and how they interact with your service, and then you proceed to implement that.
These types generally take the form of persistent trees. This allows people to modify them as they wish and recover from any unexpected changes. I have in mind that these objects will be stored in a collections framework that allows for common operations over most data structures
I recently had the pleasure of seeing Bjarne Stroustrup speak at an event at NYU. The talk focused on the role of C++ and his role at Morgan Stanley, but what was far more interesting was the manner in which he thought about programming concepts.
View All Tags