I'm curious to know if there is any way to program the NXT other than the provided software.

I don't necessarily have any issue with the software.

Does the program created by the software translate into an actual programming/scripting language? If so is that language proprietary to Lego or is it a common programming language?