3 ms·
In my opinion, the only thing classic VB had going for it -- and even that's a bit of a stretch -- is the relatively interactive feedback loop of UI designing,
by Xophmeister 12y ago
In my opinion, the only thing classic VB had going for it -- and even that's a bit of a stretch -- is the relatively interactive feedback loop of UI designing, coding and debugging, which leads to somewhat quick gratification. However, the language is kludgy and antiquated; I feel like it encourages antipatterns and generally bad style. VB.net may be a bit better (I'm not familiar with it), as that still has the interactivity, but most of the language warts have been patched over; but then one could argue, "Why not C#"?... To answer your first question, if you want to teach programming, I would avoid VB like the plague! (Annoyingly, Excel and the like are still all scripted in VBA -- which is very similar to classic VB -- so it does have some commercial merit.)
I think Python is a very good choice as a first programming language; although, if it were me, I would also segue into a bit of C so that the learners can appreciate the difference between static and dynamic typing. What Python (and C) lacks is an idiot-proof GUI designer like VB has. (I know there are obviously things like PyGTK+ with Glade, but it's not nearly as easy as VB's form designer.) Like I said in my previous paragraph, the near-instant gratification of creating a working -- albeit trivial -- program with a visual component really encourages learners to delve deeper. A Python console application will come across as boring, at best.
As for your A/B testing: I believe the VB group will not really understand what it means to program, whereas the Python group -- while harder to encourage -- will have a much more solid foundation on which to build.