Question:
C# Programmer learning visual basic?
Scott
2010-02-04 18:12:55 UTC
Hi. So I am already an intermediate c# programmer, but for one of the computer courses that I am taking, I have to learn Visual Basic (.NET). I've tried requesting if we could use C#, but he said that since most of the class are still beginners at computer programming, Visual Basic would be the ideal "starting" language. I've heard that nowadays, C# developers get paid more than Visual Basic developers, but that is not what my teacher says. I'm wondering if it would be worth it to spend one semester (February to June) learning visual basic. Also, I've heard that knowing more than one programming language doesn't hurt, but is it really that true? Overall, I want to know if its a good investment of my time to learn visual basic, even though I already know c# (Does it make learning visual basic easier, etc.) P.S. The reason that I am kind of hesitant to learn VB is that I've heard that it is considered a "sissy language"- is this true? Thanks!
Four answers:
Erik Noren
2010-02-04 18:57:55 UTC
Visual Basic has a sort of bad name among mature software developers. This is a holdover from the VB4, VB5, VB6 days. VB was a RAD language and was meant for making general stuff quickly. It wasn't very efficient but it took hold with the Microsoft ASP web development crowd.



Visual Basic .NET is an evolution of the language. It kept the semantics of VB and added a lot of maturity in order to interact with the .NET framework like C# does. The .NET framework itself is just a set of libraries and classes to make developing software faster using code that has presumably been reviewed by mature developers for efficiency and stability. Think of it as a set of building blocks that you snap together with some instructions to do what you need.



Philosophically VB.NET and C# are similar but expressed differently. C# is more akin to Java in terms of language structure where VB.NET is closer to BASIC. As a result of their pasts, VB.NET actually has some "short cuts" built into the language that isn't present in C#. For instance, see the My keyword in VB.NET and note C# doesn't have this but rather the developer will have to use the standard libraries to access the same information.



In my professional experience there does seem to be a bit of standardization around C# in Enterprise environments (almost fanatically so) and a major devaluation of VB.NET. Again, I think this is more to do with the impression left over from the old COM+ days with VB Script in ASP pages. Left some bad tastes in some peoples' mouths. I see very little mature VB.NET code in any enterprise or government clients with whom I've worked.



These days VB.NET is just as efficient as C# as they are both interpreted by the CLR and utilize the same version of .NET shared classes. If you can get over the difference in how you write the code itself the two are very similar.



Variable declaration:

[C#]

CustomType myType;

[VB.NET]

Dim MyType As CustomType



Function definition:

[C#]

void DoSomething(int number)

{

Console.Write(number);

}

[VB.NET]

FUNCTION DoSomething(Int Number)

Console.Write(Number)

END FUNCTION



Also note C# is CaSe senSItive whereas VB.NET is not. VB.NET code editor in Visual Studio attempts to force every word to start with a capital letter and converts your text for you as you type.



These language shortcuts and differences lends more credence to the opinion that VB.NET is a language more suited to those with little programming background who don't know to pay attention to things like capitalization or remembering line terminations. It's more verbose and therefore supposed to be more expressive for code reviewers.



Other people take the view that VB.NET is harder to read because it is unnecessarily verbose and it's a departure from the typical mature languages like C, C++, Java, etc.



In reality the two languages are so close I don't think it counts to know both as "knowing two programming languages." Their biggest difference is just their syntax but their use of libraries is identical. If you want to gain broader skills, learn C# and Java. The syntax is similar but their approach is a bit different and will get you thinking about concepts and understanding how to approach a problem. Just be aware that Java was introduced awhile before C# and sometimes shows its age.



If you want to go for difference in language syntax to keep you on your toes, I still wouldn't pick VB.NET and C# together but instead C# and Objective-C 2.0 or Objective-C++. Objective C has a more limited usage scope since it's only (as far as I know) used for Mac OS programming. Java and even C# (via Mono) are usable on Mac, Linux and Windows.



My professional opinion is to make it through the class and learn how to use the .NET framework libraries to get things done. Then, as soon as you can, bail and head to C#. It has wide appeal, free IDEs under Windows with Visual Studio Express Editions and Linux and Mac with ... Mono Develop? From my experience it is the majority use language in contracting these days for people using Microsoft products. It provides the most bang for your buck, so to speak.
optimo
2010-02-04 18:33:04 UTC
Visual Basic is based on Basic, so it's pretty simple. Say goodbye to semicolons and curly braces. It can be object-oriented still but the format is a little different.



if a=3 then

____do this

elseif a=4 then

____do that

else

____do something else

end if



etc. It's not that bad once you get used to it. If you know this much about programming already, learning Visual Basic won't take much effort at all. It's all syntax, Watson.
jwong71091
2010-02-05 08:33:07 UTC
Visual Basic is a programming language that is easy to learn and use...if you already have a lot of progrmming experience then you should be able to learn it pretty quickly



It is somewhat versatile because you can use it for the rapid application development (RAD) of graphical user interface (GUI) applications, access to databases using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects and etc.



If you want to get a head start in learning Visual Basic then you can use Google.com to find many free tutorials, ebooks, and other information





HomeandLearn has many good tutorials for using Visual Basic, Java, Web Design and etc…they also show you how to get free software for creating these programs

http://www.homeandlearn.co.uk





These websites have tutorials for Visual Basic and other programming languages



www.functionx.com



www.programmingtutorials.com





You can go to a local library or store or an online store like Amazon.com to find many books, DVDs, and etc. for learning many things

http://www.amazon.com/s/qid=1265386589/ref=sr_st?rs=&page=1&rh=n%3A%211000%2Ci%3Astripbooks%2Cp_28%3AVisual+Basic+Express&sort=daterank





YouTube has videos for learning almost any subject or topic

http://www.youtube.com/results?search_query=Visual+Basic+Express&search_type=&aq=f





Good luck and I hope this helps!
cooltut
2013-10-18 20:39:41 UTC
Since you were talking about learning Visual Basic.NET, I recommend you the following website



http://visualbasic.w3computing.com/vb2008/


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...