try to compile the following on an AVR: const char a[]={"hello world"} char b[30]; char *p;
p=a; strcpy(b,p); strcat(b, "?"); printf("%s %s", a, b);
It won't work because the different memory areas will screw-up the pointers. Some very smart and expensive compilers may be able to solve these problems at the expense of speed.
Oddball?? I wouldn't call the MSP 430 series oddball (lots of people are using these). You don't even need a programmer to program it! An RS232 to TTL converter (or a USB to serial converter chip) is enough to get going.
So we should all be like lemmings? Even if the first one that jumps into the water drowns, the rest should follow?
Besides, you make my point exactly: if you choose PIC, then you're stuck with PIC examples. If you choose a processor for which any generic C code can be compiled, you can use any piece of C code you can get your hands on.