title: Why doesn't anyone upgrade their C compiler with advanced features?
body: <pre><code>struct elem
  {
   int i;
   char k;
  };
  elem user; // compile error!
  struct elem user; // this is correct
  </code></pre>
  
  <p>In the above piece of code we are getting an error for the first declaration.  But this error doesn't occur with a C++ compiler. In C++ we don't need to use the keyword struct again and again.
  <p>So why doesn't anyone update their C compiler, so that we can use structure without the keyword as in C++ ?
  <p>Why doesn't the C compiler developer remove some of the glitches of C, like the one above, and update with some advanced features without damaging the original concept of C?
  <p>Why it is the same old compiler not updated from 1970's ?
  <p>Look at visual studio etc.. It is frequently updated with new releases and for every new release we have to learn some new function usage (even though it is a problem we can cope up with it). We will also get updated with the new compiler if there is any.
  <p>Don't take this as a silly question. Why it is not possible? It could be developed without any incompatibility issues (without affecting the code that was developed on the present / old compiler)
  <p>Ok, lets develop the new C language, C+, which is in between C and C++ which removes all glitches of C and adds some advanced features from C++ while keeping it useful for specific applications like system level applications, embedded systems etc.</p>