Linked by Eugenia Loli on Mon 10th Oct 2005 16:48 UTC, submitted by Shlomi Fish
Permalink for comment 43185
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
News
Linked by Thom Holwerda on 05/18/13 7:37 UTC
Linked by fran on 05/18/13 1:38 UTC
Linked by Thom Holwerda on 05/17/13 23:35 UTC, submitted by kragil
Linked by MOS6510 on 05/17/13 22:22 UTC
Linked by Thom Holwerda on 05/17/13 22:15 UTC, submitted by Tom
Linked by Thom Holwerda on 05/16/13 21:41 UTC
Linked by Thom Holwerda on 05/16/13 17:04 UTC
Linked by Thom Holwerda on 05/16/13 13:17 UTC
Linked by Thom Holwerda on 05/16/13 12:06 UTC
Linked by Thom Holwerda on 05/15/13 23:03 UTC
More News »
Sponsored Links



Member since:
---
Yet, you cannot write a conforming C/C++ compiler for either. The basic fact is that C makes the assumption that the hardware is unsafe. Higher-level languages make no such assumptions. Since only a subset of machines are unsafe, only a subset are capable of hosting a conforming C compiler, and therefore, C is strictly less portable than a number of other high-level languages.
This argument has so many holes, it borders on nonsense. In no way does C assume a "unsafe" machine, for a start. You are almost sitting in front of the prove: Assume you have a machine which you deemed "safe". Plug this machine to your normal desktop computer (which you call "unsafe") via serial port and the keyboard connector. Let the safe machine just pipe through input and output of the unsafe one. Let your C written program execute on the unsafe machine. The result is a safe machine which can execute a C program. The only remaining "problem" is that the C program might never terminate. I do not know if your definition of a "safe machine" does include that it always terminates. But if it did, it could not run Java either.
By the way, I could make a similar nonsense prove like you did myself. It could go this way: Java assumes a graphic screen to execute, C does not, so Java is strictly less portable than C.