Juha Nieminen wrote:
BGB / cr88192 wrote:
yet, it does not take long to discover that this "simplicity" to
English is of almost no use to machines.
Exactly why should the average programmer care how difficult it
is to write a compiler for a certain programming language? That's
the headache of the compiler writers, not the average programmer.
The compiler
exists to assist the programmer and make his life easier, not the
other
way around. There may be certain situations where the complexity of
the
compiler and the machine code it creates can be a burden, but
you'll have to
admit that's a really small niche market. To the majority of
programmers that's completely irrelevant.
This point of view abstracts from the reality as it is in the real
world.
Ideally yes, compilers are bug free.
Practically no, compilers are NOT bug free.
Look at the thread "Books for advanced C++ debugging". There, I ask
for literature about debugging C++ code bases. The unanimous answer
was that there isn't any actually. A deep search both in google and
in Amazon.com yields only beginners books.
So, you are in your own. You can be maintaining code that has
worked for years in different environments and suddenly breaks.
Why? Because some random compiler optimization decision decided
that code that assumed that you could treat two 32 bit pointers as
a single 64 bit number is no longer supported.
The problem here is that it never was supported. Hardly a language
problem.