I'm a bit haz
I like to use Eclipse to write code, but I still compile and upload using the tools that come with the IDE. As for compilers, you need one that can compile for the particular chip you're using and that goes whether or not you use Arduino. For example, the UNO uses an AVR chip, so we are mostly using AVR-GCC as the compiler. I think what you are suffering from is quite common and I really hate when it happens to me. You're in a situation where you are curious about something, but don't yet know enough about it to ask real questions that you could learn more from. It's a catch 22. You have to understand something to ask about it, and you have to ask about it to understand it. Understand what Arduino really is. If you want to write code, you need a number of separate things. You need a text editor of some sort to write out the code in. You need a compiler to turn that into machine code. You need a linker to put that together into a program. You need some sort of application to actually load that code onto the chip. Arduino is a collection of tools that anyone could put together themselves. It's like buying a package deal, or a combo meal at McDonalds. You get a text editor, a copy of avr-gcc, a linker, and AVRDude to upload with. You could collect those things together separately and start coding for an AVR chip whether that chip is on an Arduino board or not. But it is not really self explanatory how to put all that together and make them all work together. Arduino is like someone has already set them all up so that they work together and gave it to you already put together and ready to go.