
Does Software Understand Complexity? (2018) - devicetray0
https://michaelfeathers.silvrback.com/does-software-understand-complexity
======
hilbert42
I do not believe software understands complexity—that's to say programmers
can't adequately code complexity into software even if the programmers
themselves actually understood all aspects of that complexity—which I'd
venture that they don't.

Modern programming as we know it is always a case of a range of given 'knowns'
such as input data, program algorithms and programs' application of iterative
mathematics and basic logical operators (if-then-else type techniques etc.) to
produce an output/the end result. Of itself, no programming language has an _a
priori_ concept of 'complexity' built in.

If we move on from traditional software to AI we may be able to tackle the
complexity issue to some degree but that's not to say that we understand how
AI arrives at a solution. I see this as a deeply unsatisfactory outcome and
thus it is only part of the solution. It's why many others and I believe that
the term _Software Engineering_ is a misnomer in that the software/programming
profession has yet to come of age. Those arrogant enough to say that it
already has I believe are just fooling themselves.

I put this case to you as a simple example: take the software that ran the 737
Max and crashed those planes. Let's assume Boeing's engineers knew what they
were doing (and that's open to question) and they had essentially programmed
the MCAS system correctly but with some bugs. Then I would contend that any
system that was capable of adequately handling complexity—here processing
parameters outside the range of program's normal design parameters—would have
automatically defaulted to a _Do what is necessary to save the plane_ fallback
algorithm.

As such tragic cases demonstrate, no such software exists—as software has just
not reached the stage of development where users can be certain that their
software does not let them down when unforeseen problems arise.

It seems to me software innovation of this type is still years—likely
decades—away.

------
dang
A thread from 2018:
[https://news.ycombinator.com/item?id=17635624](https://news.ycombinator.com/item?id=17635624)

------
klysm
I don’t think software understands anything

~~~
dang
Ok, but please don't post unsubstantive comments here, such as shallow
reactions to titles that don't engage the interesting content of an article.

