Q: Why on GitHubGist ? [2]
A: It's a good tool to make the complexities of our own makings eventually consistent.
-
Educated Theoretical Physicist - Deeply Disciplined
- Late 50s started working for the CWI in Amsterdam
- Algol 68, GOTO considered harmful, Structured Programming.
-
Convinced by his Boss that a new Science of Computing was required.
- Marriage required 'profession'
- Became First Dutch Programmer
- EWDs, 1962 - 2002 - Posted, Carbon Copied, Shared.
- Writing versus Talking
-
2001 colleague, who was Dijkstra's student in 1997, Ron
- An exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.
-
Turing Award lecture, 1972
- Programming == Mathematics
- Carl Hewitt: Dijkstra missed the "assignment operator" as being harmful
- 1968 Software Crisis
- Central Challenge: Maintain intellectual control over the complexities of our own makings.
- How not to make a mess of it.
-
Age distribution of the audience ???
- Born in a small town in Gouda, the Netherlands, 1971
- Calvinist culture, feel good by disallowing pleasures
- Didn't talk much first 2 decades of my life
- Nerd, uncool 1980s, Bullying, Open Eyed
-
Elementary School => Distrust Groups, Distrust attention
- Spit in sandwich => Still eating it.
- Bullies asses authority => Kick in bud => Following commands against own interest.
- Long term obsession with:
- What is human action ???
- Why do we act against our own interests ??? => Basically what I tell you is: I don't like you very much.
-
@ 12 learned to program, father worked in administration, CoC presentation.
- Bought commodore 64 (cost a month salary): 1 MHz processor, 64k RAM, attached to analogue TV.
- School - Punishment via Long Divisions, earned money
- @ 16, IBM 286, HD 20 Mb, small administrative program in VB.
- 1 week => 2 x my Fathers monthly salary
- Proudly told him => Flash of jealousy in his eyes
-
@ 24 studied Electrical Engineering, TUD, learned to fight Complexity with Mathematics.
- EE is a character building education. => Applied Physics
-
E.g. 7400 IC range, ANDs, ORs, XORs => Composition
- Quality of those physical "components" !!!
- Quality of the documentation of them !!!
- We maintain intellectual control over the complexities of our own makings. => Nowhere in CS, over the last 25 years, I've seen that quality being matched ... yet ???
-
Friend, working in France, small EE company - customers are Intel, Phillips and Samsung
- Their sole product is an image of "a silicon corner" !!!
- High frequencies, electron waves bounce back.
- Properties of this success => focus on the smallest problem of your abstract composition.
-
I majored in chip design
- Compiling hardware description languages of a system in code to images - projected onto silicon.
- Interested in compilers, interested in Software that creates Software.
- Term Software originated as a joke => Nobody understood what Software actually was => Posit that we still don't understand what Software is.
-
Human individual understanding is finite.
- The Tower of layered abstractions on Physics yielding Software at the top is too_large.
- I posit that nobody understands what we are doing when we create Software.
-
Last 35 years spend all_my_time on understanding what Software is.
- Literally nothing more important: relations, family, health, status.
-
I don't claim any authority => I do claim the authority to choose my authorities.
- I have nothing to give, and nothing to gain, other than repeating your understanding. => Turing & Church - Untyped Lambda Calculus (my best model to understand Software)
-
- Abstraction => Pulling something known out of something unknown.
- Introduction => Attaching a name to that something.
- Application => Applying something known to a composition of abstractions.
-
Where are we now in the realm of Software ?
- Are we maintaining intellectual control over the complexities of our own makings ???
-
No !!!
- We have millions of developers in Industry allowing bug ridden shitty code into production.
- We are creating a world where we are surrounded by machines that scream for our attention.
- We pay for that world by giving up our autonomy, our privacy, our intimacy, our humanity.
- And we already crossed the threshold ... I believe it is too late to clean up the mess.
-
But I would like to end with three unpopular opinions, especially in an environment of programmers:
- Premature application is the root of all evil.
- Isn't it time that we start treating Software contributors as part of the problem instead the solution.
- Software development doesn't scale [2] in human effort.
[1] https://www.youtube.com/watch?v=xOaWxrCxD6g
[2] https://gist.github.com/nmcb/fcd25ea17b44b1dcc549a5498c5e519a
[3] Scales evolutionary as a universal minimum and non-constructible (called 0) value of the bottom type.