Out of the Tar Pit - Deepstash

Bite-sized knowledge

to upgrade

your career

Ideas from books, articles & podcasts.

created 7 ideas

Dealing with complexity of software systems could be daunting. But there are some ways to tackle it.

GOODREADS

Out of the Tar Pit

Out of the Tar Pit

goodreads.com

STASHED IN:

421 reads

Complexity is the single major difficulty in the successful develop­ment of large-scale software systems.

Software problems cost a lot

Some estimates software problems cost the Amer­ican economy $59 billion annually.

Simplicity is Hard

The type of complexity we are discussing in this paper is that which makes large systems hard to understand. It is this that causes us to expend huge resources in creating and maintaining such systems.

Two widely-used approaches to understand­ing systems

Testing: This is attempting to understand a system from the outside — as a “black box”.

Informal Reasoning: This is attempting to understand the system by ex­amining it from the inside.

DIJKSTRA

“testing is hopelessly inadequate....(it) can be used very effectively to show the presence of bugs but never to show their ab­sence.”

Complexity caused by Code Volume

This cause is basically in many ways a secondary eect — much code is simply concerned with managing state or specifying control.

Power corrupts

In the absence of language-enforced guarantees (i.e. restrictions on the power of the language) mistakes (and abuses) will happen.

The more powerful a language (i.e. the more that is possible within the language), the harder it is to understand systems constructed in it.

3 Reactions

Comment

It's time to

READ

LIKE

A PRO!

Jump-start your

reading habits

, gather your

knowledge

,

remember what you read

and stay ahead of the crowd!

Takes just 5 minutes a day.


TRY THE DEEPSTASH APP

+2M Installs

4.7 App Score