77 karma · joined February 9, 2009
I think my high regard for C comes from work experience: the C projects I've worked on have been less of disastrous messes than the C++ projects I've worked on. It's hard to pinpoint why, because on a small scale C++ is very nice. But I've noticed that once > 10 people get involved, C++ projects become more bug-prone and difficult to understand and fix.
I especially love ADTs in C. C++ encourages you to declare public and private and protected class members in a single class declaration in a single header file. Yes, you can work around this (ie, have a single private member m_priv), but I haven't seen it done much in practice. In C, on the otherhand, it's much easier to separate implementation details from the public interface. Put "typedef struct Foo * FooHandle" in the public header and the structure definition in the .c file. This is common practice in C and very elegant. As a coworker once put it, "I don't like the way people put private members in header files in C++... it's like seeing the class's underwear".
Is there anything like that?
158,616,176 reasons why Google Chrome OS won’t fail @SiliconANGLE. http://bit.ly/7TDjDp
158,616,176 reasons why Google Chrome OS won’t fail @SiliconANGLE. http://bit.ly/7TDjDp
158,616,176 reasons why Google Chrome OS won’t fail @SiliconANGLE. http://bit.ly/7TDjDp
... ad infinitum
I'd much rather have an OS with the capabilities to sandbox applications, but that can still run an arbitrary binary. For example, I cannot imagine hardware device manufacturers writing drivers that are "cloud apps".