This is my 400th blogpost here on Lessthandot. Normally one would tell the world about their best and worst posts and come to the conclusion that they are brilliant and having fun doing this blog thing. Alas, it will not be so this time. I thought it was time to ask some other people to do the work for me.
I sent this question a few people I know.
Dear
<firstname>
,As you may or may not know I’m an avid VB.Net fan.
I’m in the process of writing my 400th blogpost and I thought I would make it a little special and ask some special people about their experience with VB.Net. Just a few lines, why you like it or why you don’t like it. Perhaps an anecdote about it. A bad memory, a good memory. Just a few lines or just one line would make me happy. But if you don’t want to I will understand also.
I will be asking this question a few dozen people.
Thanks in advance.
I admit that this blogpost involved a lot of copy-pasting and not always the right copy-pasting either ;-).
And here are the answers I got from around the world.
- * *As a former VB6 developer, I found that my entry into the .NET world was greatly simplified by using VB.NET to help facilitate my learning process. While there are some differences between the two languages, they are not significant enough to prevent me from being able to switch back and forth between the two – particularly in instances where I have to deal with code that I myself did not generate. To me, VB.NET is easier to use from a syntax perspective and handles almost anything I have had to do. In the end, it’s how you write your code – not the language you use – that makes the application work. And for that, I’m glad that I learned to use VB.NET as sometimes it’s easier to do in that language.
Howard Churchill (@Chopstik)
- * *I’ve not really used VB.NET and the only anecdote I have was my first presentation in Spain. It was for the VS2005 launch. I’m on stage in front of 300 people doing a demo and it’s in VB.NET. At some point I insert a snippet and paste it in the wrong place, chopping the declaration of a class in half. I couldn’t figure out how to solve it. I was in front of 300 people not knowing what to do. In the end I said, “Sorry guys, VB for me is a read-only language” and had to get the PM to get up on stage and fix the code for me. It was horrendous. Of course, you had to be there :)…..
Hadi Hariri (@hhariri)
- * *I’ve gone from VB.Net to C# to VB.Net to C# again. Over time the two syntaxes have converged on a common supported set of features. I don’t have a preference, but having two widely used OO syntaxes for .Net is great for all of us, as some really cool ideas have come out of both teams and the competition to deliver has benefited all of us as end users. Besides those high level advantages, I’ve also appreciated the extra understanding of the .Net framework that having two syntaxes to work with has provided. now if only I could figure out which option I am supposed to pick the first time I start up a new version of Visual Studio (General? C#? VB.Net? Web? Argh).
Eli Weinstock-Herman (@Tarwn)
- * *Hmm I remember needing to interface with a command line encryption app in the .net 2 days, and having a hell of a time shelling out to the process from C# for whatever reason. I think in VB it was just one line and worked every time. So I wrote that piece of code in VB 🙂
I also remember giving up on vb when I wanted to learn .net, because the familiar syntax would just make me code like it was vb6
Alex Ullrich (@AlexCuse)
- * *My primary active programming language back at the time .NET was first released was VB6. So when .NET was released, it was logical that my first work in .NET would be in VB.NET. There was enough commonality between VB and VB.NET syntax that I was able to make the transition to .NET relatively easily. As an easy onramp for someone who at the time was a VB programmer, VB.NET proved an able CLR language to serve me in my learning to navigate the framework. VB.NET was like a comfortable and familiar friend that kept me company during my early journeys of learning .NET.
While its true that today I prefer to code in the usually more succinct syntax of C# (which obviously offered familiarity to me in its syntactical similarity to other languages with which I was also familiar like Java and C/C++), its also the case that VB.NET was my first .NET language and so will always hold a special place for me in my career in providing me that bridge that was oh-so-important in easing my early exploration of the CLR all those years ago.
Stephen Bohlen (@sbohlen)
- * *I first started using VB.NET after coming from Perl. The verbosity of VB.NET always annoyed me, but there were so many examples that I stuck with it. I finally gave up around .NET 1.1 and switched over to C# – the terse syntax struck a chord with me and I was able to write so much more awful code. VB.NET did make it easy for me to transition from a purely procedure way of thinking to an object-oriented way of thinking…. but that’s about it, really 🙂
Jeremiah Peschka (@peschkaj)
- * *Truth be told though, I’m not sure where I would even be as a programmer without VB.NET. Like many, I cut my teeth on VB.NET and it is fun to blame the language for all my short falls as a novice. While I am currently married to C# and rarely speak fondly of my ex, VB.NET taught me so much that it will always hold a spot in my heart… a spot filled with both delight and damnation.
Rob Sullivan (@datachomp)
- * *First, I like VB.Net because it is much closer to human language (there is actually a clone of VB6 that uses Russian keywords). You don’t have to do the background translation each time you read “virtual real”, or “dynamic static”. Believe it or not, I do believe that “IsNot Nothing” is more readable than “!=null”. “Dim” and “CType” are ugly though.
The other thing I like is that VB.Net is much more relaxed than C#. It had late binding since its first version. It’s got implicit conversions (that you might switch off if you’re a purist), case-insensitive comparison (which is more human-oriented), relaxed event handlers etc etc
What’s really ugly is lambdas. Yes they are in the VB.Net style. But lambdas are ugly enough, and polluting them with keywords makes them even worse.
I believe C# has become the inter-developer language, just like we use English to talk to each other. So, while it’s great to have posts like “how to do that in VB.Net”, whenever I want to post something language-neutral, I’m using a C# example.
Artëm Smirnov (@uluhonolulu)
- * *i’ve never really been a fan of VB.net. It has never really felt like a language I have been able to connect with. This is what made me work with C# after my exploits with PHP
Paul Stack (@stack72)
- * *I started with Basic on the commodore 64 and 128 in the 80s and that was lots of fun because I was only 16 and it was an easy language to pick up all by yourself without having to take classes.
I started with Visual Basic with VB 4 and I believe it was the 16 bit version on windows 3.1. Then I jumped to VB 5 and VB 6. I thought VB was a fun language to code in and liked it a lot. This was RAD (Rapid Application Development) at its best. You could take a form, place a grid control like True DBGrid or one of the Sheridan controls and be up and running in no time.
I also did about a year of classic ASP, you can only imagine what the source code looked like with mixed html and VB all over the place. When I look at ASP MVC it brings back memories from classic ASP to me.
Then I received the .NET 1.0 beta 5 CDs in the white sleeves. Now things changed a lot…since I was also doing Java at that time it was easier for me to pick up c# than to do VB.NET..this was also because most of the samples were in c#. The only time I was doing VB after that was when I did one of the following:
- Used VBA in an Office program like Word or Excel.
- VBScript in DTS
- VB in SSIS..but once I migrated to SQL Server 2008 I switched to c#.
- Debugging some in house Access app that someone else wrote
To me c# is less verbose than VB…I still crinch when I see WHILE..WEND, some things to me just look nicer/more elegant in c# than VB
I do think that c# people look upon VB programmers like they are some lower cast of humanity, the good thing is that the VB person only has to see two words to that…XML Literals.
Denis Gobo (@DenisGobo)
- * *It’s fair to say that since the introduction of C# and VB.net back in 1999, VB.net has been on the receiving end of a lot of ‘stick’. Personally, I like to see myself as language agnostic. Whilst I prefer to write C# code, I’m equally at home in VB.net. Granted VB.net is somewhat more verbose than C#, however the likes of CodeRush, Refactor! Pro and Resharper make it almost impossible for a developer to be any more productive in one language over the other.
Passion is what sets developers apart. Christiaan demonstrates great passion for VB.net. He demonstrates this passion through his blog. Rather than focus on dishing out ‘stick’ to C# developers, he graciously compares and contrasts the often subtle differences between VB.net and C#. There isn’t much to separate the languages at a feature level. Passionate developers should be willing and able to embrace either VB.net or C# (or any modern programming language for that matter) and be in a position to create solutions. This is particularly true in today’s economic climate if we are seeking gainful employment, we can’t afford to be “just a C# developer”. I would struggle to justify why an application should be developed in C# over VB.net. For most real-world problems, it’s just a different syntax.
Craig Murphy (@CAMURPHY)
- * *I started my programming career working with classic ASP using VB and I did so for a few years. At that point I had very little to compare my experience with the language to but I never felt that it held me back in any way or form. A few years later and along came ASP.NET. It took me a while to get started working with WebForms and the more work I did the more pain I experienced. I think I didn’t recognize that it was WebForms that was the root of all my agony and pain so when a friend of mine introduced me to C# I jumped ship hoping it would solve all my problems. However, the agony remained. These days I’ve left the WebForms world for good and my life is looking brighter with every day that passes. So while my current relationship with VB.NET is next to none I’m thinking I might need to open up my heart once more and give it another go. Regardless of what I might find I’m really glad there’s people like you that can shine a light on my path if I ever were to get lost in the scary forests of VB.NET.
Kristoffer Ahl (@kristofferahl)
- * *Well I started with VB6 to learn programming and moved to .NET back before they put years in the Visual Studio title. It is very easy to learn, but once I learned C# I found it a bit too verbose. I mainly switched to C# for the, then exclusive, language features. Even though I wouldn’t voluntarily switch back to VB I look at it fondly through my pair of nostalgic glasses.
Jonas Van der Aa (@jonasvdaa)
- * *My degree is “IT – Programmer/Analyst”. I had to take a few VB .Net classes in school. I now have a shirt that says “Visual Basic Black Belt”, for completing all of them. I’ve always found VB .Net to be an easy-to-understand, full-featured language.
Jes Borland (@grrl_geek)
- * *I started in VB3 and when VB.NET come out it felt natural. Although I have since drifted towards languages with more curly braces and semicolons, I’ll always have a soft spot for VB AndAlso VB.NET.
Scott Hanselman (@shanselman)
- * *I started using VB6 approximately 15 years ago. Truth be told, I’m still upset that Microsoft has not provided a seamless migration path for VB6 source code. I’ve dabbled in VB.net a little over the years, but it’s difficult for me to consider migrating my million+ lines of code from VB6.
George Mastros (@gmmastros)
- * *I thought about it and I think…VB.NET is a love hate relationship in my views and experiences. Many years ago, as you know I was a developer for a long time, VB.NET allowed me the ability to understand programming in general from an OOP perspective. Now the hate part in the relationship was the fact that is so easily allowed the horrid habits of the VB6 era into it. I think we see on the same lines that VB.NET should have been, or in reality is, its own language. It should not have carried over the lazy nuances of VB6 that promoted bad code writing. If VB6 was retired as a generation of code and VB.NET took a name that was more meaningful to what it was, it would have left a better taste in the mouths of the better developers out there while possibly forcing the ones that needed some bumps into the right direction, the energy to learn. So in short, VB.NET promoted how to write code in the new age for me while allowing me the ability to learn languages like C# that gave me areas to adapt my developer knowledge to be more efficient in shops that use either or.
Ted Kreuger (@onpnt)
- * *Sorry to disappoint you, but I don’t use VB.Net, and actually never used it.
I come from C, javascript and Java, but had to use ASP Classic and VB6 at work.
When .NET came out with C# I was so relieved I could use semi-columns (;) and curly brackets {} also at work that I didn’t even look into trying VB.Net. And never felt the need after.
Simone Chiaretta (@simonech)
- * *I started off first using VB in 1997 with VB3 and then worked my way up through VB6, on to VB.NET and then to C# in around 2002 where I’ve pretty much stayed since. Back in the day I was a hardcore VB programmer with Bruce Mckinney and Rocky Lohtka’s books as my Bible. As far as VB.NET, I would say there are some features I really love like the XML intellisense, the way the compiler comprehensively evaluates errors the first time around. There are other features that I am less fond of like for example CType and the lambda syntax both of which I find very verbose. Granted I am biased based on working in C# which is by its nature less verbose. Some people consider that a blessing while others a curse. The beauty of .NET is you get to choose the language that fits you best.
Glenn Block (@gblock)
- * *I programmed in old VB6 which was IMO horrible to program in.
That dislike transfered into me learning C# and not really caring about improvements in VB.Net.
I disliked VB6 for two simple reasons:
its syntax which was way to bloated, its barely existant error checking,
its lack of classes if i remember correctly, its Option Strict OFF,…
Wait.. that’s more than two reasons… oh well…
Other than that it’s just another programming language. 🙂
Mladen Prajdic (@MladenPrajdic)
As you can see, I did not ask VB.Net fanboys alone. The developers world is so much better because of all these differing opinions. Innovations happen when people do not agree and are allowed to find their own path.
And my first love might be VB.Net, all though she knows she has to share the love with many mistresses. Knowing one language well is an asset but it should not mean you shouldn’t broaden your horizon.
I respect the opinions of all these people. And I respect yours. So leave a comment if you want.