I see practice as two things:

  1. “fumbling around”, and,
  2. Applied Science (also known as Engineering).

It seems to me that the significant “precambrian explosion” types of discoveries are made only through “fumbling around”, whereas the yin-yang pairing of academic study with Applied Science can produce only incremental improvements and deeper refinements of bigger ideas.

The yin-yang pair tends to fail when equations are pushed beyond their sweet spot(s) to extrapolate ideas, instead of sticking strictly to interpolation.

Often-times, we deep-dive into buffing ideas incrementally, and, end up ignoring the bigger picture.

This is certainly happening in software.

FP is a prescription to ignore the fact that CPUs are based on the concept of mutation, through the use of papal bulls forbidding the use of mutation.

We believe, for no good reason, that all practical programming languages must be based on CPUs and assembler:

  • sequencing
  • step-wise everything (quantization), trying to force step-wise operational semantics onto otherwise pure functional macros of FP thinking
  • propagation delays (time) vs. instantaneous, macro-like referential transparency
  • use of $1,000 computers simply to play $7.99 Tetris

For example, humanity believed

  • Ptolemaic cosmology - epicycles were kludges to make equations work out
    • 2,000 years of Ptolemaic cosmology vs. 400 years for Galilean cosmology
  • Mars Pathfinder
    • hubris due to belief in infallibility of software engineering, and correctness of function-based techniques
    • the problem was ultimately fixed in an ad-hoc manner by bolting an incremental fix onto existing technology instead of stepping back and questioning the existing paradigm (ad-hoc fix == “priority inheritance”)
  • Maxwell’s equations do not define the phenomenon of Electricity
    • at best, Maxwell’s equations define a usable slice of the phenomenon
  • perpetual motion of electrons around nuclei - something is deeply wrong with this picture, but, we keep on keeping on, without stepping back or applying Scientific fail-fast thinking to the idea(s)
  • bacteria can count (“quorum sensing”). This represents a fundamental shift in our understanding, but, has not affected our fundamental belief structure (e.g. “what if” bacteria turn out to be more evolved than humans? Bacteria are more efficient, less cruft. Maybe bigger is not better. Cells are amalgams of 2 kinds of entities (need ref - who discovered that?))

“Fumbling around” isn’t totally directionless. It usually is systematic, but, usually studies concepts that are outside of the bounds of accepted “Science”. What pairs with “fumbling around”? What inspires new avenues for “fumbling around”? What is a better phrase/word for “fumbling around”?

Appendix

2024-01-03-Academia Lags Behind Practice

Appendix - See Also

References

https://guitarvydas.github.io/2004/01/06/References.html

Blogs

blog

obsidian blogs (see blogs that begin with a date 202x-xx-xx-)

Videos

videos - programming simplicity playlist

Books

leanpub’ed (disclaimer: leanpub encourages publishing books before they are finalized - these books are WIPs)
Programming Simplicity Takeaways, and, Programming Simplicity Broad Brush

Discord

Programming Simplicity all welcome, I invite more discussion of these topics, esp. regarding Drawware and 0D

Twitter

@paul_tarvydas

Mastodon

(tbd, advice needed re. most appropriate server(s))