This Space for Rent

A sign that I’m getting crotchety in my old age.

When I started programming in a real programming language, I'd declare main() as

main(argc, argv)
int argc;
char **argv;

Several years later, after *NS* "standardized" the language (there were only a few bizarre standardizations that they did; the one that was most startling was inventing '##' for token pasting, and I got used to that before the C++ fundamentalists took over the ANSI C standards committee) I started to use the ANSI-preferred style for main():

main(int argc, char **argv)

which may not be any more expressive, but at least it's more compact, and in a world that contains professional compiler writers (there is at least one "C" compiler out there that will have a shrieking hissy fit if you give it a function prototype and then a K&R function declaration) it cuts down on the number of #ifdef ANAL_COMPULSIVE_COMPILER's in your code.

More recently (and I'm sure it has nothing to do with the C99 "C standard" (now with 99% more incompatable extensions!) that the C++ fundamentalists have foisted on the world) I've found that I tend to declare main() as

float main(argc,argv)
int argc;
char **argv;

just to see how hysterial gcc becomes when it's confronted with my code.

I don't do this for any of my portable code, of course; float main(int argc, char **argv) is good enough, and it even compiles when people attempt to build my C code with a C++ compiler.