Linked by Yamin on Wed 9th Sep 2009 16:17 UTC
General Development I've been developing software for quite a few years. One of the issues that seems to come up again and again in my work is this concept of design and implementation. I recall it being a significant part of my education at the University of Waterloo's Computer Engineering program as well. The message was always the same. Never write code first. First you must design software by writing a design document, flow charts, pseudo-code, timing charts... then it's merely a trivial matter of implementing it. Make note of the attitude here given towards implementing. The real work is in the design, and it's just a trivial matter of implementing it. It sounds so simple doesn't it? Now, how often does this work out in real life?
Thread beginning with comment 383068
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Must be nice...
by joshv on Wed 9th Sep 2009 17:56 UTC in reply to "Must be nice..."
joshv
Member since:
2006-03-18

Perhaps I've never dealt with low enough level languages, or buggy enough compilers, but I've never encountered a compiler that didn't do exactly what I told it to.

A developer who imagines he has found a compiler bug is wrong, in 99.999% of the cases.

Reply Parent Bookmark Score: 3

RE[2]: Must be nice...
by JonathanBThompson on Wed 9th Sep 2009 18:09 in reply to "RE: Must be nice..."
JonathanBThompson Member since:
2006-05-26

The Borland C++ 5.0 compiler (forget which one, exactly: they also had an Intel compiler shipped in that package) in debug mode generated invalid code for the , operator: I saw it at work, when someone was using the operator for generating debugging code, and Borland confirmed it was a bug when tested. Also, optimizations in gcc aren't so guaranteed at the highest optimization levels, especially on older compilers (before 3.x). If you write C/C++ software and you're unaware of this, you're inexperienced. So, too, Windows-based compilers often have subtly different code at top optimization levels than that generated that's unoptimized. I have no reason to believe these issues are restricted to C/C++ compilers, as back-ends are often shared amongst front-ends for actual compiling down to assembly, especially in the Gnu Compiler Collection.

Reply Parent Bookmark Score: 2

RE[2]: Must be nice...
by cjcoats on Wed 9th Sep 2009 20:10 in reply to "RE: Must be nice..."
cjcoats Member since:
2006-04-16


A developer who imagines he has found a compiler bug is wrong, in 99.999% of the cases.


In every one of the two-dozen-or-so cases that I've
been trying to build an executable and the compiler
message was "ERROR: Internal compiler error in phase..." what I have found is certainly a compiler bug.

In every one of the similar number of cases where the compiler seg-faulted, it was also a compiler bug.

I think your "99.999%" is a WAG.

Reply Parent Bookmark Score: 1

RE[2]: Must be nice...
by Bill Shooter of Bul on Wed 9th Sep 2009 23:30 in reply to "RE: Must be nice..."
Bill Shooter of Bul Member since:
2006-07-14

What compilers *have* you used? Its possible you haven't, but I imagine its more likely that you just haven't used the compilers in such a way that their bugs were exposed.

In General, they are complex beasts, and they do have bugs.

Reply Parent Bookmark Score: 2