For the love of god not VB.<p>When I started I learned c++. I would say this is a pretty good starting language since its very easy to transfer to c#, java, php, ect because of the similarities. But it also let the professors explain garbage collection, pointers ect. However c++ had so many annoying moments because the compiler messages were so cryptic which are really bad when starting out.<p>So that makes me believe that c# would be a better choice because of what visual studio can offer. It would allow the students to run through their programs 1 line at a time, see exactly whats going on as well as give much better error messages.