> so many people somehow inherited FORTRAN style (from where! you're younger than me!) and declare variables at the top of a function.
I thought this was a C 89 requirement too, and I thought until recently that some Linux distros lifted the build requirement to C 99.
I've worked on a few code bases with all the variables declared at the top of a function though and you're absolutely right - plenty of variables that end up unused or shadowed.
Ah okay - I misremembered - I only had to work with strict C89 once and that was close to 15 years ago now, and at a similar time I inherited a codebase that did things the C89 way but it was compiled as C++ so with no enforcement of variables at the top of blocks I didn't really pay attention to where things had been declared when it was first written.
I thought this was a C 89 requirement too, and I thought until recently that some Linux distros lifted the build requirement to C 99.
I've worked on a few code bases with all the variables declared at the top of a function though and you're absolutely right - plenty of variables that end up unused or shadowed.