ANSI C could be cleaner than it is. I regularly lament that I must type
int func(long_type_name a, long_type_name b, long_type_name c) { ...
when I really, really should be able to type
int func(long_type_name a, b, c) { ...
It would be nice to get this back and it would take away some useless noise. Sadly, this is now seen as a feature and languages like D insist on the repeated type name.
I'm sure there are other places were ANSI C could be made cleaner, but perhaps at the cost of backwards compatibility.
I don't now about the later versions of the standard but in C89, using the old style meant you did NOT get the type checking of the prototype style declarations. If there is no semantic difference these days, then yes, that would be a solution. I'm on the road and don't have the C11 standard handy, so I'll check later what the deal is.
Sorry, I didn't mean that literally, I meant getting equivalent functionality. I'd be fine with semicolons, Renderman Shading Language uses that syntax.
I'm sure there are other places were ANSI C could be made cleaner, but perhaps at the cost of backwards compatibility.