Author: David Rasmussen
Date: 02:12:04 01/10/03
Go up one level in this thread
On January 09, 2003 at 17:36:11, Robert Hyatt wrote: >I think the entire concept of "short", "int" and "long" are badly flawed. It >would >have been so much more logical and clean to simply go with int16, int32 and >int64. > >I don't personally like "long long" as it is a syntactical oddity in light of >char, short, int >and float/double. There is a reasonable explanation for this at least. The idea is that "int" should be whatever is the most natural entity of integer calculalation on a machine. In many cases, you don't care how many bits a type can store. The lower limits given by the standards is enough. You just want to know that by writing "int" you get something that on every platform is supposed to be simple, fast, signed (no weird problems with subtraction etc.), maps naturally on the architecture in question. For certain problems and/or on certain platforms, int isn't the fastest, or for some applications, knowing the exact width of an integer type is important. In these cases, we must do something different than the default. From my point of view, it is a question of the ability to specify your design concisely. So I think that _both_ forms should be available. That is, sometimes it is very natural to say "just give whatever happens to be a natural int on this platform, I know it's at least 16 bits wide, the standard says so, and that's good enough for this purpose". Such users shouldn't be forced to choose a specific width, say int16, when on some other platform int32 is faster, and would do the same job. On the other hand, sometimes you want to have something exactly 16 bits wide, but in that case, the ugly thing is that we have to say it's an int. Most of the time when wanting something to be x bits wide, we usually don't interpret it as a normal integer, but rather as a bitfield in some sense. So both notions should be available. They aren't. As aren't a lot of other useful features in C (many of them, including this, are found in Ada). On the other hand, a lot of weird, ugly and error-prone features _are_ available. C is an ugly ugly language :) /David
This page took 0.02 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.