I’ve owned his book for a long time, but I’m an even bigger fan of Tellman after hearing this and his thoughtful discussion on abstraction and indirection
I just listened to this as well, and I really appreciated the discussion! Really goes deep in how to think within static and dynamic paradigms, and what a useful perspective is.
Yes, I found much food for thought. On the Clojure front, the realization I had that being a data-oriented language can be defined as choosing not to name things (in Tellman’s terms).
On a personal-life level, the discussion of higher and lower levels of abstraction and the payoffs/costs that something like Powershell has compared to Bash apply very much to specialization in our thoughts, studies, and careers.
It also reminded me - I bought his book way back when it was only one chapter (about naming things), so that is the only part I have read (that chapter alone was worth the price IMO).
But it is high time I go and download the finished book and read the rest.
Loved this discussion and struck by Tellman’s observation that developers are split between those who think software is math and those who think it is literature. I haven’t read his book, but I’m sure his choice of the word literature was highly intentional.
As it happens my daughter had english homework this morning that included the following writing advice from C. S. Lewis to a young fan - which I thought apt (if you forgive me.)
Thanks for your letter of the 3rd. You describe your Wonderful Night v. well. That is, you describe the place and the people and the night and the feeling of it all, very well — but not the thing itself — the setting but not the jewel. And no wonder! Wordsworth often does just the same. His Prelude (you’re bound to read it about 10 years hence. Don’t try it now, or you’ll only spoil it for later reading) is full of moments in which everything except the *thing* itself is described. If you become a writer you’ll be trying to describe the thing all your life: and lucky if, out of dozens of books, one or two sentences, just for a moment, come near to getting it across.
I think software is the pipeline for producing products (data), which is no different from traditional industrial production lines.
Therefore, the software production method will adopt enterprise management ideas, develop software into something similar to a traditional industrial assembly line, input standardized raw materials (data), output standardized products (data), and store them in a warehouse (database).
This is The Pure Function Pipeline Data Flow v3.0 (with Warehouse/Workshop Model), it brings large industrial production theory and methods to software engineering. It incorporates IT industry into modern large industrial production systems, This is an epoch-making innovative theory and method.
The key to the industrialization of the IT industry is to establish a complete standard system like the traditional industry.
From the perspective of large industrial production theory, standardizing the input raw materials (data) and output products (data) has the following advantages:
- Combination, Data combination is better than code (function) combination.
- Easy to expand
- Easy to parallel, Can linearly scale up production (performance).
- Observable, easy to debug, and verifiable.
- Clarity, non-IT practitioners can understand.
- It can refer to the theory of integrated circuits, business management and other disciplines.
The role of the standard system can be seen from the great progress of social productivity after the traditional industry has entered the era of large industrial production from the era of manual workshops.