Note that NCD is really not far from a general-purpose programming language. You can see some "modern" NCD code of mine here [1] where I use it to control a Sphero robot with a joystick. Well, I admit I added a few more features to NCD while coding that.
Probably the most important feature missing is floating-point math, which I had to outsource to a Python program. Which was possible since NCD does have the facilities to create child processes and communicate with them over pipes. It also has TCP sockets and a higher-level simple RPC mechanism using "NCDValues".
No particular reason really, I just needed a name that sounded deviant - I was still a teen back then! Over time I added other software to the repo for convenience (tun2socks, NCD). A name change might in fact be due.
Unfortunately some of the docs got "lost" by the killing of Google Code - it can still be found in [1]. Currently the project is essentially in maintenance mode, though I'm not opposed to someone contributing new features (especially to NCD, I realy love and still use NCD!).
Note that the software is packaged in a few Linux distros (I know about Gentoo, Arch and NixOS).
Probably the most important feature missing is floating-point math, which I had to outsource to a Python program. Which was possible since NCD does have the facilities to create child processes and communicate with them over pipes. It also has TCP sockets and a higher-level simple RPC mechanism using "NCDValues".
[1] https://github.com/ambrop72/spherojoy