"megamindstorm101" has posted some basic tutorials for those new to NXC. They're available
NXC requires no additional firmware other than that supplied with the NXT kit. (It's also free).
You can download NXC and its graphical interface (known as "Bricx Command Center")
NXC is used by all the robots in Daniele Benedettelli's book,
Those wanting to delve deeply into NXC can purchase