On Wed, 12 Oct 2005 09:26:52 -0500, "Ralph"
Although what Ralph said about 'Integers' is true in theory, in
practice C programmers know all about the size of their 'Integers'
True portability is a myth, unless one rigorously sticks to ANSI
standards.
Redefining the Integer was no big deal for C programmers as unlike VB
thay have a whole slew of variables
Just to nitpick - it isn't a matter of theory, it is a practical adaptation
to hardware variations. And the "int" is never 'redefined', but a slew of
specific types with defined sizes are created and are availble. [int is an
ANSI standard]
I wonder whether C will move to a 64 bit definition of Integer
- somehow I rather suspect not
But Karl does have a point - the "Integer" in VBc is not an "int" it is a
16-bit signed thingy. Had they allowed the Integer to 'float' with VB4, they
would have had to add a new data type. MS chose not to, so they stuck with
keeping an Integer a 'short'. With a 64-bit 'intergral data type' on the
horizon, they would have had to do something, anyway, had VBc stayed in
existence.
Well the VB Long was ... long established so they did not really need
to change the VB definition of Integer
To be fair to Karl, and to maintain true VBness, the "Integer" should
probably have remained 16-bit. A Long 32-bit, and they could have come up
with something new for a 64-bit thingy. Perhaps a 'Fred'. <g>
Totally agreed - a Long64 would be a useful addition to VB
Part of the reason why B# moved to a 32 bit Integer was probably
because the designer Anders Hejlsberg had already forced a similar
conversion in the move from Delphi1 to Delphi2
In that case it was no big deal as the benefits from upgrading from 16
to 32 bit were irresistable
Another reason was, I guess to keep things in line with C#
Personally I see no great problem in a variables type name differing
between languages ...