📖The Value of Values

Hickey, Rich
  • We use Place-Oriented Programming (PLOP): we know location of data in memory or database and use that to update it.

    • This paradigm comes from the times we had really limited RAM and we had no other way to program. This was the only way to do programming.
    • Since that times, the capacity grew million times bigger.
    • When a thing grows a million times bigger, almost none of its characteristics remain. But we are still clinging to the Place-Oriented Programming.
  • If we look at memory and records before computers, we see that they do not work be rewriting information.

    • Memory does not work by replacing the old information.
    • Records are usually append-only. If you make a mistake, you add a corrective entry (e.g., you don’t alter old records in double-entry accounting)
  • Values are immutable
  • Value Propositions

    • values can be shared (because they are immutable, this is safe to do)
    • reproducible results
    • easy to fabricate (in the sense of meta-programming. you can produce the strings, lists and maps in every language. i.e., generate)
    • language-independent

      • generic
    • values aggregate values