Happy 50th Birthday, BASIC!

Happy 50th Birthday, BASIC!

Rate This
  • Comments 35

UPDATE: QuickVB is now open source!

The Visual Basic team joins Dartmouth and developers worldwide whose lives have been touched by this amazing language in wishing Dartmouth BASIC (and indeed the whole BASIC family of languages) a very happy 50th birthday (and many more) today!

So many of us here on the Managed Languages team got our start with one dialect of BASIC or another we couldn’t help but put together something to show our nostalgia and affection for our roots. In homage to grandpa BASIC’s 50th we give you: QuickVB.

QuickVB is powered by the .NET Compiler Platform ("Roslyn") NuGet packages that were previewed at BUILD this year. To get started, download the source from CodePlex into a solution folder and then build and run it from Visual Studio 2013. You don’t need any Roslyn Previews installed, as NuGet package restore should pull down the required packages upon build.

When you start QuickVB, you’ll see an environment that looks quite a bit like QuickBasic:

However, this is actually a Windows console application powered by Roslyn. To light up Roslyn colorization, hit Alt-O to go to the Options menu, and hit R to “Enable Roslyn”:

Because QuickVB uses Roslyn’s semantic Classification API, it can colorize VB’s contextual keywords correctly, even in a pretty gnarly query:

And QuickVB also uses the Roslyn Recommendations API to build symbol completion lists for your cursor location as you type:

Hit F5 to run the code you’ve written:

QuickVB even shows compiler diagnostics if we leave off the Imports statement that pulls in LINQ’s Where operator:

There’s a few other surprises, but we’ll let you explore those on your own! (as a hint, the VB compiler in Roslyn is self-hosted (it’s written mostly in VB!), and QuickVB is no different. Try the “Open Self” menu item on the File menu to load up QuickVB inside of itself, and then try modifying it and running it again!)

Have fun!

Anthony, Alex, and Ian on behalf of the Managed Languages (VB, C#, F#) Team

Leave a Comment
  • Please add 2 and 2 and type the answer here:
  • Post
  • Can you put it on GitHub?

  • Good timing :)

    We just published the QuickVB sample as a proper open-source project on CodePlex (http://quickvb.codeplex.com).  We'll be adding features to it there to show off fun things you can do with the Roslyn APIs.

  • Well done! Reminds me of my school period.

  • Yes, happy birthday, Basic!

    Had my first experience with that in 1970.

  • I'm trying Visual Studio 2012 (.NET 4.5) and it doesn't compile, I get 94 errors and 12 warnings, I think it all starts with this warning:

    Warning 1 The primary reference "Microsoft.CodeAnalysis.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework. QuickVB

    Any ideas?

  • "...developers worldwide whose lives have been touched by this amazing language..."

    "...a very happy 50th birthday (and many more)..."

    And yet Microsoft won't even reply to the call for an updated Visual Basic 6 on the Visual Studio UserVoice site. This is now the fifth most popular vote (out of over 8,000) on that site, but Microsoft won't even do us the courtesy of saying 'Yes' or 'No'.

    Satya Nadella said at Build 2014 "It's crazy to abandon what you built and crazy to not let what you build work on other platforms". And yet Microsoft's advice is still 'migrate your VB6 code to VB.Net'. Don't you listen to what your boss tells you  ?

    Vote for an updated VB6 programming language at:

    visualstudio.uservoice.com/.../3440221-bring-back-classic-visual-basic-an-improved-versi

  • You wake up too late to make a page to celebrate Basic. Even TIME did this! Bring back Visual Basic 6.0 to continue the line of this great language.

  • It would be great to be able to create applications with gui type vbdos.

  • And what better celebration of BASIC's 50th birthday than for Visual Basic 5 to become Microsoft's top language in May 2014 ?

    Visual Basic 6 has just risen to 5th place in the Tiobe Index of programming language popularity for May 2014

    C# has dropped to 6th, and VB.Net is 11th.

    Now is the time to bring back an updated VB6:

    visualstudio.uservoice.com/.../3440221-bring-back-classic-visual-basic-an-improved-

    VB6 - Microsoft's favorite programming language.

  • lol

    From Where In From Where Where Mod 2 = 1

  • very cool

  • Yes, it would be wonderful to create console applications, windows, buttons in text mode, similar to the way it VBDOS, and that these applications could run on Linux with Mono.

  • For those talking about a SharpDX console/and text-based UI stuff, I have an open source game engine I've been working on for a few years. It runs on XNA and MonoGame: github.com/.../SadConsole

  • This is a commemoration of BASIC? No, that would have been if you actually made this thing use real BASIC syntax. This is VB.NET which is only distantly related to BASIC.

    Also, please don't call VB.NET VB, VB is classic VB which has real BASIC syntax, such as:

    PRINT "Hello World!"

    NOT

    Console.WriteLine("Hello World!")

    Stop forcing VB.NET down people's throats, and stop calling it BASIC.

  • Visual Basic Forever!

    I start VB6 in 1999 and work with VB until 2006, and turn to C# because the trend....

    But i still stay focus on VB and use in heavy for my pet project!

    If Microsoft drop VB from .Net framework, there is no reason i stay with .NET framework. So Please keep VB in future!!

Page 2 of 3 (35 items) 123