<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Time to retire VB.NET</title>
	<atom:link href="http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Sun, 19 May 2013 03:22:18 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: VB Must Die</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-5425</link>
		<dc:creator>VB Must Die</dc:creator>
		<pubDate>Wed, 09 Jan 2013 13:08:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-5425</guid>
		<description>VB programmers are mostly casual programmers, they learned to code with &quot;VB for dummies&quot; and they haven&#039;t any real IT education. They can only code in VB, they don&#039;t know any other language and when they try to code in another language they code like in VB, they don&#039;t event understand xml and html.
We had to convert some VB web applications to C# and what we have seen in those applications was horror code, we laughed at it and we cried because we had to rewrite the whole code! Any student at the first year of any informatics school can code better than them.</description>
		<content:encoded><![CDATA[<p>VB programmers are mostly casual programmers, they learned to code with &#8220;VB for dummies&#8221; and they haven&#8217;t any real IT education. They can only code in VB, they don&#8217;t know any other language and when they try to code in another language they code like in VB, they don&#8217;t event understand xml and html.<br />
We had to convert some VB web applications to C# and what we have seen in those applications was horror code, we laughed at it and we cried because we had to rewrite the whole code! Any student at the first year of any informatics school can code better than them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hannes</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-5078</link>
		<dc:creator>Hannes</dc:creator>
		<pubDate>Sat, 22 Sep 2012 10:50:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-5078</guid>
		<description>you are right, I prefer VB.NET but can read and write also C#. I dont think there are really much resources in game. The new waste is JavaScript vs C#. Samples, Docs, Sessions all done with JS</description>
		<content:encoded><![CDATA[<p>you are right, I prefer VB.NET but can read and write also C#. I dont think there are really much resources in game. The new waste is JavaScript vs C#. Samples, Docs, Sessions all done with JS</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guest</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-4661</link>
		<dc:creator>Guest</dc:creator>
		<pubDate>Wed, 04 Jul 2012 21:20:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-4661</guid>
		<description>God Damn i love bashing on VB</description>
		<content:encoded><![CDATA[<p>God Damn i love bashing on VB</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-4656</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Thu, 28 Jun 2012 23:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-4656</guid>
		<description>Microsoft would lose a lot of business if they stopped supporting VB.NET.  There are a lot of pseudo-coders out there who will not or cannot learn another language, and nixing the product would mean nixing a lot of visual studio licensing revenue.

In theory, I say to hell with VB.NET.  I grew up with it, after VB6, but after learning the other .NET languages, I simply don&#039;t see any practical reason to use it.  It&#039;s harder to write, harder to read, and it allows far too many errors to slip through the cracks.  But in practice, it&#039;s easy to see why phasing it out isn&#039;t really a practical option for Microsoft.

As for the eternal VB.NET vs C# argument... well, let&#039;s just say that there&#039;s something to be said for readability.


private ObservableCollection _values = new ObservableCollection();
private ReadOnlyObservableCollection _wrappedValues;
public Foo()
{
    _wrappedValues = new ReadOnlyObservableCollection(_values);
}

vs

Private _values as new ObservableCollection(Of String)
Private _wrappedValues as new ReadOnlyObservableCollection(Of String)(_values)

The VB.NET version instantiates _wrappedValues spaghetti style, in a way that is not blatantly obvious to anyone glancing at the class.  It is essentially an invisible GOTO statement, in a magically invisible constructor, which references class variables that may or may not be changed later on.  That means that, come debugging time, you have absolutely no choice but to look through each and every variable declaration to see if pulling execution away from -the actual constructor(s)-.

In the C# version, if you want to know what happens to an instance variable, you follow the flow of code.  I.e. you&#039;re not chasing phantom GOTO statements, to say nothing of VB.NET&#039;s piss-poor type safety.

That brings me to my next point... the easy to learn argument.  No, VB.NET is not easy to learn.  It&#039;s easy to muddle through, leaving in its wake programmers who think they know what they are doing, when really all they know how to do is write code that doesn&#039;t cause compiler errors.  In VB, that doesn&#039;t say much, because VB will usually compile no matter how crappy and/or disorganized your program is.  VB -is- more approachable, because it uses a lot more words and doesn&#039;t throw a fit when you introduce bugs.

This is coming from a 6-year VB6 developer who resisted the change to .NET, and then resisted the trend toward C# for another 2-3 years.  After learning C# and F#, I&#039;ll never look back.  I cringe every time I have to work with BASIC in any form.  But I was in your camp for a long, long time, Jonathan.</description>
		<content:encoded><![CDATA[<p>Microsoft would lose a lot of business if they stopped supporting VB.NET.  There are a lot of pseudo-coders out there who will not or cannot learn another language, and nixing the product would mean nixing a lot of visual studio licensing revenue.</p>
<p>In theory, I say to hell with VB.NET.  I grew up with it, after VB6, but after learning the other .NET languages, I simply don&#8217;t see any practical reason to use it.  It&#8217;s harder to write, harder to read, and it allows far too many errors to slip through the cracks.  But in practice, it&#8217;s easy to see why phasing it out isn&#8217;t really a practical option for Microsoft.</p>
<p>As for the eternal VB.NET vs C# argument&#8230; well, let&#8217;s just say that there&#8217;s something to be said for readability.</p>
<p>private ObservableCollection _values = new ObservableCollection();<br />
private ReadOnlyObservableCollection _wrappedValues;<br />
public Foo()<br />
{<br />
    _wrappedValues = new ReadOnlyObservableCollection(_values);<br />
}</p>
<p>vs</p>
<p>Private _values as new ObservableCollection(Of String)<br />
Private _wrappedValues as new ReadOnlyObservableCollection(Of String)(_values)</p>
<p>The VB.NET version instantiates _wrappedValues spaghetti style, in a way that is not blatantly obvious to anyone glancing at the class.  It is essentially an invisible GOTO statement, in a magically invisible constructor, which references class variables that may or may not be changed later on.  That means that, come debugging time, you have absolutely no choice but to look through each and every variable declaration to see if pulling execution away from -the actual constructor(s)-.</p>
<p>In the C# version, if you want to know what happens to an instance variable, you follow the flow of code.  I.e. you&#8217;re not chasing phantom GOTO statements, to say nothing of VB.NET&#8217;s piss-poor type safety.</p>
<p>That brings me to my next point&#8230; the easy to learn argument.  No, VB.NET is not easy to learn.  It&#8217;s easy to muddle through, leaving in its wake programmers who think they know what they are doing, when really all they know how to do is write code that doesn&#8217;t cause compiler errors.  In VB, that doesn&#8217;t say much, because VB will usually compile no matter how crappy and/or disorganized your program is.  VB -is- more approachable, because it uses a lot more words and doesn&#8217;t throw a fit when you introduce bugs.</p>
<p>This is coming from a 6-year VB6 developer who resisted the change to .NET, and then resisted the trend toward C# for another 2-3 years.  After learning C# and F#, I&#8217;ll never look back.  I cringe every time I have to work with BASIC in any form.  But I was in your camp for a long, long time, Jonathan.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guest</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-4025</link>
		<dc:creator>Guest</dc:creator>
		<pubDate>Mon, 17 Oct 2011 20:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-4025</guid>
		<description>Not any more</description>
		<content:encoded><![CDATA[<p>Not any more</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3746</link>
		<dc:creator>James</dc:creator>
		<pubDate>Mon, 15 Aug 2011 15:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3746</guid>
		<description>The alternative is to kill of C# and all the &#039;holier than thou&#039; programmers</description>
		<content:encoded><![CDATA[<p>The alternative is to kill of C# and all the &#8216;holier than thou&#8217; programmers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3643</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 01 Aug 2011 13:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3643</guid>
		<description>It&#039;s not that one is better than the other, it&#039;s just that it seems to be a tremendous waste of resources. I don&#039;t doubt that VB is a money maker, which is why it&#039;s still around.

VB.NET doesn&#039;t affect me, other than the opportunity cost at MS for feature parity with the languages. Of the languages you listed, only C# and VB.NET are alike. The others are radically different. Why invest so much in two languages that are so similar? What a waste.</description>
		<content:encoded><![CDATA[<p>It&#8217;s not that one is better than the other, it&#8217;s just that it seems to be a tremendous waste of resources. I don&#8217;t doubt that VB is a money maker, which is why it&#8217;s still around.</p>
<p>VB.NET doesn&#8217;t affect me, other than the opportunity cost at MS for feature parity with the languages. Of the languages you listed, only C# and VB.NET are alike. The others are radically different. Why invest so much in two languages that are so similar? What a waste.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cgcarter11</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3642</link>
		<dc:creator>Cgcarter11</dc:creator>
		<pubDate>Mon, 01 Aug 2011 12:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3642</guid>
		<description>Did you seriously waste the time to write this article?  Considering the CLI converts both languages into CLR without limitations, this entire argument is null and void (one being better than the other).  I do develop in C# but what I don&#039;t understand is those who only develop in C# has some sort vendetta against VB.  My question is WHO CARES?! Do you honestly think if Microsoft wasn&#039;t making money on VB that they would continue to support/develop the product?  At some level, they are turning a buck.  
Quite honestly, being in this game for the last 12 years anyone who I have come across suggesting one is better than the other is looked upon as ignorant (as a developer) and ameturish.  A true developer can do it in C#, VB, F#, Javascript... just to name a few and do not limit their resources available to them simply on a perception of jealousy.</description>
		<content:encoded><![CDATA[<p>Did you seriously waste the time to write this article?  Considering the CLI converts both languages into CLR without limitations, this entire argument is null and void (one being better than the other).  I do develop in C# but what I don&#8217;t understand is those who only develop in C# has some sort vendetta against VB.  My question is WHO CARES?! Do you honestly think if Microsoft wasn&#8217;t making money on VB that they would continue to support/develop the product?  At some level, they are turning a buck. <br />
Quite honestly, being in this game for the last 12 years anyone who I have come across suggesting one is better than the other is looked upon as ignorant (as a developer) and ameturish.  A true developer can do it in C#, VB, F#, Javascript&#8230; just to name a few and do not limit their resources available to them simply on a perception of jealousy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tien Do</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3441</link>
		<dc:creator>Tien Do</dc:creator>
		<pubDate>Thu, 26 May 2011 16:14:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3441</guid>
		<description>Yes, VB.NET must die. I don&#039;t bother to say about my reason :)</description>
		<content:encoded><![CDATA[<p>Yes, VB.NET must die. I don&#8217;t bother to say about my reason <img src='http://lostechies.com/jimmybogard/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3391</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Fri, 13 May 2011 01:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/04/time-to-retire-vb-net/#comment-3391</guid>
		<description>Option Strict Off = late binding. It means that I cannot change types, only that it&#039;s not evaluated until runtime.

And it results in pretty crappy performance.</description>
		<content:encoded><![CDATA[<p>Option Strict Off = late binding. It means that I cannot change types, only that it&#8217;s not evaluated until runtime.</p>
<p>And it results in pretty crappy performance.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
