I've used OOF2 for a few research projects. Despite its warts, I found it very hackable. The application itself is written in Python with performance-intensive bits written in C++ and wrapped with SWIG. Adding new code in Python is a piece of cake, and fitting in some C++ when you need to is fairly easy. I haven't used any other FEA software, though, so I can't give you a comparison.