So many of us C forum old timers have answered the same basic questions so many times that even our occasional attempts to be humorous or creative with them seem to get dull. You'd think that by the end of week one that a programmer new to C would have been taught how to read a string and a number from user input. Instead I see piles of questions on linked list or binary search tree implementations, and the programmer is still hampered by faulty input handling, the use of nonstandard functions, and all too often not even knowing how to declare the program entry point: main.
And of course there are FAQs and tutorials a-plenty out there that show how to do things correctly. I even decided to take a stab at it: User Input: Strings and Numbers [C]. If for nothing else, it was because I was tired of writing the same reply over and over and over. And because I wanted to package together some of the other FAQ links and related code snippets that I'd written -- also because I was tired of continually posting the same bits of code.
But why is this so widespread? Why are those people teaching C so unaware of the week one basics that they pollute others' understanding unknowingly? Wouldn't it be great if in order to be considered a competent instructor qualified to teach C programming to others, that they would have to post sample assignments and their solutions to web forums such as these for critical review? If we could only teach the instructors better, the students would be so much better off.
And the same goes for books and web tutorials. Ah, wouldn't it have been great if the misinformation could have been corrected before it corrupted the practices of so many programmers (myself included). The cycle of learn to do it wrong, practice these bad habits and become good at them, discover the practices are bad, unlearn the bad, relearn the correct, and finally practice writing good correct code leaves much to be desired.
But should I really be complaining? I mean, this is the bread and butter of self-help forums such as this. Ah, well. I'm sure this rant will continue far into the future and be echoed by many more C programmers, either now or in the future as they are rounding the corner and heading down the practice writing good correct code phase of that fun learning cycle.