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.

Software is limited by the hardware it runs on; but those limitations are the hardware's limitations, not the software's.

I'll take this slowly, and that is not an implied insult to you, just a necessity, because either I'm really bad at conveying my message -- though historically I've been told I'm reasonably good at that -- or this is one of those concepts -- like quantum mechanics -- that people have a real hard time grasping.

Eg. A 64-bit process can theoretically address 16 EiB (18446744073709551616 bytes); but the first x64 processors had a physical bus limit of 44-bits. That physical reality constrained the performance and capacity of software written for that processor. But with the next generation of hardware x64 chips had a 48-bit bus, so that same software -- if written correctly -- would, without even being recompiled -- would instantly have 16 times its old capacity.

But it doesn't stop there. The same processor that has 16 times the capacity, also halved the latency between chip elements, and effectively doubled the number of those elements available to the chip designer. The first means that the (unchanged) software runs (almost) twice as fast at the same clock speed; the second means that the chip designer can expand the size of the caches; and increase the depth of the instruction pipelines; and increase the number of parallel execution units; with the effect that that at the same clock speed, the cpu can enact the same instructions that on the earliest version took 3, 5, 8, or 21 clock cycles to complete, so that now, almost every instruction completes within a single clock cycle.

So, the same, unchanged, even un-recompiled, software has 16 times its old capacity and executes 2, 4 or even 8 times faster.

Software has only logical limitations.

Contrast that with the fact that building a bridge across the Atlantic Ocean will forever be physically impossible. Traveling to other galaxies will remain physically impossible.

Step 2 follows.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.
I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!

In reply to Re^16: Beyond Agile: Subsidiarity as a Team and Software Design Principle by BrowserUk
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.