Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Programming is more like:

by johndageek (Hermit)
on Sep 05, 2008 at 13:02 UTC ( #709266=note: print w/replies, xml ) Need Help??

in reply to Programming is more like:

I had to go with other because there was no all of the above.

Programming is much like engineering - as you design your project you need to be aware of the real world applications and limitations while striving for the theoretical best.

Programming is much like Carpentry/Masonry - You build according to plan except where the plan does not account for limitations imposed by the materials, site, tools or abilities.

Programming is much like Gardening - you have grown your system to maturity and enjoy it, but you also see the things you need to do better next year(next time).

Programming is much like Cooking - You follow the recipe but when opportunity is available substitutions can be made that will improve the end product (ok and some times you need to toss out that batch of soup)

Programming is much like Painting/Drawing - There are moments of divine inspiration that make everything PERFECT! And if it doesn't you can erase/overpaint (sigh)

Programming is much like sculpting - sometimes the base medium has a flaw or characteristic that makes it less than ideal for the given application, but we somehow almost always seem to make things work out.

Programming is like Knitting/Weaving/Sewing - each thread we add to our tapestry has an effect on each of the others. Adding a bad thread in the wrong place can cause failure in unforeseen places.

Programming is like rocket science - the more familiar you become with programming the less like rocket science it seems. But there is a point where sometimes while thinking about a program we do not realize how stupid we look sitting out in the rain (it WAS sunny when we started thinking).

Programming is like Brain surgery - We do everything in our power to keep mistakes out of what we do but sometimes - rarely (we hope) - somebody dies :(

So depending on the time, application, language, programmer, company, weather and all other things that affect us - programming can indeed be more like each of the above than any of the others.


Replies are listed 'Best First'.
Re^2: Programming is more like:
by apl (Monsignor) on Sep 05, 2008 at 13:34 UTC
    In some ways, programming is like parenting.

    If done really well, you're no longer responsible for it, it goes off on it's own, and makes you proud of it.

    Sadly, sometimes you outlive your child.
      I should've also said that the creation of the offspring can be very pleasurable, while the delivery is quite painful...
      And sometimes, no matter how well you try to raise your child, they do something bad when you least expect it. ;)

      Revolution. Today, 3 O'Clock. Meet behind the monkey bars.

      I would love to change the world, but they won't give me the source code

        And you get that call in the middle of the night...
Re^2: Programming is more like:
by moritz (Cardinal) on Sep 05, 2008 at 13:24 UTC
    ++, but at some point I have to disagree:
    Programming is like rocket science - the more familiar you become with programming the less like rocket science it seems.

    The more I learn about programming, the more it seems like rocket science to me.

    Sure, at some point I had that "I can code everything" feeling. And a few weeks later I thought about how I could possibly write a complex piece of software (think a good compiler, OCR, RDBMS, face recognition, an operating system that doesn't suck, ...) and I realized that it's not so easy.

    And the more I learned about programming, the more I saw the complexity in seemingly simple programs.

    Take a text editor as an example: it displays a few lines of text, allows you to scroll, to safe the files etc. Simple, right?

    But wait! Did it ever occur to you that the editor has to handle multi byte character encodings? even graphemes that are made out of multiple codepoints? converting between different encodings? autodetect character encodings? That it has to support right-to-left for arabic texts? That it might contain a syntax hilighting engine, a script language for configuration? that all key strokes could be configurable? that it should support vertically split windows on the text console?

    I think I could go on with my list of things that make a seemingly simple thing like a text editor a real challenge to program. (And fwiw vim supports all of the features above; and I think many other good text editors do).

    There are hundreds of other pieces of software that I thought were simple before I got into programming. Now I'm glad that others wrote those incredible helpful (and very often equally complex) programs, and that I don't have to do it all by myself.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://709266]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2017-02-24 04:22 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (351 votes). Check out past polls.