Matt <matt@xxxxxxxxxxxxxxxxxxxxxxx> writes:
> Ezekiel wrote:
>> "Matt" <matt@xxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>>> So it was unreasonable for the developer to expect the VC++ makers
>>> to implement the standard for-loop syntax and semantics?
>> Yawn. All compilers at that time had some sort of conformancy
>> issue. (Still true today.) Most compilers will often leave the
>> default behavior the same for compatibility reasons so that
>> applications continue to compile if someone upgrades their
>> compiler. Often there is a switch or env-var to control the behavior
>> of something like this. Most compilers also have a "STRICT_ANSI"
>> mode where all non-standard language extensions are disable and the
>> compiler does it's best to only allow ANSI conventions. And Borland,
>> Watcom and all of the other compilers were no different. And if the
>> biggest problem that somebody has when porting their app to another
>> platform/compiler is a minor difference in "for-loops" then it's a
>> damn good week at work.
>>> As a practical matter, yes, it was unreasonable, if you understood
>>> their general hostility toward standards not controlled by them.
>>> They implemented the syntax, but with the wrong semantics, and did
>>> that for no technical reason.
>> "did that for no technical reason." - It's called a bug.
> Nope. They could have had somebody fix it and double and triple check
> it in a week. Instead they left it in for quite a few years. They
> chose not to fix it. If you knew something about compiler
> construction you would laugh at the idea that there was any difficulty
> in implementing standard for-loop syntax and semantics.
Hmm. I'll take your word for that since its more than 20 years ago I did
compiler courses ... (they did them at good Universities back then
Andrew if you're reading).
> I believe they said they didn't fix it because it would break a lot of
> old programs with old incorrect code. So they left it that way, and
> more incorrect code piled up.
Poor excuse since they could pragma the old way and make the proper way
> Perfectly consistent with wanting the whole pie, to hell with ISO
You mean like here:
As supported by Roy Schestowitz, Homer and most of the COLA faithful?
Really. I jest not.
> Finally they implemented the standard form as an option set by a flag.
>> Borland also had "wrong semantics" (aka bugs) in their compiler for
>> no technical reason other than the people who write the compiler are
>> human which means the software will have bugs. Does gcc have any
> What do you think? Of course it doesn't.