cfp999 wrote:In the meantime, I would love to check out some of the text-based languages. From searching the net I get the feeling that NXC is very popular. RobotC on the other hand comes with a simulator. Are the two very similar in terms of syntax? Will I be able to switch between them, once I start to get the hang of one of them?
NXC and ROBOTC are both very popular C/C++ based NXT programming languages.
NXC and the BricxCC IDE are open source, developed by the community (currently mostly developed and maintained by John Hansen, a very active member of these forums). Most of the more advanced members here use and discuss NXC as a basis for questions and discussion. These forums are not specifically for NXC by any means, but there is a lot of support for it here.
ROBOTC seems to be geared more towards education. It's an ever developing closed source software with a licensing fee. Although rarely talked about in detail on these forums, many people here are able to provide support, and there are forums on the ROBOTC website specifically for it. The virtual world you speak of is an optional addition to the software, and is not included with the Mindstorms NXT SW license.
Because both programming languages are based on C/C++, the syntax with be similar, but specifics will be quite different. From the basic user's perspective, the biggest difference is probably the API function names. There are tremendous advantages to both languages.
I would say you could switch, but you probably won't want to. I personally use both of them, but I have been using NXC for a lot longer, and understand it far better. When I use ROBOTC, I feel like I think in NXC, and then program the equivalent in ROBOTC.
Because you are just starting with text-based programming languages for the NXT, I suggest you try NXC to begin with, but you can also try ROBOTC for free for 30 days.
Edit:

didn't realize there was a page 2 with a couple replies, so most of this probably sounds redundant.