So by your reasoning, if I make a revolutionary 8bit microcontroller tomorrow, I shouldn't sell it or people shouldn't use it simply because linux distributions don't have ready make packages for beginners like you, or because gcc doesn't support yet this revolutionary architecture?
The 8bit PICs are a different architecture, with various quirks and differences that makes it very difficult for someone to adapt gcc to compile binaries to this architecture. GCC simply isn't capable of compiling code for it now, just as I'm sure there's lots of other 4bit and 8bit and x bit microcontrollers that gcc doesn't support. GCC isn't the "ultimate" compiler out there.
for any linux user, it could not be easier (apt-get install arduino). no dumbed down versions to worry about, no upgrade troubles (apt-get will keep your apps updated), always staying at a reasonably current version and ability to install freely anywhere you want, even built from source. there is no such analog in the mcp world (is there?). and so, for an opensource hw/sw person, the gcc and apt-get way is the path of least resistance and just the obvious choice if I had to choose between this and some very custom vendor-specific set of compiler tools.
Yeah, let's settle on the most generic compiler out there, that makes the most generic binary, that has the most average optimizations, every microcontroller should work the same because you're too lazy to actually download some source code and compile it to a binary and install it with provided scripts. Every chip manufacturer shouldn't do something innovative that may just make their chips not compatible with the plain boring generic gcc or some other open source chain because user linux-works won't be able to say apt-get install arduino anymore.
yes, *microchip* may have compilers for their chips, but if I cross into another company, then I have to use different compilers, linkers, debuggers, etc?
Why does this surprise you? You may have to. It all depends on the architecture of those chips, and how well those architectures are suited for what's out there, for open source compilers, linkers, debuggers.
If Microchip doesn't have the man hours to contribute to gcc to make something happen, if people all over the world don't contribute to gcc to make it happen, you have no choice. gcc doesn't make itself, people contribute code to it
Also, lots of these small lightweight microcontrollers are cheap and simple, universal/standard features like JTAG to debug and program would make the die of the chip too large and potentially make the chips commercially un-viable. See for example
PIC10F200, which has only 6pin and 384 bytes of program space... you seriously expect something like this to have universal debugging or some other silliness? GCC is so big and optimized for bigger architectures with more registers and memory that it couldn't even compile something considering the restrictions of such a chip.