Is it possible to write a program to control the Arduino Uno, without using the Arduino IDE?
You can program the Arduino hardware without using the Arduino IDE. Using avr-gcc and a handful of other tools, including make and avrdude, you can compile and download to the target Aduino hardware. You can even dispense with the Arduino bootloader, and program the hardware using the common ICSP interface. To do this, you need a hardware programmer, but you can make another Arduino into one very easily. Using this method frees up the space used by the bootloader for your own code. Naturally, you use the editor of your choice. For a bit of a taste, have a look at the Adafruit page on programming a trinket (technically not an Arduino, but the methods still apply).
I assume you mean the Arduino IDE?
Yes there are many options, for example plugins for Eclipse or Microsoft Visual Studio.
This link show others like:
Personally use normally the default Arduino IDE, but I don't like the fact you can use just a few files before it does not fit In the top bar, so than I use the Visual Studio plugin VisualMicro.