To me, tao of programming is not related to computer or technology. It's based on human character. Good people produce good code, or "timeless" code, bad people write "bad" code (means it's a tech debt).
Meh. Such moral absolutism leaves no room for fate. I had a colleague once whose wife was dying of cancer and he understandably had severe trouble focusing on his work. That does not make him "bad people" even though his code wasn't perfect all of the time.
The Timeless Way of Programming
21–30 of 49 posts
Re: The Timeless Way of Programming
#22There’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.
Re: The Timeless Way of Programming
#23The key concept in The Timeless Way is the idea of a pattern language. This is a collection of patterns that is ordered and can be followed to produce a design with the quality without a name. Pattern languages are not static though.
It always strikes me as odd the author's perception of the Pattern Language as being changeable. The most intense benefit of the Pattern Language, and the title of the book, is that it's Timeless. It doesn't change.
Sure you can fill it with different variables, which is what the author means when he says it's not static. But it really is a static language-based attempt at capturing perfect form and life in buildings.
We'll always forget and re-discover what he wrote about, but chaining oneself to one particular structural language will calcify over time, unfortunately.
Re: The Timeless Way of Programming
#24Earlier quoted context omitted.
I 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.
A 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.
Re: The Timeless Way of Programming
#25There’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.
This 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) u…
There are many programmers that put cart before the horse - they think they should use those patterns even before they start to emerge in their systems and treat those patterns as some kind of a goal.
Whereas one should notice when pattern is applicable because it starts emerging as such - and GoF wrote down descriptions for people to realize what these are and have names to call it out.
Like if you would be tasked to build local "folks music" museum and you insist that it has to be built just like Guggenheim Museum because that is state of art of building museums.
So real architect should say "well for folks music museum - build a shed, put on some folksy clothing on mannequins, set mp3 player with folksy music, that is good enough ... what is your budget? ... well it will not be enough for top grade sound systems so maybe a smartphone instead of mp3 player with amplifier".
Most of people in software dev should stop pretending they are building next Guggenheim Museum and accept they are building shed from wooden planks.
Re: The Timeless Way of Programming
#26Re: The Timeless Way of Programming
#27Why though actually can't we build the way our ancestors did? Is that knowledge all lost? The Palace of Westminster isn't a farmhouse but it seems like a pretty beautiful, functional, durable building.
Re: The Timeless Way of Programming
#28Earlier quoted context omitted.
This 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) u…
And 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.
It took several decades for anyone to notice that there might perhaps be some interesting way to take what Alexander had done in the context of architecture and urban planning and apply it to software development. That did not happen "over 50 years" ago.
The reason why "the discipline always seems to be architecture" is because there are no other disciplines that are (a) synthetic (in the sense of being about creating something that did not exist before, rather than analytic) and (b) have an existing magnum opus that describes the patterns that humans have used for centuries to practice that discipline.
The sciences are not a useful parallel, precisely because they are analytical. Various artistic practices could be useful analogies because of their synthetic nature, but the practice of art is widely held to be a matter of personal self-expression, and hardly a place you'd go looking to find "best practices".
Re: The Timeless Way of Programming
#29Why though actually can't we build the way our ancestors did? Is that knowledge all lost? The Palace of Westminster isn't a farmhouse but it seems like a pretty beautiful, functional, durable building.
We can, but we prefer to use way cheaper and faster methods because before the "ancestral" building is finished, with our modern methods, we have built, used, torn down and rebuilt several times.
Re: The Timeless Way of Programming
#30There’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.
"Comparing programming to architecture" might sound silly, but it's possible to learn about design in general from other design-heavy fields.