Articles / Why are we bringing VB to L…

Why are we bringing VB to Linux?

Projects are appearing that attempt to bring Visual Basic clones to Linux. Marc Boorshtein, a former VB programmer, thinks this is a mistake, and that we should be innovating with what we already have instead of spending time working at emulating what he considers a technological dead end. I was very disturbed by first reading about KBasic on slashdot.org and then another VB clone on newsforge.com. Why are we trying to emulate Windows? Do we have to make the same mistakes? While the idea behind VB is good (an environment in which pre-built components can be glued together to build applications quickly), MS VB is NOT a good language at its core. It isn't object-oriented, it's object-based. There is no inheritance, and its implementation of interfaces leaves much to be desired. Python is fully object-oriented and cross platform.

What makes MS VB so strong isn't the language itself, it's the environment and support. While VB is a terrible language, it has an amazing IDE, probably the best on the market. If you separate the IDE from the language, it's an excellent tool. The IDE integrates form design, object browsing, code structuring, database integration, Web integration, and anything else you want it to include. Had VB instead been VPython, it would have been a nearly perfect tool.

The second piece of MS VB that makes it so powerful is its Windows support. With direct ties into ADO, MTS, and COM+, for internal projects, there is usually no need for anything written in C or C++. Everything from soup to nuts can be built inside of VB, including the middleware, database, and front end, whether that front end is Windows- or Web-based. This is very appealing to companies large and small because they are only buying one tool for an entire job, as opposed to one tool for middleware, one for the front end, and one for the database.

The problem with emulating VB is the technology VB is based on, COM and Windows. All of its components are Windows-based. To bring a VB app over to Linux, you would have to bring COM, ADO, MTS, and DCOM, not to mention all of the third party components that are used in VB apps. Getting it to work effectively in Linux is just not worth it.

There are several alternatives that already exist and have great IDEs. Java is my personal favorite. It's an industry standard that has been adopted by the largest companies in the world. While it's not as easy to learn as VB, it's more powerful. If ease of use is the issue, make an IDE for Python. It's as easy as VB to learn, and a much better core language.

While VB is a good language for learning, it is NOT a good language for production work. We shouldn't make the same mistakes as Windows, nor should we try to beat Windows by becoming the same beast that Windows is. We should innovate and create better technologies, not just copies of the poor original.

Why do I have these opinions? I worked in VB on Windows for four and a half years. About a year ago, I was brought to Linux and I switched from VB to Java. Since then, I have never looked back. Creating VB on Linux is a bad idea. There are simply too many problems with it, and there are already great alternatives.


Marc Boorshtein (mboorshtein@yahoo.com) is a sophomore at Western New England College in Springfield, MA, majoring in Computer Science. He began working in VB five and a half years ago, starting with VB 3. He worked in the MIS department at Process Software in Framingham, MA during the summer of his senior year, and as a consultant at PriceWaterhouseCoopers last summer. He has been using Linux for about a year and has since stopped using VB in favor of Java. He is currently running an Open Source project called the Internet Document and Report Server (http://idrs.sourceforge.net/), which merges a tag-based system for accessing databases in Web pages and external Java components to build powerful data-driven Web sites. The next release will also include scripting support for both the JPython and BeanShell languages.


T-Shirts and Fame!

We're eager to find people interested in writing editorials on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an editorial gets a freshmeat t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about.

Recent comments

21 Aug 2007 07:26 Avatar bugmenot

Re: We don't need VB
"[We should keep Linux an OS for programmers. If you're not a programmer you shouldn't use it.]"

"[Why aren't people using Linux?]"

Excuse me?

17 Apr 2006 20:10 Avatar g2314

VB on Linux
My idea is if you want to keep Linux free of VB.NET code and still support VB.NET programmers is create a decent IDE(maybe a clone of Microsoft's) that allows debugging and ect. of VB.NET code but convert it to C in the background.Another possiblity is to make the IDE only put out windows executables that can be run in the IDE using something like WINE. This way if a VB.NET programmer finds themselves in a situation where they only have a Linux system available they can load up the IDE and still get work done on their project. This is just a possible comprimise .

10 Feb 2006 03:59 Avatar i22yb

Re: VB Linux
For those looking for a RAD/Basic equivalent to VB in Linux... I just stumbled across Gambas a couple days ago at gambas.sourceforge.net. It looks to be very promising, and claims it is not trying to be a clone of VB, but rather a Linux alternative to VB.

05 Jan 2006 23:35 Avatar artabon

VB on Linux
I think its a good idea - if done right. Meaning, you don't take the entire thing and drop it unto Linux. You get what you must out of it while leaving the clutter behind.


The IDE - as pointed out before - is superb, I do not think there is any richer IDE that can compare other than that of Powerbuilder's.


Power-wise, Basic is a rich language all its own - plus the addition of VB and VB.NET syntax make for the beginning of the OOP revolution in Basic (of course everyone else is already into aspect oriented programming :p ).


Anyone can name a bunch of things that C++ or Java can do that Basic can't - but I betcha Basic programmers spend half the time doing what little Basic can do than a C++ programmer would, doing the same tasks.


Besides, VB was built as a RAD tool - while C was made as a powerhouse to replace ASM and B. Its like telling me that a plane is infinitely faster (performance-wise) than a bike. Then I go, "Ok I'll race you down the street". Betcha, you haven't gotten through customs yet by the time I get there.


It's 2 different tools for different purposes. You can't say a spoon is the best kitchen utensil if you can't cut a turkey with it. Same goes for C and Basic - no comparisons there.


So please enough on the flames to VB already! Don't hate the language because of Bill Gates, give it a chance to evolve and let it bring over more developers to the Linux fold.

30 Oct 2003 06:06 Avatar Hassle

MAKE IT BETTER FAST EASYER AND SMALL>>>>
Bring Microsoft VB, or VS to Linux

BAD IDEA.

I understand that your only Brining the Script or Whatever. But still, people Say well Linux Now has VB Im changing Over then.

They End Up going to Linux then seeing that VB (Which is KB) is Not the same. Under Stand This VB Compiles .EXE Files And Other DLL,OCX,CH. and More.

Linux Has no Use for them Files There Would be no Reason to Put them on KB so You Would not then you get these people writing out there Program and Thinking Cool them They goto Compile it, they think whats the hell is this and what did i get myself into.

I only thing I can think for Linux Would Be good Make a New Type Of Programming For LINUX ONLY. something, Fast, Small. Easy, User Friendly, GUI, IDE, RAD. Everything you guys talk about. but for Linux.

they Can be Easy or Hard to make its just what you want it to be and do, ( I would want it to be the best)

Young People Want to Something easy to use and easy to learn. If linux give them there own version of this people may want linux more and more.

I made a GUI base Programming tool, They are Very Easy to Make and I did it With Note Pad and Borland Turbo De-Bugger And My Own Compiler.
Called it TMK
its and small app to let people program game cheats in windows, using Hex editing and easy commands, Simple yet powerful,
I even added tools and such.

They are easy to Make It just want you want it to do for you. the easyer the code the longer it takes and the harder the code less time. If you want to do it so that other people dont mess things up, then use Easy code to get people to come over and check it out. and people like to code easy and fast. they will come to see it.


Think With the World the Way it is and Microsoft Doing the things its doing (trying to keep up with Linux) Releasing Windows 2003 Server Ed. Right After Red Hat Released there Red Hat EnterPrize Server. People See that Microsoft you never see Linux unless your looking at it.


anothor thing I have used C builder and compilers in Linux and Windows and everything. I can Write a Program for Windows In Linux and Compile in less them 10 Minutes Most the Time, (large programs) In windows I use the Same Code Takes Over 40 Minutes to do the same thing, Linux is faster and if they do bring VB/KB to linux it will be a lot faster then on Windows Its just the OS slowing things down.

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.