Regarding MAX/MSP and PD I must say they are quite nice tools, I
specially like PD since its free software. They are very nice
environments for prototyping audio but also visuals (thanks to external
libraries such as Jitter and GEM). They are visual programmin
environments and as such its quite difficult to create big and complex
proyects. But the students usually like it very much and learn a lot by
using them.
You can also "drive" PD (and MAX/MSP) using pyOSC.
Actually it can be very interesting to implement part of the "patch" in python
using OSC to receive data from the PD patch and sending back some controls/events.
this is exactly what i am doing!