Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming Software Linux IT Technology

Visual Basic on GNU/Linux 383

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."
This discussion has been archived. No new comments can be posted.

Visual Basic on GNU/Linux

Comments Filter:
  • OS X Intel? (Score:5, Interesting)

    by hxnwix ( 652290 ) on Wednesday February 21, 2007 @11:45AM (#18096382) Journal
    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.
  • Re:OS X Intel? (Score:4, Interesting)

    by Salvance ( 1014001 ) * on Wednesday February 21, 2007 @11:59AM (#18096610) Homepage Journal
    Mono wasn't ported by Microsoft, and I'm guessing that Microsoft will eventually shut down (via legal means) the VB port. While C# is partially an open standard, which is why Mono can create a C# compiler with no issues, VB is completely closed.

    I'm not even sure why someone would want to run VB under Linux. C# is a fantastic language, and well suited for any O/S. VB (and VB.NET) is far more Microsoft-specific, and any developers using it run the risk of future Mono compilers not supporting its features after Microsoft has it removed.
  • Re:Why...? (Score:2, Interesting)

    by Eternauta3k ( 680157 ) on Wednesday February 21, 2007 @12:04PM (#18096670) Homepage Journal

    I remember taking a Visual Basic class in college. Drop objects on a form and define pieces of code that connects the objects. There wasn't any real programming being done. I can't imagine why you would want to run it on Linux. Isn't the command line enough?
    It's a language with variables, objects, events, subfunctions, etc. How isn't that programming? And what does that have to do with command line and linux? You do realize linux is full of GUI apps, right?
  • Worrying trend... (Score:2, Interesting)

    by Eric Pierce ( 636318 ) on Wednesday February 21, 2007 @12:19PM (#18096884)
    From TFA: "... this (VB run-time on Linux) was rewritten from scratch from Visual Basic by Mainsoft with some help from Microsoft."

    So Microsoft actually provided consulting resources to Novell to make this happen.

    Does this not worry anyone? What happens when I compile VB code on Linux via Mono on a non-Microsoft (i.e., non-Novell) supported GNU/Linux platform?

  • Re:OS X Intel? (Score:3, Interesting)

    by funfail ( 970288 ) on Wednesday February 21, 2007 @12:21PM (#18096908) Homepage
    I believe you meant VB.NET when you say "C# is essentially VB with C++ formatting". VB and VB.NET share very little.
  • Re:More Choice (Score:3, Interesting)

    by arivanov ( 12034 ) on Wednesday February 21, 2007 @12:21PM (#18096914) Homepage
    If they have an existing application to port having to do some minimal changes versus rewriting it in another language may make all the difference required for the application be ported and maintained. While I hate VB, there are tons of internal corporate code written in it and having the ability to run it on non-Windows systems is something many people will be interested in.
  • Re:OS X Intel? (Score:4, Interesting)

    by daeg ( 828071 ) on Wednesday February 21, 2007 @12:22PM (#18096920)
    You mean VB.NET. It makes sense that VB.NET and C# are essentially the same things considering they transform into the same .NET instructions. I'd apply the logic in reverse: VB.NET is essentially the same thing as C#, just with different formatting.
  • Re:Terrific (Score:5, Interesting)

    by miguel ( 7116 ) on Wednesday February 21, 2007 @12:24PM (#18096966) Homepage
    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.

  • Re:More Choice (Score:3, Interesting)

    by truthsearch ( 249536 ) on Wednesday February 21, 2007 @12:49PM (#18097340) Homepage Journal
    Anyone who chose to go with VB.NET did it only within the last few years while there are many real cross-platform options (Python, Java, even C++). No one chose .NET [msversus.org] and then complained it wasn't cross-platform. It wasn't advertised as cross-platform. It was chosen for Windows-only development and therefore isn't something many people are interested in.

    No one is dumb enough to choose a Microsoft technology without assuming it almost certainly means lock-in [msversus.org]. Today they're simply lucky some of their apps can now be ported to other OSs.
  • Re:OS X Intel? (Score:3, Interesting)

    by arevos ( 659374 ) on Wednesday February 21, 2007 @01:17PM (#18097744) Homepage

    It was Microsoft's way of telling Java developers, "Hey, we've got an easy to use language with C-style formatting!" In the grand scheme of things, there was no need to create it.
    Microsoft and Sun seem to have different aims for their particular languages. Sun tends to be very conservative about adding new features to Java, and so Java is a comparatively basic language with a very limited feature-set. Microsoft seem to be taking a slightly different approach, adding in any feature that looks like it could be useful. This makes C# a relatively more complex and faster evolving language, and has already diverged fairly far from Java.

    Now if only either language had a half-decent type system...
  • Re:Terrific (Score:3, Interesting)

    by file-exists-p ( 681756 ) on Wednesday February 21, 2007 @01:28PM (#18097900)

    Are the submitted applications a non-biased sampling ?

  • by alexhmit01 ( 104757 ) on Wednesday February 21, 2007 @01:45PM (#18098178)
    Most software is NOT written for mass consumption, it's either written in house or for small niche markets.

    TONS of this software has been written in VB over the years. Either in house processing forms (for specialized data entry people, some is now web based, some is not). Or screwy niche verticals. My mother has a computer that runs some goofy program for running a small therapists office. It looks like garbage, is CLEARLY a VB app, but it's the only application designed for a single therapist that is inexpensive and runs her office.

    She wanted to buy an iMac a few years ago, because she thought that they looked cool, but she wanted to run this application, so she needed Windows.

    VB -> VB.Net migrations aren't trivial, but they kind of are... anyone actively maintaining VB code has probably migrated by now, with the painful process and all, or will shortly. Once they are on VB.Net, this makes the transition easy.

    We're not talking about general applications, but think about the possibilities.

    Small office has a custom VB application for 2 data-entry personnel. All they do is read/send email, put things in this application. Now one of the developers sees this thing on Slashdot, downloads it, and converts their VB application to run under Linux. All of a sudden, the next time these people get their computer trashed by viruses, when the IT guy is bitching about rebuilding their machines again, he mentions that he ported their application to Linux. All of a sudden, these special purpose desktops are Linux.

    The Excel Power User WILL NOT switch to Linux... hell, I sometimes fire-up Windows via Parallels to run Excel under Windows because Excel for Mac isn't as strong, but you might get the entry level desktops to Linux... and that's a HUGE start.

    If you got most businesses to only buy Windows for the executive suite, you'd cut Microsoft's marketshare from 95% to 50% or 60%, and all of a sudden cross-platform becomes a requirement, not a nice to have feature.
  • by Blob Pet ( 86206 ) on Wednesday February 21, 2007 @02:09PM (#18098564) Homepage
    Aside from the fact that Novell is a major sponsor of this work, another major contributor was Mainsoft. We know that Mainsoft has had access to MS source code and probably continues to do so despite that mishap they had a few years back when they leaked Win2k's source code to the world. So, from the IP side, I'd be worried about MS coming after me later for royalties if I wanted to use this stuff... and that's before I get over the fact that Mainsoft's technology is as slow as heck.
  • Re:OS X Intel? (Score:3, Interesting)

    by mpcooke3 ( 306161 ) on Wednesday February 21, 2007 @02:25PM (#18098810) Homepage
    Which is, of course, the reason hundreds of thousands flocked to it when it was created. Right?

    LOL!
    The fact that thousands of developers flocked to it was because Microsoft had killed off the original Java by not distributing a compliant runtime.

    It's more like taking a highly trafficked road, blowing it up and then building an identical one.
    "Look at all the people using the new road! Bet people are really glad we built that!"

    (Except of course the new road only support Ford cars, but that's another story)
  • by Renesis ( 646465 ) on Wednesday February 21, 2007 @02:35PM (#18098984)
    I totally agree with the parent.

    I come originally from a hardcore x86 assembler, C background. I used to work in commercial video game development.

    When I got out of that (ridiculous work ethic) and got properly into the web, I first started using Java, then PHP and finally VB6 + old "classic" ASP. Both of those latter two are wretched.

    When I moved to ASP.NET in VB.NET it was a whole new world of difference. It was like the clouds had lifted.

    I've coded some enormous web applications in VB.NET. I've also coded some incredibly low-level wire stuff like SMPP servers.

    As per the parent's comments: VB.NET is far easier to code and read than C#. C# is so damned pedantic, just like its cousins C and C++. C# just gets in the way and slows down your development. The Visual Studio VB.NET IDE formats your code in a really nice way as you go along, and the layout of VB.NET code makes it far easier to see what is going on, and there is no chance of accidently leaving a semi-colon in the wrong place, forcing lots of debugging.

    Parent is right that CType (or DirectCast) is a bit annoying, but I find use of that method pretty rare anyway. And it's nit-picking an otherwise excellent language.

    I consider VB.NET the best language I've ever used, and I've used pretty much everything sane you can think of in my 20+ years of coding.

    Great news that Mono now supports this. It'll make it much easier to port over my web projects to run on Linux.
  • Re:Um... (Score:5, Interesting)

    by lordDallan ( 685707 ) on Wednesday February 21, 2007 @02:44PM (#18099144)
    Even better, you can use many/most existing ActiveX controls with RealBasic.

    This is nice because you can get your VB6 application running and still use the ActiveX controls you need, but then start migrating the functionality that the ActiveX controls provide over to native RealBasic controls. Even if you have one or two particular DLL/OCX's that you can't immediately part with, you can still get the rest of the app cross platform.

    For example, I have an app that has mostly OS X/Tiger clients, but there is a image scanner that the client has to use, and said scanner can only be accessed by calling a particular ActiveX control. Since RB supports conditional compilation, the application has one code base, but still has a window object that calls the ActiveX scanning control if the app is running on a Windows client. So my client has one Windows XP box to access the scanner, while all of the other users run the app on OS X 10.4. I've tested the client on Ubuntu Edgy Eft as well, though no one uses this build currently.

    I also made a video training application that used QuickTime on OS9/OS X, but used Windows Media Player on 98/2000/XP to play back the training videos (they were mpegs), allowing the app to be used on Windows without the (at the time) hassle of trying to get QuickTime for Windows to function. I called WMP using COM through RB, but again, only one Win clients thanks to conditional compilation.

    Once you're able to migrate away from all of the ActiveX functionality , you can have access to all the gooey, cross-platform goodness. And even if you can't get rid of that one Active X control, you have the ability to sandbox it and have the rest of the app still be cross-platform.

    It should be noted that many functions provided by ActiveX controls and DLLs can be replaced using RealBasic plugins, the most exceptional plugin being Christian Schmitz's MBS Real Basic Plugin [monkeybreadsoftware.de].

"A child is a person who can't understand why someone would give away a perfectly good kitten." -- Doug Larson

Working...