I tend to agree that programming microcontrollers is probably not the best way to start programming in general. However, here are a couple counter-arguments to that:
1) PC environments are a lot more complicated than they use to be. If we assume Windows, then your obvious choice is Visual Studio Express. It's not terribly hard to use, but there's a little bit of a learning curve in figuring out an IDE (any IDE really) since all your options are right there all at once. And while many C books start you out with:
int main (int argc, char *argv[]) {
printf("Hello world\n");
}
... on Windows, you get all that char vs. tchar vs. wchar vs. whatever, for one of many such examples. The first time I created a console project in VS, I was stuck for days trying to figure out how I'm supposed to deal with characters, since obviously Windows had it's own way of doing things that did not look like the examples in your typical book. Having never really learned Windows programming, I'm still not sure of the right way to do many simple things because of architectural differences from the basic, portable coding practices that have been the staple of tutorials since C was created. (I've actually helped a couple new Arduino users who couldn't figure out why the compiler kept complaining that DWORD was undefined. I'm in a similar boat, but in reverse.)
IMO, Linux is a better environment for learning C, since it actually looks like normal C, but that could be personal bias. Writing code in a simple text editor and then running gcc from the command line made it really easy to write my first working program, but you do have to consider the learning curve of an alternate OS as well -- which is not nothing.
In contrast, the Arduino IDE is stupid simple (in good and bad ways), there's zero tool-chain setup, and you can write and upload your first program within minutes of downloading the software.
Either way, you have to learn to code, but keeping the "other stuff you have to know" down to a minimum is a plus.
2) The biggest aid in learning anything is motivation. If you're terrifically bored by writing four-function calculators and array sort routines, you may never get through a programming book. OTOH, if you can write five lines of code and get a blinking LED, that might be enough to hook you. It's a long journey either way, but if you're excited to take that journey, you'll actually do it.
So, while programming on a PC first is probably academically beneficial, if your goal is to nurture an enjoyable hobby, you might opt to go for the route that is most engaging.