We had this conversation many times before, but still I have to say this.
C should not be taught as a first programming language. A quick look at a simple Hello World program:
#include <stdio.h>
int main (int args, char* argv)
{
printf("Hello World");
return 0;
}
Here are the concepts displayed in this piece of code:
1- Includes and libraries. (#include <stdio.h>)
2- functions ( int main {...return0;} )
3- arguments from the command line (argv)
4- arrays as pointers (char* argv)
5- finally the function printf.
Most (if not all) teachers will go through the first four lines by saying something like: "
Don't mind all this bullshit we'll explain this later".
Not to mention the real joy of dealing with Strings in C, linked lists, and low-level features like pointers, malloc and free. (And of course who could forget the great missing semi-colon problems).
C as a first language is old school. Do not get me wrong, I love this language and to this day it is the language I am most comfortable with (not that I am a guru or anything). Yet Python (again) has such a simple syntax that it allows a beginner to focus on the algorithmics rather than syntax problems.
However it is true that if you start with something as easy as Python you will never bother to learn good ol' C. Too difficult. Then again, as a web developer you're not really missing out, as you'll probably never need it.