Hasty Briefsbeta

The Spherical Cows of Programming

8 hours ago
  • #spherical-cow
  • #functional-programming
  • #async-dataflow
  • The 'spherical cow' modeling technique simplifies complex problems by abstracting away variables to focus on critical aspects.
  • Functional programming (FP) is one example of a 'spherical cow,' ignoring memory conservation to solve specific problems.
  • Over-reliance on a single 'spherical cow' (like FP) leads to workarounds, complexity, and issues like callback hell or thread safety problems.
  • Other 'spherical cows' include Prolog, Forth, BASIC, async message passing, and more, each suited for different problem types.
  • Default async dataflow is an underutilized 'spherical cow' that could complement existing approaches.
  • Combining multiple 'spherical cows' can lead to better problem-solving rather than focusing on just one method.
  • FP doesn't reflect hardware behavior, leading to inefficiencies like exponential memory growth and software fragility.
  • Historical notations (like quill and papyrus) limit how we conceptualize computing, treating computers as electronic typesetting machines rather than innovative tools.
  • Different 'views' (like types, sequencing, or async events) can each have their own languages or visualizations for problem-solving.
  • C popularized the function-based 'spherical cow,' evolving into modern functional programming with added complexity.
  • UNIX pipelines showcased productivity gains from async components but were overlooked due to OS-heavy implementations and textual thinking biases.
  • Non-sequential operations may be better expressed with pipeline-like notations rather than traditional sequential syntax.