I mostly agree with you here, the more you learn, the more you look into the "why" of things and the more you're likely to be a good programmer.

I don't think "Software Sucks" though, and above all I don't think it is fair to compare programming to other kinds of engineering. At least not in terms of "hardware engineers deliver stuff that works while software wankers can only spit out pathethic pieces of crap".

I would roughly divide software in 2 kinds: complex and simple (brilliant isn't it?)

An OS, a data base, Perl itself, those pieces of software have a degree of complexity that's close to a plane, in terms of design, so they should be compared to planes, or satellites. And let me tell you, I have been involved in planes and satellites, and they are pieces of crap! They are full of bugs! Overall the system sort of works, and there is enough redundancy and the margins of error in each sub-system are such that it rarely crashes. But no plane flies with all systems 100% OK. It just doesn't happen. So why hold software to a higher standard? Perl works, Hell, even Windows is not that bad (as long as it's not used in planes)!

And as for simple software, the business rules are such that it is more a craft, where a skilled (or not-so-skilled) craftman delivers a product, than anything close to hardware engineering, where you have the time to thouroughly test a design before going into production. If that kind of software is full of bugs it's just because the market has judged that it made sense economically.

So in short the business model of software is different from the model of other kinds of engineering so I don't think it's fair to compare them.

And let's drop the "Software Sucks" thingie.

Not to mention the usual "if the hardware is faulty we'll fix it in the software".... we can't do that ;--(


In reply to Re: Why, not How by mirod
in thread Why, not How by Ovid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.