Важна кросплатформенность (Win, Linux, может даже OS X) и возможность создавать сложные интерфейсы.
важна скорость разработки
На ум приходит Eclipse, но опыта с ней нет и толком не понятно, можно на ее базе сделать описанное или нет.
include/String.h|74|error: ‘StringIdentifier’ does not name a type
class StringIdentifier;
virtual StringIdentifier operator-(const StringIdentifier &STR){};