Gig Performer is fundamentally a performance tool for musicians. It is not intended to be a development environment for programmers. The intent of GP Script was to allow some basic manipulation of widgets, plugins and MIDI and while it has been extended a bit to allow some system control, it is just not not intended to be a deep (“do anything”) language. While we would like to add more functionality beyond just more system function calls, features that make the product itself more usable by non-programmers are generally higher priority. But this is why we also developed the SDK.
The SDK gives a developer arbitrary functionality. You can leverage JUCE or any other GUI tool as well and basically build anything you want. The SDK even lets you create GPScript function interfaces so that functionality developed via the SDK can be invoked from GPScript. E.g, create a GUI library that allows drawing and inject functions into GP so that via GPScript you can draw points, lines, circles, load images, etc.
Since the headers are defined as C externals (not C++), other programming languages such as Python that can call C functions can be used. In fact when we started, we had wrappers so that FPC (Free Pascal Compiler) could be used as well but it didn’t seem worth maintaining.
It is also possible to use tools like MaxMSP (or M4L in Ableton) to interact with Gig Performer via 2-way OSC messaging. In fact when GP was originally developed, we explicitly included OSC support so that existing Max patchers that had been developed during the prototyping days could continue to be leveraged.