6 ms·
There’s a certain class of programmer who seems to derive great pleasure in comparing programming to architecture. Maybe because architects are cool, or sound m
by jackblemming 4y ago
There’s a certain class of programmer who seems to derive great pleasure in comparing programming to architecture. Maybe because architects are cool, or sound more grand than “programmer”. The author mentions Patterns of Software as profound, but in my experience it was mostly empty and contained only references to other work, without adding its own voice or perspective. At worst, it was pretentious and boring.
- infinite8s 4y agoAt scale, architecture dominates materials. Meaning anyone can pretty much build a doghouse out of anything, but to build Notre Dame someone needed to have invented the arch, which can support a lot more weight than the sum of material used to construct it. The same applies to software. Kubernetes is more than the sum of it's parts.
- TakeBlaster16 4y agoI feel like people glamorize architecture in general. Sure the Empire State Building was probably fun to design, but 99.9% of architects are just designing bland office buildings or long hallways of apartment boxes. On average it's probably just as exciting as a software architect designing their 100th CRUD webapp.
- nradov 4y agoA friend of a friend is an architect who designs McDonald's restaurants all over the Midwest. I'm not sure if that's how he envisioned his career, but it's steady work.
- Tarucho 4y agoOut of curiosity, does it pay well? I was told that this kind of industrial/architectural design work pays really well.
- PaulDavisThe1st 4y agoThis is really misreading the whole concept of patterns in both architecture and software. The goal is not to somehow equate or even link the two disciplines. Instead it is to note that when you go about arranging stuff to do stuff (e.g materials to be buildings, or programming languages to be programs), it is likely that there will (over time) emerge ways of doing things (patterns) that you can (and likely should) use over and over again. It's not architecture-envy, it's finding a parallel from a different discipline that applies to your own.
- jackblemming 4y agoAnd you’ve misread the whole concept of my post. There’s nothing wrong with finding parallels with different disciplines. I don’t recall saying that at all. My gripe is that different discipline always seems to be architecture and the design patterns topic has been talked to death for over 50 years now.
- mxkopy 4y agoSuch a strange gripe to have. Architecture as a default comparison makes sense on many levels. You don't make blueprints for pottery. The level of 'coincidental' design is much lower in architecture than it is in painting. There are much more specified 'primitives' that you can use in architecture that directly reflect the capabilities of the construction, etc. And even before programming architecture was used metaphorically. 'Architecting a plan' and all that. It's not too difficult to understand how design in architecture differs from design in other areas, in a way that makes using it as a metaphor useful.
- PaulDavisThe1st 4y ago> And even before programming architecture was used metaphorically. 'Architecting a plan' and all that. The verbing of "architect" is relatively recent, and certainly comes after programming. Historically, and outside the USA, one generally designs a plan, you do not architect it. Architects design buildings, they do not architect them. Some kinds of software involve designing an architecture.
- nsajko 4y ago"Comparing programming to architecture" might sound silly, but it's possible to learn about design in general from other design-heavy fields.
- ethanbond 4y agoEspecially an extremely old one that has developed a fairly elaborate discipline around itself due to the immense costs involved.
- deleted 4y ago[deleted]
- akkartik 4y agoAs a counterweight, the first few chapters of Patterns of Software (not the GoF book but Richard Gabriel's https://dreamsongs.com/Files/PatternsOfSoftware.pdf https://dreamsongs.com/Files/PatternsOfSoftware.pdf) constitute the #3 most profound piece of writing on software I've ever read.
- nextos 4y agoWhat are the other top ones?
- akkartik 4y ago#1: Peter Naur, "Programming as Theory-Building", http://akkartik.name/naur.pdf http://akkartik.name/naur.pdf #2: Christopher Alexander, "Notes on the Synthesis of Form" which is also mentioned in OP, and which I read based on the mentions in Patterns of Software. So that's another thing to thank #3 for.
- 3452356346 4y agoI was going to post something similar. That book is phenomenal. It's also very frank about many matters. For example, despite Gabriel being a major Lisp proponent, he concedes that contrary to his expectations (and what PG suggests in http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html) that Common Lisp with CLOS would provide a factor of 4 or 5 of productivity over C++, that in practice, for his team, it was only more like 30% (which meshes with with Fred Brooks' "No Silver Bullet" thesis).
- zem 4y ago> There’s a certain class of programmer who seems to derive great pleasure in comparing programming to architecture. Maybe because architects are cool, or sound more grand than “programmer”. in my experience, when people say things like "Maybe because architects are cool, or sound more grand than “programmer”.", it's because not only do they not get the appeal of whatever it is, but they cannot even imagine anyone else doing it for any motive other than posturing.[1] the true reason (at least from my perspective a someone who does enjoy the comparisons of programming to architecture) is that we already have a lot of intuition for architecture; there is something mentally satisfying about considering the way buildings are designed and constructed, and we have a more physical intuition for the forces and balance involved. software is a lot more abstract, so thinking of it in terms of physical architecture helps people gain some intuition for how all the parts fit together, or at the very least the illusion of intuition. [1] an interesting analogy is gilbert and sullivan's "patience", where critics have pointed out that gilbert meant to write a parody of the aesthetic movement, but since he himself did not "get" the movement, all he could think of was that its members were conscious frauds, and therefore made that the thrust of the operetta.