Ed said:
And then we ride to work over rainbows on ponies!
Standard C doesn't have
1) Any serious i/o. To do anything fast you need system specific stuff.
2) Any notion of the keyboard. To handle the keyboard you need system
specific stuff.
3) Any graphics. Ditto.
4) No network.
5) Not any timers with reasonable accuracy.
C is very popular for systems programming but none of those programs
is written in standard C.
I am porting the lcc-win IDE and debugger. Written in C but system
specific. And I do not give a damm about portability of a windows
debugger to the latest toaster with embedded linux
Windows debuggers aren't very portable outside windows as you may know.
It would be possible to at least do something reasonable portable if the
standard would specify a reasonable string library, a common container
library, a common base for using in day to day programming.
Nope there isn't anything like that in portable standard C.
All this people talking about "Portable standard C" are just talking
nonsense.
Or they do not use the network, nor do they do any graphics, nor do they
use any i/o, etc etc.
Yes, for toy applications it is barely portable, but even this program:
#include <stdio.h>
int main(void){printf("hello\n");}
is portable since the errors of printf are NOT specified, so you have no
way to know what happened if printf returns a negative result, besides
going into implementation specific stuff!