DEV Community

Discussion on: Your favorite analogies to explain IT concepts. Let's discuss!

Collapse
 
ben profile image
Ben Halpern

I like to talk about software development a bit like gardening, in that you have some control over what happens, but if you go away and come back, your plants will have grown out in all sorts of weird ways. And even if you planted all those plants yourself, you don't really know everything about the state of the garden.

Software is really complicated, like biology. Even if a system is technically somewhat deterministic, for all intents and purposes, it's pretty random. There are a lot of things we can do, like watering regularly, paying attention to the size of our containers, buy the right dirt, hire more gardeners, etc. But there is no such thing as a garden you can just walk away from because it's "finished"

I know from experience: I let a cactus die from neglect. Cactuses are supposed to be, like, invincible.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

You know, the more I think about it, the more it makes sense.

At first, I thought, "well, if nobody touches a garden, it grows by itself, but software doesn't." But then I realized that, if you don't touch code for a while, everything else grows around it. Libraries, frameworks, operating systems, etc.. Also, memories of how it was built fade. The result is the same: software, like a garden, becomes in desperate need of maintenance over time, regardless if anyone changes it or not.

This is a great analogy. Thank you for sharing!!

Collapse
 
ana profile image
Ana Chiritescu

Reading your reply, Ben! My conclusion: Software Development is like gardening, so many similarities there, I'll spread the word around. Hope you won't mind me quoting you when the opportunity comes.

Regarding your cactus: it takes a great deal of courage to admit you managed to let it die. Indeed, this is seen as something almost impossible! :)

Collapse
 
ben profile image
Ben Halpern

🌡 😭

Thread Thread
 
ana profile image
Ana Chiritescu

😊