Slashdot Mirror


Visual Basic on GNU/Linux

jeevesbond writes "The Mono Project announced that it has developed a Visual Basic compiler that will enable software developers who use Microsoft Visual Basic to run their applications on any platform that supports Mono, such as Linux, without any code modifications."

14 of 383 comments (clear)

  1. OS X Intel? by hxnwix · · Score: 5, Interesting

    I wonder if this will include OS X Intel, which Microsoft claims they simply just absolutely cannot port VB to under any circumstamces ever. That would be pretty funny.

    1. Re:OS X Intel? by GreyPoopon · · Score: 5, Insightful

      I'm not even sure why someone would want to run VB under Linux.

      Maybe because the application is already written and the vendor doesn't want to port it? After all, being able to operate with a single code base is generally a nice incentive to avoid creating ports.
      --

      GreyPoopon
      --
      Why is it I can write insightful comments but can't come up with a clever signature?

    2. Re:OS X Intel? by miguel · · Score: 5, Informative

      Yes, this does run on OSX Intel.

      Our compiler and runtime are written entirely in portable CIL code that later gets translated into native code on each platform by the Mono JIT.

      I believe you are referring to Microsoft's Visual Basic for applications (which is what Office uses) and which is an older version of the language which they are unable to port on its current shape (their stuff was an older version of the compiler that predated the CIL bytecodes).

      Miguel

    3. Re:OS X Intel? by m0rph3us0 · · Score: 5, Informative

      Apparently you've managed to miss the past 15 years of processor development. The 486 was the last processor to actually execute x86 instructions. Since then all intel x86 processors run an x86 virtual machine on a RISC CPU.

      So, yes, both C++ and Fortran share the x86 VM. Also, C# shares the x86 VM because CLI bytecode is never executed, only x86 code. It just delays the compile to x86 til runtime.

    4. Re:OS X Intel? by smbarbour · · Score: 5, Informative
      Which is why (according to the article) the majority of .NET developers use VB.NET exclusively.

      Though often disparaged by developers, Visual Basic remains one of the world's most commonly used programming languages. According to Forrester Research, 37 percent of enterprises use Microsoft Visual Basic.NET for development and maintenance of their in-house applications. What's more, among .NET developers, 59 percent use Visual Basic.NET as their only programming language. Thus, as of 2006, at least 20 percent of all in-house business programs were still being written in Basic, according to the market analyst firm.
      Sure, there might be a lot of programmers that came to it, but among .NET developers they are in the minority.

      The road analogy is poor though. Programming languages don't have a "capacity" for the number of users.
    5. Re:OS X Intel? by vadim_t · · Score: 5, Insightful

      No, it's the other way: There was no point in creating VB.NET

      The only point of VB.NET was to be able to lie to VB6 developers and promise them that VB would be in .NET as well. Of course what VB.NET turned out to be is completely useless to a VB6 developer, as nothing is compatible. VB.NET is simply the .NET library, with a VB6-ish syntax on top.

      This in the grand scheme of things was completely pointless. Great, I can take my 70K lines of VB6 code, and... wait, no, it's not compatible, so even if I switch to VB.NET I'll have to rewrite the whole thing from scratch anyway. This is definitely not what was on anybody's mind when VB in .NET was promised.

      Since VB.NET is completely useless migration-wise, and C# was going to get done anyway, VB.NET is just a rotten bone tossed to the VB6 developers to get them to shut up. But I guess we deserve it, that's the reward you get for becoming dependent on a single vendor.

  2. Uuuhh.. sure... by DogDude · · Score: 5, Insightful

    "With no code changes"? And it works? Call me skeptical, but I'll believe it only after I see it. This seems a bit far fetched, considering how tied to Windows Visual Basic is. I use VB6 daily, and it would be great if that ran smoothly under Linux, but this project only works with "VB 8.0", so I'm curious to hear if this thing actually works.

    --
    I don't respond to AC's.
  3. Um... by dosius · · Score: 5, Insightful

    This is Visual Basic.NET, not actual Visual Basic...

    If there were a VB6 compiler for Linux, that would be much more interesting to me.

    -uso.

    --
    What you hear in the ear, preach from the rooftop Matthew 10.27b
  4. Finally! by HarryCaul · · Score: 5, Funny


    Maybe now we'll see some real development on Linux!

  5. Re:Why...? by bogaboga · · Score: 5, Insightful

    ...Drop objects on a form and define pieces of code that connects the objects. There wasn't any real programming being done....

    There was no "real programming?" Why don't you first define what "real programming" is? If in your case, you were defining pieces of code to connect the objects, you were behaving like a newbie - no offense to you.

    On the other hand, I have developed more than 22 serious projects using VB and the forms you might have used. I agree VB was not a "wise" platform in many cases, but that was due to my employer's environment.

    These projects/systems included cargo handling, hospital management, roster/scheduling in the hospitality world, schools and traffic management environments.

    Let me tell you this: To a Joe User VB kicks ass big time as compared to anything in the Linux world. You can decide to be very simple and do forms as you might have done, or you can do some serious work like some of us have done.

  6. Re:Terrific by miguel · · Score: 5, Interesting

    According to our statistics, based on 1,500 applications that have been submitted using the Mono's Migration Analysis, 50% of the VB.NET applications do not depend on the operating system.

    From the remaining 50%:

      25% would require a week or so to port (replacing Windows library calls with Linux calls)
      25% would require a month of so to work, and a Linux expert in house
      25% would require a strong commitment to support Linux, and many months of work.
      25% is not even worth attempting.

    Miguel.

  7. Re:I don't get it by miguel · · Score: 5, Informative

    We have been able to run code compiled with Microsoft Visual Basic for a very long time (1.0 was supported for a few years with the old runtime, and 2.0 has been supported for a few months with our new runtime).

    But there were a few problems, ASP.NET for example would requite a compiler on the host to compile VB.NET-based ASP.NET pages. ASP.NET works by translating special commands and tags into your language and mixing your code with the resulting output with a technology called "CodeDOM".

    So this particular scenario (ASP.NET with VB) was not supported due to the lack of a compiler.

    This also allows Windows developers to do their work on Linux directly without having to use two machines to develop.

    Miguel.

  8. This is a big deal, and should be thought about by astrashe · · Score: 5, Insightful

    Miguel de Icaza appeared on the LUG Radio podcast, and gave a really good description of how this sort of thing fits into a coherent business strategy:

    http://www.lugradio.org/episodes/69/

    Basically, the argument goes like this. If you look at what's locking people in to windows now, it's not so much the big stuff -- office apps, browsers, email programs, etc. We have all of that stuff, and most of what we have is pretty terrific.

    The stuff that locks people in is small and narrow -- software to do some odd, specific, business related thing. Some app that's tweaked to run scheduling in a dental office, or whatever. My mom has a travel agency, and she uses an app that manages all of her customers, and that's windows specific. I have a friend who installs burglar alarm systems, and he has software that programs alarms, and which only runs under windows.

    There isn't one big thing that's locking people in -- it's thousands and thousands of small things. Everyone has something different, but almost everyone has *something*. And a giant chunk of those little things, now, are running under .NET.

    The Mono guys have been using an automated tool that looks at what libraries .NET apps use, and they've been trying to pick off the APIs that will give them the most apps running in the real world on linux.

    On top of that, they've been working with .NET people who want to make their apps more portable -- which mostly means doing things one way, using some APIs, instead of another, using other APIs. According to Miguel, they're getting a good response from .NET developers, who would like to see their stuff become more portable -- they'd love to see .NET pick up some of that "write once run anywhere" magic that java has. They'd like to not be locked in.

    The point that's getting lost in a lot of the fights over Mono and the infamous deal (about which I personally have many misgivings) is that Novell is mounting an incredibly audacious attack on the Desktop, and this sort of thing is a big part of it. They're not satisfied with servers.

    I don't know if it will work, and again, every time I read something about Ballmer talking smack about linux, I get nervous about that deal. But at the same time, I sort of love the bigness of what Novell is doing, the audacity of it.

    For whatever reason, Novell is doing an incredibly bad job of explaining all of this to us. Which is why I really encourage everyone to grab that podcast episode, linked above, and listen to what Miguel says about mono.

  9. I prefer VB over C# by A+Friendly+Troll · · Score: 5, Insightful

    There. I said it. Now shoot me.

    But I honestly do prefer VB over C# because I find it easier to read. I have never *liked* the "C syntax". 15 years ago, I switched from Borland C++ to Borland Pascal (I honestly did!) because I enjoyed Pascal's verbosity. I used Delphi for a long time, until .NET came along - then I switched to VB.NET for the same reason. I never wanted to touch "classic" VB because it was a steaming pile of donkey poo, however.

    It's not like I can't read C-style syntax or write it; I can. I do a lot of JavaScript programming, I extensively use both PHP and C# at work, but when it comes to personal projects, VB(.NET) all the way.

    I guess it's just a matter of preference. Some people like && || !, some like And Or Not. Some like curly braces, some like Begin..End blocks. And with .NET, it's mostly about the framework, anyway, as it's language-agnostic. You cannot get far if you don't know the framework; if you do, then the actual language is mostly irrelevant, the differences can be picked-up in half an hour.

    That said, some things in VB irritate me. The stupid typecasting via CType(var, type) is something I wish would just die in favour of C-style (type)var. Multiline strings as well, and the root namespace is something I always forget to destroy when starting a new project...

    Anyway, congratulations to the Mono team. When I get rid of Windows soon, in favour of Linux, I will be glad to know that my pet language is going to be usable for ASP.NET apps!