to upgrade
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
goodreads.com
STASHED IN:
421 reads
Complexity is the single major difficulty in the successful development of large-scale software systems.
Some estimates software problems cost the American economy $59 billion annually.
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.
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 examining it from the inside.
“testing is hopelessly inadequate....(it) can be used very effectively to show the presence of bugs but never to show their absence.”
This cause is basically in many ways a secondary eect — much code is simply concerned with managing state or specifying control.
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
created 11 ideas
24
Comment
2.73K reads
❤️ Brainstash Inc.