Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Content Obsolete

This content is no longer current. We recommend you try the following url for more up to date content: http://channel9.msdn.com/Series/Visual-Basic-Fundamentals-for-Absolute-Beginners

Visual Basic Fundamentals Important Update!

3 minutes, 36 seconds


Right click “Save as…”

Since the launch of this series Microsoft has released Windows 8 along with new editions of Visual Studio. In this short update video, Bob Tabor explains which versions of Visual Studio 2012 Express you should download and explains the difference between Visual Studio for Windows 8 and Visual Studio for Desktop.

Download Visual Studio 2012 Express for Windows Desktop


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • LocutusLocutus

    I noticed your screen got blurry. This happened with me, you will need to disable a setting in nVidia's control panel. If you don't have that, then I don't know what the problem is. If you do, the problem is the setting called Antialiasing- FXAA.

  • Golnazgolnazal HEY HEY HEY

    @Locutus: This is a result of smooth streaming. Which I have just removed form this video file. it shouldn't be blurry anymore.

  • AlexDAlexD

    Hey, I just finished your videos and I have one question. My friend uses VB6 IDE for coding, is there anywhere I can either download this or covert .vbp files to .vbproj , so i can look at some of his code?

  • @AlexD: Hmm... I'm sure that's possible.  **SO MUCH** has changed between VB6 and VB.NET 10 that I'm not even sure what hurdles you'll run into.  There's a few discussions about it in the links on this discussion:


    Good luck!

  • What's the big thing, the "Significant new feature" mentioned at about 1:05?

    Fantastic Videos by the way.  Really wonderful.

  • @STLShawn: Async  ... see this:


    Thanks!  Hope you enjoy the rest!

  • Thanks Bob on your VB and C# series! Along with these Channel 9 video series, there is a great deal of learning content at http://www.learnvisualstudio.net/, that's why I'm a member. Keep it the great work!

  • tamtam

    I am SOOO new to all of this. How does visual basic differ from visual studio? Does one need to learn visual basic before learning visual studio?

    Thanks so much!

  • amnon fridmanamnon fridman


  • @tam: That's a great question.  Visual Basic is a programming language.  Visual Studio is a software tool.  You use Visual Studio to write Visual Basic.  There's a third component ... the .NET Framework.  I explain all of these ideas in this series.  Just work your way through the series and I'm betting you'll be well on your way to writing applications by the end.  Good luck!

  • DeanDean

    Can programs written in Visual Studio 2012 be run on earlier operating systems?

    For example, the company I work for still is using Windows Server 2003.

  • Greg Duncangduncan411 It's amazing what a professional photographer can do...

    @Dean: Yes. In this case, it's not the IDE (the version of Visual Studio) but the .Net Framework version that will be important for you.

    VS2012 let's you write .Net 4.0 targeted applications, which will work fine on Win Server 2003. Matter of fact, VS 2012 lets you go all the way back to .Net 2.0...

  • DeanDean


  • DeanDean

    Hmmmm...getting an error trying to install VS2012, apparently because of the .Net 4.5?

  • @Dean: What is the error?  Have you used a search engine to find the error message and the cause of it?

  • DeanDean

    This occurs when it is applying .Net Framework 4.5.

    Setup Failed!
    Install cannot continue because some required components failed.

    X Microsoft .NET Framework 4.5

    ! Microsoft Visual Studio 2012 Pre-Clean Tool
    %1 is not a valid Win32 application

    ! Microsoft Visual Studio Express 2012 for Windows Desktop
    User cancelled installation.

    Using Google Fu right now to see if I can see why, but I suspect it's having an issue with Windows Server 2003.

  • DeanDean

    From my research it seems to me that while I can write programs for Windows Server 2003 with Visual Studio 2012, I can't actually _run_ Visual Studio 2012 on Windows Server 2003, due to lack of support for that OS in .NET Framework 4.5.

  • @Dean: Bummer.  You wouldn't happen to have another computer to try this on?  But kudos to you on the detective work!

  • @Dean: Yeah, I guess you have to check the "fine print":


    System Requirements

    Supported operating systems

    • Windows 7 SP1 (x86 and x64)
    • Windows 8 (x86 and x64)
    • Windows Server 2008 R2 SP1 (x64)
    • Windows Server 2012 (x64)
  • rajraj

    bob sir
    ur lectures are best.
    how will i get windows form application lecture?

  • @raj: Unfortunately, we never created that series.  If that's something you would like, use the Feedback link in the footer of this page to request it ... the Feedback is actively monitored by Microsoft "powers that be".  This thread is not.  Thanks!

  • Kidali  KevinKidali Kevin

    Hello good sir, am a new beginner in programming, trying to work things out with visual studio 2010. after going through some few tutorials, I found myself sometimes bored and yet am in love with programming and I am looking forward to be a good one in programming. what are some of the things I need to bare in mind and how long will it take me to be an excellent programmer.

  • @Kidali Kevin: 1) Bear in mind that this is a lifelong pursuit ... when you feel like you are "good" at something, it's probably because you're not pushing yourself hard enough, and 2) I don't know how long it will take to be excellent ... I've been working on this for 20 years and I'm still not "excellent".  HOWEVER, that doesn't mean you shouldn't try nor does it mean you should be discouraged.  It just means that there's always something new to learn and that makes it far from boring.  Smiley

  • Clint RutkasClint I'm a "developer"

    @Kidali Kevin: programming is a learned skill.  I look at stuff I did years ago (or last week) and think "what was I thinking!".  Find a fun project that YOU want to build.  This way you learn by doing something you want to actually finish!

  • ColleenNerdyWoman TY for the song, Roy Orbison!

    While a full-time college student this past year, I took advantage of Microsoft's Dreamspark.com website and d/l'd Visual Studio Pro 2012. I've been working through Michael Halvorson's Start Here! book for VB but looking at other books, I'm seeing a difference.... He's using XAML throughout the book vs. WPF to define objects in the UI. When it comes to developing apps for Windows 8, RT, Phone, and Desktop, is there a significant difference? Does WPF work on all these platforms? Does XAML?

    As an absolute beginner/zombie, I stumbled upon your HTML5/CSS series for Channel 9, then found the VB series. I'm jazzed and have my 2nd monitor all set to go, but need to know if I'm going to be cursing over the WPF thing.

  • @NerdyWoman: Hi!  So, the challenge with being new to a topic is (a ) all the terminology and (b ) the nuanced differences between the terms.  Think of XAML as a language, much like C# or Visual Basic ... just a language, by itself, has rules, semantics, etc.  In fact, while XAML is most often used to define user interfaces, that's not its only usage.  Just happens to be the most popular.

    WPF, WinRT, etc. are Application Programming Interfaces (API) that provide features (implemented as classes with methods and properties developed by Microsoft) to draw stuff on a screen, animate things, etc.  As I point out in my Absolute Beginners series on Windows Store Apps (albeit, for C#, but this will apply no matter what), you can use XAML or C# or Visual Basic to create instances of those objects in the WPF API or WinRT API or whatever (Phone, Silverlight, etc.)  XAML's declarative nature (looks like HTML) provides a shorthand syntax ... you can express more with fewer keystrokes than using C# or VB to do the same sorts of things.  However, XAML doesn't have logic features (i.e., no if / else statements) ... but it's really good at creating instances of classes and initializing their property values.

    Again, I realize this is nuanced difference between XAML and WPF (or name your API) but it's an important distinction.

    Now, the beauty of XAML is that if you learn how to use it to create WPF apps (learning how to create instances of WPF classes, set attributes, etc.), you'll almost instantly know how to use it to do the exact same sorts of things in WinRT, Phone, Silverlight, etc. with some small variations.  The smart people at Microsoft realize that in order to keep the learning curve low and increase adoption, they can re-use languages and names of things you're already familiar with in one API when they introduce a new one.  All of the down-and-dirty details that make each API do different stuff under the hood is abstracted away for you and I, the consumers of the languages and APIs.  The benefit to us is that we learn it once, we can apply 95% of our knowledge to the next idea / technology / gadget / API / whathaveyou.  I suspect someday in 20 years when we can create apps to control drones or robots to vacuum our floors, we'll still be using C# and XAML to build those apps.  Smiley  (That's speculation, obviously.  I have no idea whether Microsoft is working on robots right now.  I hope they are!!!)

    Hope that helps a little?

    Watch the XAML video in the recent Phone series I just created ... I elaborate on these ideas:


    Good luck!  Stay nerdy!  Smiley

  • ColleenNerdyWoman TY for the song, Roy Orbison!

    I just finished the video you suggested. I'd already figured I was on the bleeding edge with XAML and haven't had any problem understanding it's purpose and limitations (the lessons I've been working through use a xaml.vb code page, but the principal is the same as with C#). I worked on a digital typesetting system (complete with 8" floppies) back in the 80s, then moved on to WordPerfect, both requiring container tags/elements. I used to teach beginning HTML (when 3.0 were still in discussion), so I see the similarities there, too.

    I understand that XAML is used to define the elements on the page, but it doesn't actually instruct the elements to act or respond to user actions in any way... that's what the code page is for. Being a newbie at this, I'm still not sure I understand about APIs. Does WPF (as an API) enable some procedures/events to be written on the main page vs. a code behind page? The answer would probably be obvious if I walked through some lessons using WPF instead of XAML, but I fear confusing myself more at the moment.

    I do have to tell you, you are my hero today, Bob! I've glanced at some other training videos that left me comatose instead of spellbound. I'm looking forward to diving in here (well, maybe over at Microsoft Virtual Academy where I can rack up XP for completing lessons) and encouraging my 16-yr-old gamer daughter to do the same. She thinks she wants to get into programming, but the zombie look after a few Visual Basic lessons... I'm going to start her on your HTML5/CSS series. Wink Thank you so much for the speedy and thorough feedback!

  • @NerdyWoman: Yep, I loved WordPerfect's tag system back in 1989-1992-ish (painful to say that) and it did help the mental transition into HTML.

    , NerdyWoman wrote

    I understand that XAML is used to define the elements on the page

    ... I'll be nit picky for a moment in order to reinforce this important concept: XAML doesn't inherently have anything to do with with defining elements on the page.  However, when used with an API for building user interfaces like WPF, it can be used to create instances of classes defined in the given API and set their initial properties.  Again, just want to make sure we've got that nuanced idea cemented.

    NerdyWoman wrote

    ... but it doesn't actually instruct the elements to act or respond to user actions in any way... that's what the code page is for.

    Correct, XAML can only create instances of classes and set initial properties.  If you need more logic to control the given user interface API or respond to events that are triggered by the user or the system (page load, button click, timer, etc.) then you will use imperative C# or VB code in the "code behind" that is associated with the declarative XAML code file.  How are the two associated?  The "main page" file that you see in the visual designer and the "code behind" file are two parts of a whole ... they are both partial classes and will be turned into Intermediate Language (IL) by the compiler ... the two files of code combine together to define a new class that derives from the Page class.

    NerdyWoman wrote

     Being a newbie at this, I'm still not sure I understand about APIs. Does WPF (as an API) enable some procedures/events to be written on the main page vs. a code behind page?

    Good question!  API == Application Programming Interface.  It's a fancy term used for years and not specific to .NET.  Simply put ... an API is a collection of classes with properties, methods and events that someone (in this case, at Microsoft) creates with the intent that it will be used by other developers.  You could also call an API a Library, like the .NET Framework Class Library, an important component to every .NET application.  Just a library of functionality you can borrow from.

    APIs hide complexity thereby making it useful to other developers.  All of the down-n-dirty implementation details are hidden behind a public "interface" ... in this case the term "interface" consists of some classes, some properties, some methods, etc. that are made public (so that other developers reference and use them in their code).  Meanwhile deep down inside the code of the API some classes, properties and methods are made private (because they do important stuff that the original developers don't want anyone fiddling with).  This is the notion of Encapsulation in Object Oriented Programming.

    API's usually encapsulate important work that is common to everyone, not just to your specific "problem domain" (business need).  However, suppose you work at an accounting firm and want to create an API that handles tax calculations for all states.  That would be a good re-usable component that could be documented and utilized by other developers in your organization.  That's a great example of an API ... albeit, one that you probably don't want to share with the world because it is specific to just the developers in your organization.  Still, it's "standardized", documented and hopefully other developers can learn how to utilize it within their apps.

    In .NET, there are APIs for everything ... data access (ex. ADO.NET API), web development (ex. ASP.NET Web Forms API), web services (ex. Windows Communication Foundation, the WCF API) ... IN FACT there are MULTIPLE API's created by Microsoft to do the same basic job ... as you can see, the Windows Presentation Foundation (WPF) API is one way to create a Windows application ... there's also the Windows Forms API, Windows Store API / WinRT API, Windows Phone API, etc.  Competing APIs are created to give developers options on how to approach a problem, which technologies can be used.  They are split up into their own APIs to reduce complexity and application size.

    Some APIs have "sub API's" ... for example, the ADO.NET API has a popular sub-API called the Entity Framework API.  Inside of *that* API, there's other sub-API's ... LINQ to Entities, the DbContext API, the Change Tracking API, the Validation API ... again, these are conceptually different aspects of a larger set of functionality.  They may even be deployed in the same physical .DLL file (more about that later) but can be referenced conceptually as a distinct set of classes, methods and properties used to accomplish some sub-feature of a larger feature set.  Simply put, a sub-API is just a way to talk about a sliver of the overall functionality ... it's just a label that describes a conceptual boundary around some classes so you can isolate and talk about those since they were intended to work together.

    API's rarely have user interfaces themselves.  They are just literally libraries of code that can be leveraged by other developers.  They may be used to CREATE user interfaces, but you couldn't just run an API on it's own ... there would be nothing to see.  It needs YOUR CODE to drive it to do something meaningful like "print a form to screen" or "print a button to screen" or "respond to a click event" or whatever.

    In the .NET world, API's are usually packaged into one or more assemblies.  An API is the more conceptual way to refer to a a .dll Assembly file.  You add a reference to a .dll / Assembly in your Visual Studio Project as a means of accessing the API.  All .NET applications reference the core .NET Framework Class Library, and some Project templates add references to other .dll Assemblies depending on the type of application you're creating.  This is a shortcut made simply by choosing 

    API's also are versioned and there are important rules around how to properly version them so you don't remove or change functionality in one version of the API that developers depend on in their applications.  The words "breaking changes" are considered an anathema.

    I think I've literally told you everything I know about the term "API" ... except to answer the last bit of your question:

    Does WPF (as an API) enable some procedures/events to be written on the main page vs. a code behind page?

    Well, no ... not exactly.  I mean, XAML is really just used to create instances of classes in a given API and then initialize the properties of that new instance.  It can WIRE UP an action to an EVENT HANDLER in the code behind, sort of like:

    <x:Button ... onclick="myButton_Click" />

    ... it can't actually handle the event when it happens.  It must defer to the imperative C# or VB code in the code behind file since it can be used to write logic to define what happens next.  So, it's not a limitation or restriction of the given API per se, it's more a matter of what each language is equipped to do.  Like the video I referenced, you COULD create an entire WPF app exclusively in VB or C#, HOWEVER it would become laborious.  You don't NEED XAML.  XAML is merely a short-hand, a short-cut both mentally for those of us who think of layout in terms of tags, and in terms of the actual number of characters you need to type to achieve similar results (i.e., creating a new instance of a Page class, adding to that class an instance of the Grid class and setting all its properties, then adding as children to the Grid class instance new instances of buttons, stack panels, etc.)  That would take FOREVER and you wouldn't be able to see the results in a friendly designer at Design Time.  You would have to F5 Start Debugging the application to see each little change you wanted to make.  So, XAML, as used for layout against the WPF API or what have you, is merely a convenience.  Not a requirement.

    Hope that helps?

  • ColleenNerdyWoman TY for the song, Roy Orbison!

    I am so glad that Channel 9 adds comments to profiles. I'll be referring back to your reply! Thank you so much for the details!

    One last question? Have you ever seen a "family tree" for programming? Something that visually depicts the hierarchy/relationships between libraries, frameworks, classes, etc.? I'm still trying to wrap my head around the terminology.

  • @NerdyWoman:

    , NerdyWoman wrote

    Have you ever seen a "family tree" for programming? Something that visually depicts the hierarchy/relationships between libraries, frameworks, classes, etc.?


    Is this what you want?


  • Bob

    I just watch your second lesson which you created  the Hello World executable with the command line and the net framework. I thought it was very intuitive. The problem I have a computer with Windows 8 and Visual Studio 2012 that I just got. I had a computer with XP before. And with this new system I can find the windows command line to try it out. Does Windows 8 still have one?

    Old ManMike

  • Clint RutkasClint I'm a "developer"
    @OldManMike: on the start screen type, just start typing "command" and it should pop up as an option or in the run prompt, (windows key + r) type cmd
  • Thanks found it and got the exercise to work

  • Hi. Thanks for your answer. And I am not that fortunate as I am getting the access for only a few months...Smiley

  • Hi. I am completely new to all this. But I am very eager to learn VB. I am having with me Visual Studio Ultimate 2013 and Windows 8.1. Could you pls tell me if I can learn from your video series with the Ultimate 2013 that I am having?

  • In case your answer is no...pls tell which version I should download and from where?

  • @sougata12: Wow, you are very fortunate.  I can't afford a legal / legitimate copy of the Ultimate edition.  To your question ... You certainly can follow along with that version and edition.  Good luck.

  • Hi. Thanks for the answer. And I am not really that fortunate as I will be having it only for few months..

  • Bob sir:Why C# series have subtitles optional? Visual Basic series lack this feature? Later will launch the subtitle function? Look forward to!

  • @lostCrab: Sorry I don't work for Microsoft / Channel9 ... I just authored the series.  I wasn't even aware they did subtitles.  You should use the Feedback link at the bottom to ask.  Good luck!

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.