You can treat C as a small language, if you don't have to work with anyone else.
You can treat C as a small language, if you don't have to work with anyone else.
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf
That's up from 95 in C90, a factor of 2 not 3 in 20 years.
http://read.pudn.com/downloads133/doc/565041/ANSI_ISO%2B9899...
You can treat Rust as a useful language as long as you don't need to get work done. I rather like C11. I would have liked Rust, I tried, if they'd have known when to say no or if they valued sparseness for its readability because it reads like C+++:
const USAGE: &'static str = "usage: blah blah";
By contrast, I like what seL4 did with C. They wrote in C and proved in Isabelle. const USAGE = "usage: blah blah";
The RHS has sufficient type information, does it not? After all, if this were a let USAGE = ... inside a function, that would be sufficient.(I don't find this particular bit a deal-breaker though; thus far, I quite like Rust.)
const USAGE: &str = "usage: blah blah";
Compare it to the equivalent in C: const char *USAGE = "usage: blah blah"; #define USAGE "usage: blah blah" const char * const USAGE = "usage: blah blah";The C11 standard (ISO/IEC 9899:2011) adds support for threading and atomics, and adds IEC 60559 specifications in its annex.
Yet, the language specification part of ISO/IEC 9899:2011 is less than 180 pages, and the remaining pages are dedicated to libraries and the annex, which on itself takes over 200 pages.
Ah, compared with its early 1980s competition (Pascal, Modula-2, BASIC), C was quite lavishly equipped with library functions.
Now, get off my lawn, kids!