If I understand you correctly you are making a "More is Different" kind of argument. I.e. software cannot be reduced to applied hardware. And at least in some areas I agree. Hardware and software are different abstractions for different domains. Software is not merely applied hardware just as chemistry is not merely applied atomic physics and biology is not merely applied chemistry.

My doubt though is with the specifics. Chemistry derives some important properties from atomic physics, and software derives important properties, including limits, from hardware. In other words software will always be physically limited by hardware and by important other physical limits (for example the CAP Theorem becomes a physical limit when you are talking about physically separate systems). We think about logic problems and decision trees in different ways.

So what I am getting at is that there is a lot to be gained at looking at software from a software-as-machine perspective. There is a lot of insight that can be gained there. I think you and the other poster (the "Managing the Mechanism" guy) are arguing about how it is different. I am not convinced that either of those sets of differences hold up. I think no software plays the game itself (that's a fantasy), but also software is not unlimited either by logic or by the physical world. Rather the differences are differences in abstractions we come up to manage the differences in complexity.

An example might be quantum physics -> solid state electronics -> integrated circuits -> chip architecture. Each of these disciplines invents additional abstractions to deal with the complexity and changes in behavior found. But if you want to really understand one level you would do well to become reasonably competent at the level immediately underlying it.


In reply to Re^15: Beyond Agile: Subsidiarity as a Team and Software Design Principle by einhverfr
in thread Beyond Agile: Subsidiarity as a Team and Software Design Principle by einhverfr

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.