diff options
Diffstat (limited to 'trees/blog/the-twilight-of-20th-century-programs.typ')
| -rw-r--r-- | trees/blog/the-twilight-of-20th-century-programs.typ | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/trees/blog/the-twilight-of-20th-century-programs.typ b/trees/blog/the-twilight-of-20th-century-programs.typ new file mode 100644 index 0000000..1972f33 --- /dev/null +++ b/trees/blog/the-twilight-of-20th-century-programs.typ @@ -0,0 +1,77 @@ +#import "html_elements.typ": post +#show: post + += The Twilight of 20th century programs + +I like incremental improvements, it's almost like a mathematical induction. + + +Based on the previous step, I assume we'll take the next, that works a lot of times. + + +Is nice to have old things that still work, like a printed photograph. + + +The artifact generated by the camera and printer technologies relies only on our +vision and the printed material properties. + + +Modern books rely on similar things, like the paper, but, there's also a symbolic level. +A GOOD photograph will tell something that can be understood just by looking, but book +needs an alphabet, a language, i.e. higher level concepts. + + +A book typeset in Latex is another level of abstraction above, it contains the +instructions for a computer build the book. + +To me what's beautiful in that is not only each lens we use to see: +- A physical thing printed on paper is, like a photograph, or text. +- A book, filled with ideas, part of a larger culture. +- A computer program, that precisely defines a document. + + +But also how those levels interact with each other, and with the uncountable +others below or above it. + + +Some people look at that picture and focus only the computer to paper path. +- They see the automation of the typesetting, printing, and selling steps. +- Its a path takes humans away from a pipeline that turns ideas into physical +entities. + + +But there are so many different ways to see the world! Let's take the Latex to a +printed book path in reverse. + +How to we take the printed books we have in the world, and make the stairs to +reach the next levels of abstraction? I'll leave that up to your imagination for +now, lets apply this to brainfuck. + + +What's below, and what's above it? what's to the side of it? + +``` + turing machine -- lambda calculus + + brainfuck -- forth -- lisp + + x86_64 -- AArch64 +``` + +Let's take the path from brainfuck to the turing machine. The brainfuck +specification is a concrete instance of the abstract idea of a turing machine. +It's an extremely simple definition, that much like a seed, completely contains +the level above it. It encapsulates a higher level above it, in a specially +beautiful way due to it's simplicity, like a seed and a tree. + + +With brainfuck, just by carefully defining the <[+,.-]> symbols, we can carry +computers. Since in theory any program can be translated to brainfuck, we can +store any computer program in a brainfuck clay tablet, stone engraving, papyrus, +and it'll reasonably live forever. + + +To me that's one of the most beautiful things about both zig and typst. They +live side by side, creating simpler paths for humans to navigate the levels of +abstraction. An effort to create concrete implementations that try to contain +higher level abstractions, i.e. hermetic / leak-proof vessels. |
