I would argue that "Nature of Code" has nothing much to do with "Programming" more than it has to with simulation. Maths ans Physics enthusiasts will find a LOT of use in it, as well as people trying to understand things like Cellular Automata and Genetic Algorithms - but not "learning to code". When you pick up a language book, you want to know how the language handles memory, where the data structures are, and what happens when you flick this switch as opposed to that one. Language books are manuals with fancy narrative. Nature of Code is not a language book.
That "C++ like syntax" may be known better as Java.
The command-line in Rhino is robust (scriptable via Python) and Grasshopper allows node-based geometry workflows (like Max/MSP, Houdini, Quartz Composer, etc). It also allows you to create complex scripts and control their input in real time. Rhino is impressively accurate (algorithm-wise) for its price. I've seen this setup where my girlfriend studies architecture, but also at NYU's interactive telecommunications program (where I study) - two places that have quite different requirements (one designs large-scale and shares with engineers, one designs fist-scale and prints directly), yet it serves them both quite well. I wish all of the 3D programs I worked with had this workflow.
One major caveat is, however, that this stack works only on windows. Grasshopper is written in
The meat is rotten, but the booze is holding out. Computer translation of "The spirit is willing, but the flesh is weak."