1. Home
  2. Computing & Technology
  3. Visual Basic
photo of Dan Mabbutt
Dan's Visual Basic Blog

By Dan Mabbutt, About.com Guide to Visual Basic since 2002

'Open Source' VB.NET ?

Saturday July 31, 2004

VB.NET might actually become "open source" ... and not because of Microsoft's generosity and public spirited attitude. No, in fact, there are some converging trends that might bring this about which Microsoft seems unable to control these days. Here's what's happening.

I recently updated my review of an "open source" version of Visual Studio called SharpDevelop. The big change there is that VB.NET Windows Forms are now well supported. SharpDevelop has a few features that VS.NET does not have too - such as their innovative Assembly Scout. Read the review for more on this. SharpDevelop is fully under the GNU General Public License (GPL) agreement ... so you can download and even contribute to the source code!

But SharpDevelop still depends on the Microsoft .NET Framework! So, in a sense, you can think of it as just being a way to get around the cost of Visual Studio ... and maybe even get a superior product in some ways ... but not a real break into fully open source.

But wait ... there's more!

Just a few weeks ago (June 30, 2004 actually), the Mono project (now controlled by Novell) released version 1.0 of an open source version of the .NET Framework! If you read other reports about Mono, you might see it described as "the Linux version of Microsoft's .NET Framework." And, using Bill Gate's famous phrase, "they eat their own dog food" too. Novell used the Mono platform to develop their own mission critical software iFolder (a Novell product that supports functions similar to Microsoft's WinFS which won't be available until Longhorn arrives). Novell can now support Windows, Linux and the Mac OS with the same tool base for projects like this.

The fundamental fact that makes all this possible is that Microsoft published the specifications for the Common Language Infrastructure (CLI) and C# programming language to the ECMA standards organization. Now, Microsoft must coordinate updates to the CLI with ECMA participants like Hewlett-Packard, Intel, IBM, Fujitsu, and even organizations like Monash University and, yes, the Mono project. This is precisely what Sun refuses to do with Java ... and what other members of the industry like IBM keep insisting that they must do if Java is to survive. It's worth keeping in mind that Microsoft has defeated far more dominant competitors than Java in their march to the top of the heap. With due respect to members of the Java Jihad, things really don't look that good for Java right now.

In an interesting way, .NET - in the form of Mono - could be the thing that saves Java. Because both Mono and the .NET Framework are virtual machines, by design they support multiple languages. Microsoft claims that .Net Framework supports 20 programming languages. Mono now extends this to the Java world. You can actually run Eclipse, an IDE widely used for Java, on top of Mono. Eclipse is available for free download under an IBM version of open source called CPL or Common Public License.

The bottom line now is that you have your choice of open source IDE's (SharpDevelop, MonoDevelop, Eclipse), and an open source version of the .NET Framework (Mono) which supports VB.NET and which can run on both Windows and Linux. This doesn't make VB.NET 'officially' open source quite yet ... but it comes REAL CLOSE.

Comments

October 4, 2007 at 8:28 pm
(1) laughing says:

nearly 4 years later, and VB is not open source and java is still the #1 most used programming language. I can only imagine what would have happened if sun shared your sentiments…

November 24, 2007 at 4:52 pm
(2) You're laughing out the wrong end says:

Last time I checked it was VB that was the most used programming language and Flash has replaced JVM for the most used applet player.

Sucks to be so wrong.

March 17, 2008 at 12:26 pm
(3) Keith says:

Come on, guys. Mono’s VB.net, supposedly, is here and available. Of course, Microsoft will never open the official VB.net source, but that wasn’t what the article was about.

I must say, however, that I don’t think either VB or Java is the most used language. That would go to C, hands down. Maybe they’re most used in certain sectors, but not across all.

Java and Flash in web pages are equally annoying, IMHO.

July 15, 2008 at 9:46 pm
(4) Ogunsola Omolade says:

keith is right c is the most used very where, yet we should not rule others out.

August 20, 2008 at 10:11 am
(5) Pete says:

I think because of the Mono project C# not VB.NET is quickly becoming the most used language. Let’s not forget that the Mono Project officially does not FULLY support VB.NET, but it does fully support C#.

But I agree with Dan 100% on everything else except that.

Pete Soheil
DigiOz Multimedia

January 21, 2009 at 6:41 am
(6) Bernd Noetscher says:

I would like to inform you that there is a new possibility for VB developers to port their application to Linux even to Mac. It is called KBasic and is based on the Qt toolkit widely known. The license of Qt changes to LGPL soon, so there are no license fees for Qt anymore and it is totally legal, because it is not a clone of VB.NET.

http://www.kbasic.com/

Read more:

It is a new programming language related to VB.NET, Visual Basic,
Visual Basic for Application and Java. It combines the best features of those tools and comes with built-in backward support for those tools as it is 100% syntax compatible to VB, VBA and QBasic.

Additionally, it comes with support for VB.NET syntax, functions and
similar objects and classes.

KBasic is an open source project backed by years of continual

KBasic is made up of the following programs:

+ a compiler
+ an interpreter
+ an integrated development environment

It is about 15 MB source codes in C++ and about 1000 source code files (GPL3).

DOWNLOAD
========
Full Version Professional Edition

http://www.kbasic.com/

March 22, 2009 at 2:38 am
(7) bob smiley says:

Bernd, you just indirectly explained why I’m miffed that I’m a VB coder and not a C coder. C, C++ & even C# is fairly universal across platforms. But if you want to use VB in a non-MS environment, you have to use some VB-knockoff or alternate. In Linux, you can use Gambas. Or, you can use Mono, which sort of half-asses VB support. In Windows, you have wonderful VB support in Visual Studio, but VB is still pretty much a Windows-only thing. Not many folks prefer using it in other platforms because of the chicken/egg issue. VB isn’t well supported in other platforms, so they don’t code for other platforms. And since they don’t code for other platforms, VB isn’t going to be very well supported.

So, VB programmers are sort of stuck either a) migrating to Python, b) migrating to C#, c) using some psuedo-VB alternate which is out there and probably will be obsolete sooner or later (IE: a niche of a niche).

I think the reason Java is so widely used is because a lot of CompSci students these days end up with tons of Java training in college. Some colleges have gone so far as to make their CS degree Java-based instead of C-based. Personally, I think that’s a shame. C and its variants are universal, and force students to learn things like pointers and stuff. Java is too high level to really learn how to get your hands dirty. In the real world, you won’t always have the luxury of a Java-only project. It’ll usually be cobbled together with all kinds of C, VB, Perl, etc … and you have to untangle the big hairy mess.

March 22, 2009 at 11:33 am
(8) visualbasic says:

That really does make complete sense to me.

I’ve always said that the choice of VB versus something else will be determined first and foremost by the requirements of your job, not your own preferences. If your job requires cross platform programming, then … well, Ja!!

But if your job requires a Windows platform, I still say that VB is the most cost-effective and productive environment.

May 4, 2009 at 2:36 pm
(9) dragonbite says:

I would love to see more acceptance of VB.NET in Mono. I use the VB.NET variety of ASP.NET at work and would really love to leverage that knowledge/experience in Linux.

I almost think that either more VB.NET people need to participate with Monodevelop or should band together and build a VB.NET friendly IDE that uses Mono.

Leave a Comment

Line and paragraph breaks are automatic. Some HTML allowed: <a href="" title="">, <b>, <i>, <strike>

Explore Visual Basic
By Category
About.com Special Features

Stay connected and entertained with reviews on tips on the latest HDTVs, cellphones and more. More >

Easy ways to connect two computers for networking purposes. More >

  1. Home
  2. Computing & Technology
  3. Visual Basic

©2009 About.com, a part of The New York Times Company.

All rights reserved.