Absolutely -
even standardized C allows for may implementation
dependant aspects. This is a necessary evil due to the nature of a
very widely accomodating portable language.
Portable only if you assume BYTES are
8 bits (unsigned) now days.
This is just a modern form of "all the world's a VAX". It's
approximately as necessary for "portable" code now as assuming you're
on a VAX was for "portable" code then - and for approximately the same
value of "portable" (not one I think really deserves the name, but
that's a different issue).
So is the languages the problem or the hardware for
clean coding?
No, not really (though in some cases either can exacerbate problems).
The actual problem is people coding who don't really grok programming,
at best understanding "programming in COBOL for VM/CMS" or "programming
in gcc for Linux on i386" or whatever - and usually not even that.
And just what is reasonable memory size anyhow ...
...for what? :-)
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse at rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B