Mathematics:

  • reduce understanding to repetitive form - a normal form, like text
  • then, apply repetitive but well-defined recipes to the normal form.

People can do this.

Machines can do this, too.

Which is cheaper?

pEMs (programmable Electronic Machines, aka computers) are like this, but, there is more…

  • pEMs do need to be programmed using straight-forward application of recipes
  • pEMs are handcuffed by the the “rules” of mathematics
    • mathematics was intended for use only on simple media, like papyrus, clay tablets, etc.
  • Because pEMs are a new medium, we haven’t figured out, yet, what to do with that medium.
    • We started out applying outdated ideas to the new medium - i.e. mathematics notation.
    • Now, we should explore the new medium fully, giving it its own notation
      • which include verboten concepts, like
        • mutation
        • sequencing
        • 0 or more inputs
        • 0 or more outputs
        • inputs and outputs are fully asynchronous
          • they can come / be generated at any time
          • current programming languages insist that all inputs arrive in one block
          • current programming languages insist that all outputs are sent in one block
          • “multiple parameters” is only a different way of saying “deconstruction”
            • example: f (x: int, y: string, z: boolean)
              • actually means that all three arrive in a big block of data
              • the receiver deconstructs the data into 3 different types (int, string, boolean)
              • the inputs are not separated in time
              • likewise, for return values.

Mathematics is like pEMs in that recipes (“Laws”, “Theorems”) are used in a repetitive fashion, but, pEMs can go beyond what mathematics can conveniently express. For example, concurrency is complicated when expressed in mathematical notation, but, is a simple concept. It could remain simple if a different notation were invented for it. In fact, mathematics cannot even express asynchronousity, but, only step-wise simultaneity. pEMs (computers), can be truly asynchronous, but, are held back due to the over-use of mathematical notation for their functioning.

See Also

Blogs

  • https://publish.obsidian.md/programmingsimplicity (see blogs that begin with a date 202x-xx-xx-)
  • https://guitarvydas.github.io/

    Videos

    https://www.youtube.com/@programmingsimplicity2980

    Books

    leanpub’ed (disclaimer: leanpub encourages publishing books before they are finalized)
    https://leanpub.com/u/paul-tarvydas

    Discord

    https://discord.gg/Jjx62ypR (“programming simplicity”) all welcome, I invite more discussion of these topics

    Twitter

    @paul_tarvydas

    Mastodon

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