In TouchDesigner you can also write your own custom C++ operators (TOP, CHOP since latest experimental also SOP, DAT).
Examples are installed in the Samples directory. docs.derivative.ca/Write_a_CPlusPlus_Plugin
TD is great for quick development for short run installations. OF is what i use for long term/ permanent installations. it can create an executable (in osx/windows/linux) and is much cheaper than TD.
So do both, the C++, and general programming skills, will always come in handy.
I use both.
C++ is a good investment in my opinion.
Touch is really great when quick developpement is needed, and when prototyping / modifying things on site.
for some projects openFrameworks comes in handy. I think there is no limitation as you code from the ground up and can do very wide projects (though you need coding time and skills) or just small tools on desktop (PC, Linux, Mac) and various embedded devices like iPhone, iPad, Android phones, Raspberry Pi etc…
For instance, i can do a projection mapping with Touchdesigner while a small app on a Raspberry can be dedicated to grab some data from sensors and send them to Touch