GDB can be extended using Guile Scheme. I am pretty ignorant when it comes to GDB, but I've seen people write Scheme extensions to help with V8 development and inspect certain C++ data structures more easily.
I use gdb's Python API all the time, and I'm really happy that they have it. It's good for custom pretty-printing (well, almost - I wish p vec[6] worked well and not just print vec if vec has a pretty printer defined for its type) and it's good for commands needing to access a bunch of state and print a custom summary/run external commands based on that (for instance, view an image object graphically.)
So when you say it's not good I guess you want to do other things (which?) - or else you mean that it's messy (if so I ought to say that I've seen much worse and in relative terms I'd say gdb's API is rather lovely.)