Welcome back. Have you ever had
a program such as
a text processor or spreadsheet crash on you?
That's an example of fragile code.
Unfortunately, most of the software
written today is fragile.
A software makes up much of our infrastructure,
and plays such a large part in our lives.
We want it to work and work right,
to be secure and robust.
In Module 3, we're going to learn about this type of
programming by looking at
both fragile and robust coding styles.
We will focus mostly on implementation issues.
But we will discuss how
design issues drive the implementation.
Using code samples, we
will explore topics like air handling,
interfaces, token generation, and interpretation.
We use an example a library implementing queues;
creating and deleting them,
adding and removing elements of them.
During this module, we will see
examples of incorporating paranoia,
stupidity, dangerous implements, and magical thinking,
and what happens when you don't use them.
It should be fun. At the end of this lesson,
you'll be able to explain
the issues that can arise from fragile programming.
You'll also be able to discuss how design issues drive
implementation and distinguish between
robust and fragile code.
Finally, you'll be able to explain what can go wrong in
fragile code and write
a robust version of fragile code. Let's dive in.