3 ms·
I don't think GoF got it wrong. The foundational essence of the approach that maps to software is there. What is wrongheaded is to expect a one-to-one mapping b
by eternalban 4y ago
I don't think GoF got it wrong. The foundational essence of the approach that maps to software is there. What is wrongheaded is to expect a one-to-one mapping between two entirely distinct subject matters.
CA's architectural approach, stripped of the new age verbiage, is reducible to bottom-up, local action, global effect. There are local conditions with recipes, and patterns of binding/connecting. Together with Frank Lloyd Wright, these two gents have mapped out two distinct approaches to what Wright called Organic Architecture. (Wright following Sullivan used a 'generative system', the famous seed-germ [1], to order and create space.) Both men are pretty big on Beauty, but only one actually delivered beautiful works. Alexander's approach remains a theoretical proposition, unlike Frank Lloyd Wright's generative order approach (which he regrettably did not fully disclose to his proteges.)
And having skimmed the post and the core program course, it is clear these folk don't actually understand software, or anything that is worthy of the name 'Beauty' in software.
"It is a view of programming as the natural genetic infrastructure of a living world which you/we are capable of creating, managing, making available, and which could then have the result that a living structure in our towns, houses, work places, cities, becomes an attainable thing.
That would be remarkable. It would turn the world around, and make living structure the norm once again, throughout society, and make the world worth living in again." -- Christopher Alexander
I'm quite happy to have someone like Alan Kay pontificate on aesthetics of software, but Christopher Alexander is not remotely qualified.
[1]: https://www.archpaper.com/2010/11/remembering-louis-sullivan-seed-germ-savant/ https://www.archpaper.com/2010/11/remembering-louis-sullivan...
- TheOtherHobbes 4y agoI expect CA was as surprised as anyone when the GoF cargo-culted his ideas into OO software development. So far as I'm aware he never claimed any particular expertise or experience in software in any of the original books. The equivalent would be architects taking the design principles of Multics and using them to lay out buildings. That would be a bizarre thing to do. And it's no less bizarre in the other direction. What seems to have happened in practice is that the GoF used CA's work to give their own ideas about patterns in OO software development more credibility than it would have had otherwise. It's not that the idea of OO patterns is inherently bad. But pretending that it's somehow genuinely based on some speculations about built architecture is neither convincing nor credible. Having said that - the CA quote above makes perfect sense, and it is about beautiful software from the end user's POV. Which is a view that's often missing from CS and developer culture in general. Typically there's more effort put into forcing humans to act in bureaucratic, corporate, and computer-constrained ways, than in forcing computers to behave in ways that are inclusive, accessible, ecologically stable and robust, and organically open-ended.
- eternalban 4y agoI suppose we can ask GoF authors if they needed credibility boost from an obscure (certainly in CS circles) architect. The quote does not make any coherent sense, it's a sentiment decorated with buzzwords. As I said, if Alan Kay wants to hand wave CS utopia, heck, the man has certainly earned it, and his woowoo talk is actually intellectually far more densely packed and nutritious. Btw, I said nothing about patterns, OO, good, or bad. We also disagree about portability of concepts and viewpoints across disciplines. I studied architecture in grad school and engineering before that. And learning C/S via vocational route I found my EE and architecture background was beneficial and definitely informed my architectural thinking in software. I merely said you can not have a one-to-one mapping. Here an example: modular thinking -> engineering, architecture, software. But "Pattern Language" on its own is not fully informative of conceptual concerns of software architecture. That was the point.
- auggierose 4y agoI think Christopher Alexander (CA) absolutely got the right impression. You don't seem to have watched the CA talk. You probably should. He is not claiming to know anything about software engineering, but he describes what it should achieve, from his "ignorant" point of view. And I will gladly use some of his design insights in my software from now on, and see if and how I can apply them.
- eternalban 4y agoYou are right, didn't watch it. Will do.