Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

mr_bean (3802)

mr_bean
  (email not shown publicly)

Journal of mr_bean (3802)

Sunday July 01, 2007
10:31 PM

software engineering metaphor

[ #33655 ]

Here's a guy saying software engineering is not engineering and getting Steve McConnell's disagreement.

http://codebetter.com/blogs/eric.wise/archive/2007/06/26/rejecting-software-engi neering.aspx

If developing software is also engineering, where does it stop? Only if we can say what is and is not engineering, can we say whether programmers are engineers or not.

Perhaps it is a metaphor. Then the criterion is all in the mind.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Software is information, not material. Good code is code where all meaningful repetition is abstracted away and all of its parts as different from each other as possible.

    Engineering is about making processes dependable and repeatable while labouring under the constraints of a reality of physical laws.

    I fail to see what applicability the latter can possibly have to the former. You may possibly be able to profit from rigorous engineering discipline to systematise the production of software, but even so, t

    • Software is information, not material.

      All software development is architecture, right up until you send source code through a compiler. That part is manufacturing.

      • Literally? Because I know that an architect would put three identical arcs next to each other on his blueprints without blinking; if a programmer wrote the same subroutine three times in a row, he wouldn’t get to work on anything noteworthy on my watch, if at all.

        • Literally?

          Only insofar as the part of software development where someone actually types code is still design, not production.

            1. So where does an architect’s work stop being architecture and start being manufacture of blueprints?

            2. So prior to typing the same thing thrice, you design an architecture that calls for typing it thrice?

            • So where does an architect’s work stop being architecture and start being manufacture of blueprints?

              In construction or in software development? In construction, it's at the point the blueprints stop changing--that is, usually, the day construction ends. In software, it's the same.

              So prior to typing the same thing thrice, you design an architecture that calls for typing it thrice?

              In construction, usually what happens is that the inspector says "This doesn't fly; redo it!" so you end up rewir

              • I have been trying for several days to understand the connection between your statements and the previous part of the thread, but there appears to be none. I am sorry to fail you.

                • Software is not like construction in that the only part of software development that actually manufacturers a good for end-user use is bundling the compiled (or aggregated) version for deployment.

                  Software is like construction in that all of the bizarre changes of architecture and requirements seen in software development also happen during physical construction of a building, sometimes even without regard for physical laws.

                  Having done both software development and construction, I find the classical view

  • I'm not sure why it matters for anything other than countries who have laws pertaining to being called an engineer. Some things from engineering seem applicable, some don't. Either that's because software construction is a form of engineering with distinct qualities, or because it's not engineering but shares some traits. Why does it matter which is the case?
    --
    rjbs
    • This is one reason I get creeped out whenever I see government try to define anything. Like when government gives special privileges to journalists, for example: who is and is not a journalist?

      --
      J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
      • Does the feeling extend to doctors? Is it a bad idea that they need to be licensed?

        • Yes. It's actively harmful to certain forms of alternative medicine.

          The free populace is infinitely more capable of determining who is and is not a safe medical practitioner than the government is. And let me note that the market can and does also establish its own certification programs. Three to five such programs for various fields of medicine would probably emerge, but the important thing is that the potential would be there for new ones to be established.

          --
          J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
    • It matters very much if you like making the case that there should be an actual licensed branch of engineering covering software development, and people who have achieved that license should have appropriate influence. For example a bid to develop software for a government contract should be signed off by an engineer who will be held accountable for the outcome. (This is how it is with other kinds of engineering contracts.)

      This exact argument is one that Steve McConnell has made [stevemcconnell.com] fairly forcefully. And th