>>351,355Lack of modularity is one of libc's major defects. Users shouldn't have to link in malloc just to use sprintf, but that's exactly what the most common implementations require. Inability to define custom stream sources is another big shortcoming (why can't I printf to a circular buffer? Too bad, has to be a
FILE *
).
You might argue that only embedded programmers care about this, but you'd be wrong. The Plan 9 C libraries recognized and fixed many of these problems. The IO library in particular is great; too bad no one will ever use it.