ACM Comm 2018 05 The March into the Black Hole of Complexity (Notes)

From University
Jump to: navigation, search
"Speech Emotion Recognition" CACM May 2018

The March into the Black Hole of Complexity
by Harold "Bud" Lawson, p.43-45

The March into the Black Hole of Complexity

"Addressing the root causes of rapidly increasing software complexity."
Complexity accelerates along every dimension as humanity explores reality in greater depth.
Bottom Line:
The author wants hardware to directly support high-level programming languages to reduce software complexity and increase software reliability.
There are several problems with this:

  • Which high-level programming languages will be supported? There are a few thousands, pick one.
  • How is the hardware upgraded when the next language version is released?
  • Languages from BASIC to Lisp have been supported with dedicated processors and libraries loaded into EPROMS to speed up software development. But none are available today.
  • The main problem is the next problem is so different from the last one that new tools and ideas are needed to solve it and many times no single language can accomplish that.

People

  1. Wayne Wilner
  2. Glenford Myers
  3. Richard Soley
  4. Bertrand Meyer
  5. Ivar Jacobson

Ideas

  1. Hardware-Software Mismatch
  2. Software complexity is a black hole
  3. Hardware should be designed to run the available programming languages. For example, the Burroughs B5500.
  4. The IBM System/360 instruction set was too simple to support the software languages at the time. Add a complex Job Control Language, an increasing documentation burden and creating efficient software was almost impossible. This created a profitable niche market for consultants, both IBM and third party.
  5. Symantec gap between hardware and software.

References

  1. The Mythical Man Month, by Fred Brooks
  2. Micro Code
  3. Micro Programs
  4. Creating hardware to run micro programs natively.
  5. Flexible Central Processing Unit (FCPU) 64-bit computer.
  6. WINTEL hardware/software cycle in the 1980's-1990's.
  7. Complex Instruction Set Chip (CISC), x86 variety.
  8. Reduced Instruction Set Chip (RISC)
  9. T-Machine
  10. E-Machine
  11. SEMAT (Software Engineering Method and Theory)[1]
  12. Essence Kernel - Jacobson, I. et al. The Essence of Software Engineering: Applying the SEMAT Kernel. Addison-Wesley, 2013.

Internal Links

Parent Article: Reading Notes