4 ms·
With all due respect to Leslie Lamport his "what could be more beautiful" explanation of Euclid's algorithm is no easier for me to make sense of than these[0] v
by ryanmarsh 8y ago
With all due respect to Leslie Lamport his "what could be more beautiful" explanation of Euclid's algorithm is no easier for me to make sense of than these[0] various implementations.
For a "complex" problem[1] you cannot write a unified field definition[2] before the fact. Otherwise the problem would have to be merely complicated (most sufficiently useful systems are complex). The easiest way humans can make sense of a complex problem is to define a set of misfits[2], or tests. In practice efforts to find a better way of expressing the hidden algorithm of any given software system have failed. Yet "tests" have proven themselves as a sustainable way for humans to iteratively arrive at the most suitable solution to a complex problem and to guide understanding after the fact.
tl;dr a more elegant programming language is nice but does not solve the fundamental problem with human minds and solving complex problem domains
0: http://www.codecodex.com/wiki/Euclidean_algorithm http://www.codecodex.com/wiki/Euclidean_algorithm
1: Cynefin, Dave Snowden
2: Notes on the Synthesis of Form, Christopher Alexander
- deleted 8y ago[deleted]
- gav 8y agoI have a feeling if more people read Alexander's books on design and patterns the quality of systems as a whole would increase. He is largely unknown in the tech circles I've been in.
- pron 8y agoI can't say I fully understand what you're saying (you use some uncommon terminology without defining it), but expressing algorithms mathematically does not impose any style or order on the exploration of the problem. It just gives you a language that is far more flexible for talking about both your problem and your solution at any level of detail that you choose than any programming language. TLA+ certainly allows you to describe a system as a set of scenarios/properties (what I assume you would call tests), and also of asserting that a design satisfies them. There was a system I worked on that was so complex that I was only able to design it using TLA+; engineers at Amazon, Microsoft, Oracle and Intel report similar experiences.