> One interesting thing is that for the past twenty years new
> architectures have been designed to run C code well.  Just check out
> the papers a ISCA.  Then why do we have to have such complicated
> compilers to generate code for it.

I'm pretty sure that you can lay that at C's door.  Had Algol or
Pascal been targeted, the architectures would not have so many
loopholes to go insane over.  C's pragmatism came back to bite it.

Of course, Algol or Pascal's discipline meant they never stood a
chance, so it's a lose-lose situation.  Let's be grateful that C
existed at all.  Had ADA or PL/I won that war, I doubt the Personal
Computer would have ever become affordable.

What it suggests to me is that the next programming notation should
first of all describe an architecture that can be engineered without
an infinite array of corner cutting features that can't be represented
in any semblance of programming code, which is why the compiler needs
to know about each and every one and even the likely circumstances
under which they ought to be used.

Then we can hand to the engineers a programming language they can
target with their architectures and they won't botch it too badly.

On further thought, it's obvious where it all went wrong: C is not one
language, it is only scaffolding.  Targeting it was bound to lead to
an infinite number of outcomes.

Lucio.


Reply via email to