Re: How to develop a random number generation device



On Wed, 19 Sep 2007 05:04:34 -0700, Martin Brown
<|||newspam|||@nezumi.demon.co.uk> wrote:

On 18 Sep, 17:12, John Larkin
<jjlar...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
On Tue, 18 Sep 2007 07:05:25 -0700, Martin Brown

<|||newspam...@xxxxxxxxxxxxxxxxxx> wrote:
On Sep 18, 2:30 pm, MooseFET <kensm...@xxxxxxxxx> wrote:
On Sep 17, 7:55 pm, John Larkin<jjlar...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:

[....]

Programmers have pretty much proven that they cannot write bug-free
large systems.

In every other area, humans make mistakes and yet we seem surprised
that programmers do too.

In most other areas of endeavour small tolerance errors do not so
often lead to disaster. Boolean logic is less forgiving. And fence

Software programming hasn't really had the true transition to a hard
engineering discipline yet. There hasn't been enough standardisation

Compare a software system to an FPGA. Both are complex, full of state
machines (implicit or explicit!), both are usually programmed in a
heirarichal language (C++ or VHDL) that has a library of available
modules, but the FPGAs rarely have bugs that get to the field, whereas
most software rarely is ever fully debugged.

I think that hardware engineers get a better grounding in logical
design (although I haven't looked at modern CS syllabuses so I may be
out of date).

Hardware can be spaghetti too, and can be buggy and nasty, if one does
asynchronous design. But in proper synchronous design, controlled by
state machines, immensely complex stuff just works. It's sort of
ironic that in a big logic design, 100K gates and maybe 100 state
machines, everything happens all at once, every clock, across the
entire chip, and it works. Whereas with software, there's only one PC,
only one thing happens, at a single location, at a time, and usually
nobody can predict the actual paths, or write truly reliable code.



But it is mostly a cultural thing. Software houses view minimum time
to market and first mover advantage to gain maximum market share as
more important than correct functionality. And it seems they are
right. Just look at Microsoft Windows vs IBMs OS/2 a triumph of superb
marketting over technical excellence!

And I have bought my fair share of hardware that made it onto the
market bugs and all too. My new fax machine caught fire. Early V90
modems that only half work etc.

So, computers should use more hardware and less software to manage
resources. In fact, the "OS kernal" of my multiple-CPU chip could be
entirely hardware. Should be, in fact.

You are treating the symptoms and not the disease. Strongly typed
languages already exist that would make most of the classical errors
of C/C++ programmers go away. Better tools would help in software
development, but until the true cost of delivering faulty software is
driven home the suits will always go for the quick buck.

No, I am making the true observation that complex digital logic
designs are usually bug-free, simple software systems have a chance of
being so, and complex software systems never are.

John


.



Relevant Pages

  • Re: How to develop a random number generation device
    ... I think that hardware engineers get a better grounding in logical ... to market and first mover advantage to gain maximum market share as ... market bugs and all too. ... of C/C++ programmers go away. ...
    (sci.electronics.design)
  • Re: How to develop a random number generation device
    ... an FPGA and a large program, you'll find the software part has orders of magnitude more lines of programmer-written code than the FPGA. ... That's part of the reason for using higher level languages like Python (or MyHDL for FPGA design) rather than C++ - not only do programmers typically code faster, ... you have to remember that hardware and software do different jobs. ...
    (sci.electronics.design)
  • Re: How to develop a random number generation device
    ... virtually bug free non-trivial systems. ... computers should use more hardware and less software to manage ... In hardware chip design the cost of fabricating a batch of total junk ... That's why programmers type rapidly and debug, literally, forever. ...
    (sci.electronics.design)
  • Re: Vaguely on-topic ramblings
    ... and how clever the programmers of the time were ... > at wringing extra performance and abilities out of what is essentially ... > very simple hardware; things like 4-channel beeper music, ... Hardware design was an *art* then. ...
    (comp.sys.sinclair)
  • Re: Security and EOL issues
    ... OS software resources are designed that reserved ram and disk space among other resources, to reflect what current hardware size is available. ... (There was a security patch a few years ago that could not be applied to NT4 as it required more resources then NT4 could provide. ... Installing air bags requires that the automobile manufacturer design, test, ... Computer Emergency Response Teams, and Digital Investigations. ...
    (Security-Basics)

Loading