Lately, I've dived into VB.net as my current job is using that language for the internal software we are developing. My old VB6.0 from 10 years ago just got useful again in my toolbox knowledge.
Basically, all major projects I've worked on were using Java or C#. Both are elegant and pretty object oriented. That' what I like: semi-columns and curly brackets... This is where the talk started between my colleague and I as he has more experiences with VB.Net than any other language.
It all started with a simple question: why does VB.Net is seen as a "cheap-for-beginner" language? As I can remember, it all started with VB 6.0 that was quite limited at the time compared to C++ or Java. Many times I had to figure out a work-around in VB 6.0 to accomplish some more advanced tasks that could be easily done in other languages. Should I say threads?
Anyway, time passed and VB 6.0 evolved into VB.Net as Microsoft established .Net as the main developpement framework for Windows. Ten years ago, we wanted to evolve technically and moved into some more serious stuff like C#, Java and C++. Silly rabbit, VB is for kids!
My colleague was a bit surprised as, being (cough cough) younger than me, he learned VB.Net at school and almost never heard of Visual Basic 6.0... He mentioned that over his young career, he always faced the silent stare of others when saying that he has much experience with VB.Net...
Is VB.Net really for kids? I've been resurrecting my old knowledges of that language back to life in the last few weeks combined with my skills in C# to master the beast. Beside a few "bad" habits of putting a semi-column at then end of each line, I've discovered how good VB.net has become. It may not be my preferred language, but it's as powerful as C# or Java if you know how to handle it.
Maybe it's time for old-timers to stop thinking that Visual Basic is not good enough and embrace a different approach of the language paradigm. You'll get a few surprises like not triggering an exception when executing a division by zero (try it, you'll see...) but threading and delegates are definitely there.
No, it's not just for kid, silly rabbit!