The Arduino IDE works for library development, but to make one, you MUST have a .pde file. You could then use the left pointing arrow at the top left side and then choose New Tab. Then you can choose a file name and the wanted extension (.h or .cpp). As sad, this MUST have an .pde file. If you don't want that you can use another IDE like Qt Creator or Eclipse. I use Qt Creator and it works great. There is one commercial and one non-commercial version available of the Qt Creator.

I can't say the your right. Eclipse and Qt Creator (I haven't heard of NetBeans) are much better than the Arduino IDE, but you can't upload from them. There is an AVR plugin for Eclipse, but it doesn't work (easy) with the Arduino core files.

So for library development; you are right. For Arduino program development, you are wrong.

Just make a makefile that does everything the Arduino IDE does, one of the old Arduino versions even came with one. The core files are just a bunch of files that gets compiled and linked along with your own files. Also make sure your makefile includes the AVRDUDE command.

Or use Eclipse or NetBeans with Arduino in external editor mode, do anything to avoid typing in that thing.