Computers vs mathematics
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.
- example: f (x: int, y: string, z: boolean)
- which include verboten concepts, like
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-tarvydasDiscord
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))