5 ms·
The Timeless Way of Programming
- revskill 4y agoTo 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).
- bragr 4y ago>Good people produce good code, or "timeless" code, bad people write "bad" code (means it's a tech debt). That's some really reductive moralism that does not take into account any external factors on why the bad code was written. Do you really think you're a good person because you're code is good?
- sixstringtheory 4y ago> Do you really think you're a good person because you're code is good? That’s a bit of putting the cart before the horse… what if they think they’re a bad person because their code is bad?
- WJW 4y agoMeh. 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.
- barrysteve 4y agoGood people do make good code, they aren't spared the struggle of life. His attempt at working would be seen as good. He didn't experience a moral failing, for failing to produce commercially viable code.
- elteto 4y ago
- TakeBlaster16 4y agoIf I write some ugly code to get prod back online ASAP, did I immediately become a bad person? Or do I only become a bad person after some number of weeks passes and I haven't refactored it to clean it up yet?
- avgcorrection 4y agoIf tech debt is always bad then it seems like a bad indirect analogy. Taking on money debt is often a sound decision.
- barrysteve 4y agoThat's in Christianity too, a good tree produces good fruits. Judge a person by their fruits, ect. Programming requires more conscious specificity than faith wants to indulge in, so we need more than it.
- jackblemming 4y agoThere’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.
- bot41 4y agoNo HTTPS on the site
- nsajko 4y agoNo, GOF didn't introduce the "strategy" pattern. What they did was catalogue and describe the "patterns". Perhaps GOF invented the name "strategy", don't know about that.
- wccrawford 4y agoWhile I'm sure they didn't invent it, there's a lot of power in naming something, and even more in making it well-known. And they certainly helped with those.
- barrysteve 4y agoGood article! I love Christopher Alexander's work and I would never have found it, if it were not reposted over the years. The 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.
- veltas 4y agoWhy 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.
- jlg23 4y agoWe 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.
- veltas 4y agoThe Palace of Westminster rebuild took 30 years, but that was a pretty exceptional case. Balmoral Castle took 3 years. I don't know how long more modest housing took on those days but I'm assuming in the realm of a year. Even a few years to build a larger building seems acceptable if you get something reusable for much longer, and more timeless. Anyway, I think it's interesting to compare.
- homonculus1 4y agoYou'd think we ought to at least be able to build some monumental architecture some of the time, even if cost is prohibitive for ordinary buildings as the argument goes. It's simply impossible to my mind that we command more energy than our ancestors could dream of and yet it's somehow "too expensive" to ever achieve the kind of works they did by hand. There are obviously factors at play which have nothing to do with cost.
- btbuildem 4y agoBecause we stopped making buildings to create shelter, or livable places. The process became industrialized, and serves the same goal as most processes in a capitalist society: to generate most profit at minimum cost.
- WalterBright 4y ago