Hi Brian,
there are various possibilities.
(1) write your application in Lisp and use Maxima as a function library.
Just load Maxima and your own code into your Lisp session and then
dump out a core file. Presto! If you are not already a Lisp programmer,
it is easy to learn and a lot of fun.
(2) write your application in Java and use Maxima as a function library
by compiling Maxima with ABCL (Lisp implemented in Java).
It is somewhat clumsy to call Maxima from Java, as I recall.
(3) write your application in any language and talk to Maxima through
a socket. This is the method used by the GUI's XMaxima and wxMaxima.
Maybe you can tell us more about what are your goals here.
best
Robert Dodier