My fear is that C and other languages are constraining
our ideas of
computer architecture unduly.
I don't think of it with respect to C very much, but I suspect you're
right. C as it's currently defined does impose some constraints; for
example, it pretty much requires a binary machine. Even beyond that,
it promises a lot less than most people (seem to) think it does; I've
often thought about building a portability-test compiler which goes out
of its way to break such assumptions. Something like 9-bit chars,
17-bit shorts, 33-bit ints (with irregular endianness, maybe something
like BCAD order, and the padding bits scattered around)...and that's
just the beginning. :)
I've long had similar feelings about POSIX and OS architecture, the
worry that anything that doesn't at least mostly fit the POSIX mold
kinda can't be done. I spent six months writing glue code to take a
research project in distributed, encrypted storage and present a POSIX
interface to it; the project was very interesting, but the need they
felt to give it a POSIX interface is, to me, an example of this issue.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B