what IDE and software can I use to program a microcontroller
It all depends on what you are trying to do. There is not (to my knowledge) a "universal" microcontroller IDE/Programmer out there. You will need to use whatever your chip manufacturer provides.
The IDE's are usually free, or at least there is likely to be a less-featured version offered for free, cause they make money on the repeat hardware sales: the chips themselves, dev boards, programmer/debuggers, etc. Personally, I use Microchip products at my work and their IDE is MPLAB X.
So, pick your hardware first... then check with the manufacturer and get their IDE.