I would like to write a project in C on linux. The simplicity and universality of binding to C from other computer programming languages makes it a preferential choice over other computer languagues, such as C++, Obj-C, D, C#, etc.
Unfortunately, some of C's limitations drive me batty. (IDEs don't solve them all. They plaster over some. Besides, I use emacs, gcc, and cgdb.)
I would rather have multi-pass forward scanning of function definitions, so I don't need prototypes; and I would rather not have to have .h files. I can then put everything from one "module" into one and just one .c file. Maybe this needs a "public" keyword to designate any function symbols I want to export.
I would love optional arguments on functions: function x(y =0).
These are collections of itches. All fairly pedestrian. Nothing as complex as a full language, much less a real new feature such as garbage collection or inheritance. More like C 11.1. It would just require a more sophisticated preprocessor. Writing such a preprocessor for C [in perl] would not be too hard, but writing all the tools that go with it would require in-depth knowledge of the common support tools (emacs, gdb, etc.) which I do not have.
(more pedestrian request: a pragma that states to zero all structs and arrays upon creation. Pass through of '...' varargs. true doc support---doxygen has idiosyncracies. multiline support.)
are there any such extendable C solutions in gcc? the gap between C and C++ is way too far, but the valley in between seems to have few choices that retain the advantages of C.