Re: Write only memory

From: Chris Barts (chbarts_at_gmail.com)
Date: 10/15/04


Date: Fri, 15 Oct 2004 03:42:40 -0600


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

jacob navia wrote:
| Chris Barts wrote:
|
|> jacob navia wrote:
|>> Even better would be if we would just write:
|>>
|>> _Pragma(Stdc,Zeroinit,Function)
|>>
|>> meaning that in the given function all local
|>> data should be zeroed before use at function
|>> entry.
|>
|>
|>
|> I think all pragmas look like preprocessor directives. That is, it should
|> be written as:
|>
|> #pragma (...)
|>
| C99 makes _Pragma and #pragma equivalent

I did not know that.

|>> Only when you write:
|>>
|>> _Pragma(Stdc, Nozeroinit, function)
|>>
|>> would be the zeroing of memory be avoided.
|>
|>
|>
|> /This/ is too much typing.
|>
| This could be replaced with a compile time switch that would be global

Then conformant programs could have wildly variant behaviors depending
on something fully outside the source code. I think a Standardized
language should minimize things like that.

|
|>
|>> I think that would be the best. Not to write
|>> anything at all. This would slow software a bit,
|>> (maybe) but for *many* applications running
|>> in PCs today that would not do any real
|>> performance lost.
|>
|>
|>
|> Bah. C isn't (just) for PCs. C is for embedded devices and
|> high-performance systems that don't want to waste time looking out for
|> incompetent programmers.
|>
|
| Even the best programmers do make mistakes.
| Of course it never happens to you...

I have never made this kind of error, no. I do, of course, make
mistakes, but I don't expect the compiler to hold my hand. I have a very
nice debugger to step through my code, and I have a nicer brain to
reason things through.

|
|>
|>> How nice. This would mean also no change to
|>> existing programs. They would just run a few
|>> microseconds slower and nobody would care.
|>
|>
|>
|> Wrong. Programs controlling things like heart-lung machines and
|> supercomputers could run noticeably slower, and this is not always
|> acceptable.
|>
|
| Mmm I would prefer a heart-lung machine with no bugs
| pleeeeeeeeeeeze...

How about a heart-lung machine that always works fast enough to keep
your heart and/or lungs going? And is still cheap enough for your
hospital to afford?

Plus, your scheme will not catch many, or even most, bugs. Programmers
writing software for essential systems should be experienced enough to
not need your proposed modifications.

|
| This "speed at any price" attitude is widespred. Todays
| embedded systems use CPUs that leave PCs behind. The
| Analog Devices DSPs are 32 bit for instance, and feature
| an impresive speed, very comparable to PCs.

Uh, what? Embedded systems are more cost-conscious than PCs, and they
are usually more heat- and power-conscious as well. (Speed usually ups
both power consumption and heat production, something that is often
unacceptable in embedded systems.)

And DSPs are something completely different.

|>
|> "The fool in his heart thinks `All the world's a PC.'"
|>
|
| Very few modern processor do not have a cache. Yes,
| I know that there are other things that PCs but I am
| speaking about a PC environment.

And here, again, you prove that you should /not/ be proposing
modifications to Standard C. C is widely used in non-PC environments,
non-workstation environments, and even non-hosted environments. /All/
modifications to Standard C must be reviewed with that firmly in mind.

[snip]

| Speed is only one of the factors in software. There are
| many others like security, robustness, etc, that in
| many applications are more important than "speed".

This is perhaps the only intelligent comment you've had so far.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBb5uQBsEyCHtFPhsRAmegAJ9wW9Ugnq8Eb8VM9MkonRX17g2QFQCeP2Pu
2PO/fPsjuajy1VCqX9d1knA=
=3hcm
-----END PGP SIGNATURE-----



Relevant Pages

  • Re: Clearly, it is too late to fix c99 - C is dead
    ... >the subset of server boxes which are "which are really just overgrown ... >overgrown PCs. ... >applies to embedded systems as well as to standalone computers. ... hence the overwhelming urge here to consider such things "computers". ...
    (comp.lang.c)
  • Re: Thou shalt have no other gods before the ANSI C standard
    ... >>are sold a year, then guess how many embedded systems are sold a year. ... >security, then it's not clear to me that counting by number is the right ... or that those embedded systems are as important as PCs. ...
    (sci.crypt)
  • Re: What Defins the "C" Language?
    ... have used other sizes haven't called them 'bytes'. ... Perhaps because you said "There are more computers out there than just ... PCs", implying that only PCs have 8 bit bytes. ... embedded systems), and few of them are programmed much in C. ...
    (comp.lang.c)
  • Re: Thou shalt have no other gods before the ANSI C standard
    ... >>are sold a year, then guess how many embedded systems are sold a year. ... > security, then it's not clear to me that counting by number is the right ... or that those embedded systems are as important as PCs. ...
    (sci.crypt)