Geogebra has evolved from a (very nice) dynamic geometry software to a full blown CAS-program since the integration of Giac which began in 2013 and is an ongoing process. Having used Maxima for a long time (and using Mathematica professionally) this approach is much more natural to me than using a history of Geogebra-commands.
Using this is very demanding for our for secondary level students, the difficulty is very similar to writing programs.
Doing this in a clean way requires stratetic planning of usage of variables, functions, lists for results etc. in addition to knowing and understanding your maths. Many natural concepts (e.g. functional programming – the zip command) are just being realized in Geogebra.
As an active member of the related forums I participate in many ways to find bugs, to discuss problems or make proposals for better usability.