PLEX86  x86- Virtual Machine (VM) Program
 CVS  |  Mailing List  |  Download  |  Newsgroups

Thou shalt have no other gods before the ANSI C standard 1647


Your Ad Here

Your Ad Here

CBFalconer

Thou shalt have no other gods before the ANSI C standard 1648
Randy Howard Advantage of int64: machine-independent semantics---confidence that the int64 operations won't suddenly change behavior when they're moved to a new...

You're confusing machine dependence with abstraction.

Sure, there's lots of code that works fine with variable integer sizes, with the variable specified at compile time (templates, typedef, etc.) or at run time (bigint, etc.). The benefits of this generality often outweigh the costs.

But using register-sized variables (long, etc.) does not produce this generality. A perfect illustration is the same real-world problem of a counter above 2^32 being stored in a 32-bit ``long'' variable. How do we fix this problem? Do we tell the users to change the meaning of ``long'' by throwing away their CPU (or modifying the compiler to break the ABI)? Of course not. The mistake was using ``long'' in the first place.

I should emphasize that this is separate from the costs of machine dependence, namely portability problems. What I'm saying is that your buttignment of benefits to machine dependence is fundamentally wrong. The benefits you're talking about are from abstraction, which is not the same thing.

I should also emphasize that machine dependence is occasionally needed to achieve top speed. But this is an issue only for the small chunks of code that actually matter for speed.

---D. J. Bernstein, buttociate Professor, Department of Mathematics, Statistics, and Computer Science, University of Illinois at Chicago



Your Ad Here

List | Previous | Next

Thou shalt have no other gods before the ANSI C standard 1648

Alt Folklore Computers from Newsgroups

The #1 Usenet Provider on the Internet

Thou shalt have no other gods before the ANSI C standard 1646