Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
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: (Score:3, Insightful)

        I believe that the formal specification of a language cannot be patented.
        At least, I hope so, in order to believe that there's still some sanity in this world.
      • Re:OS X Intel? (Score:5, Insightful)

        by GreyPoopon ( 411036 ) < minus city> on Wednesday February 21, 2007 @12:25PM (#18096978)

        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.
    • Re:OS X Intel? (Score:5, Informative)

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

  • Uuuhh.. sure... (Score:5, Insightful)

    by DogDude ( 805747 ) on Wednesday February 21, 2007 @11:46AM (#18096394)
    "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.
    • Re: (Score:3, Informative)

      by WED Fan ( 911325 )

      I use VB6 daily, and it would be great if that ran smoothly under Linux

      VB (up to 6) and VB.NET are completely different animals. Mono is .NET basically for the rest of us.

      Now, there are good reasons why VB6 code can't be migrated to .NET, but in most cases, where the environment allows, move the code over. Outside of WINE, I don't think you'll ever really get legacy VB to work on Linux in any meaningful way.

    • Re: (Score:3, Informative)

      Visual Studio is an IDE, and is tied to Windows. Visual Basic 8 is a language tied to .NET. The Windows.Forms group of classes is fairly Windows-specific, but that doesn't mean it can't be implemented on other systems.
    • There hasn't been one VB6 app that I have written that didn't work perfectly in WINE. It actually is a selling point when Im deciding on which RAD environment to use. And before anyone says anything, yes, some of these really were 1 million+ lines of code, full of API calls.
  • More Choice (Score:3, Insightful)

    by WED Fan ( 911325 ) <> on Wednesday February 21, 2007 @11:47AM (#18096408) Homepage Journal

    I love it. The list of choices is growing and growing. The fact that Mono can do this, and after having struggled with WINE, this is a massive leap.

    This will get more .NET developers over to Linux. Then, it will get more .NET developers too look a other ways of doing things.

    There are those will decry this as bad, but think about the possibilities.

    • Re:More Choice (Score:4, Insightful)

      by DrSkwid ( 118965 ) on Wednesday February 21, 2007 @11:58AM (#18096592) Homepage Journal
      > This will get more .NET developers over to Linux.

      > Then, it will get more .NET developers too look a other ways of doing things. [sic]

      If they need VB on Mono on Linux to look around then it's already too late.
      • Re: (Score:3, Interesting)

        by arivanov ( 12034 )
        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: (Score:3, Interesting)

          by truthsearch ( 249536 )
          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 [] 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 []. Today they're simply lucky some of their apps
      • Considering that while VB's a nasty language, there's quite a bit of internal business
        applications written in it, without any easier route to get to something other than Windows
        with, it is a bar to migration to MacOS, Solaris, or Linux. IF they've done it right and
        haven't ran afoul of something MS has patented, this would be one less reason (And one of
        the biggies, really) for many businesses to stay with Microsoft with their latest upgrade
        cycle. It depends all on how many OCX components they've mixed into
    • Re:More Choice (Score:5, Insightful)

      by discord5 ( 798235 ) on Wednesday February 21, 2007 @12:19PM (#18096890)

      Then, it will get more .NET developers too look a other ways of doing things.

      To be honest, I doubt that. I have this feeling this'll make linux more accessible for .NET developers, but the developer will only use it for testing his application while still remaining on his windows machine. There's a guy who's being paid to make VB.NET software, he's not going to look at ruby/python/perl/C#/C++. The fact that he's using VB means that :

      • he doesn't know any of these languages, or prefers VB over them
      • he's been told from someone above him in the corporate foodchain to use VB
      • cross platform portability is not his concern

      Don't get me wrong, I think this is positive in a "Oh that's neat" kind of way, but I think we're a long way from bringing all the .NET developers into the linux flock, and a very long way from having them (and their managers) look at other ways of doing things.

      • 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.
  • Patents (Score:5, Informative)

    by JoshJ ( 1009085 ) on Wednesday February 21, 2007 @11:47AM (#18096410) Journal
    See also: "Ballmer repeats threats against Linux" thread below.
    • As long as they don't use MS code, patents shouldn't be an issue: both standards are documentd.
      • by Dan Ost ( 415913 )
        Is there some reason why you can't patent methods required in a standard?
        • rephrase, maybe I'm wrong about VB.NET, but isn't the CLR non-patented? I thought MS said that anyone could use it if they wished.
    • Specifically: Did they implement the ISNOT operator? []
  • Um... (Score:5, Insightful)

    by dosius ( 230542 ) <> on Wednesday February 21, 2007 @11:47AM (#18096426) Journal
    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.

    • I agree. is more or less C# with a different syntax, so given that Mono had C# working, it is not that surprising or impressive that they were also able to get Still cool though.
    • Re: (Score:3, Informative)

      by eric2hill ( 33085 )
      RealBASIC [] is cross platform and *very* compatible with existing VB code.
      • 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 [].
    • by Bastian ( 66383 )
      Managing to tack a port of VB6 on top of a port of .NET would be interesting indeed.

      For an encore performance, we could implement Delphi on top of Java/SWT.
      • Managing to tack a port of VB6 on top of a port of .NET would be interesting indeed.

        For an encore performance, we could implement Delphi on top of Java/SWT.

        Well, yes, doing it that way would be kinda silly. The point is the summary claimed "Visual Basic on GNU/Linux", and that's not really true. Visual Basic evolved from the original MS Basic for the Altair. VB.Net is just a .Net syntax that kinda looks like BASIC and has a couple of logic quirks added to make porting VB code easier.
        • by Bastian ( 66383 )
          The point is the summary claimed "Visual Basic on GNU/Linux", and that's not really true.

          Yes it is. Microsoft calls VB.NET Visual Basic. When I want to create a new VB.NET project in Visual Studio, I select the "Visual Basic" widget. Yes, you're right, VB.NET and VB6 are different languages, but if the company that developed both of them refers to both of them as Visual Basic, then it is perfectly legal to refer to either of them as Visual Basic.

          By your same reasoning, it wouldn't be valid to refer to Wi
    • M$ likes to create confusion in market place. Similar story was with their recent "C++" which turned out to be "C++/CLI".

      And Mono folks are obviously already deep inside of M$ [censored] and of course are confused as much as anybody else who deals with M$ on regular basis.

  • Terrific (Score:5, Insightful)

    by C10H14N2 ( 640033 ) on Wednesday February 21, 2007 @11:48AM (#18096436)

    A) Most VB applications are tightly linked to OS and application-specific libraries.
    B) Most applications that do not require those libraries are not written in VB.
    C) Anyone versed enough in languages to be using MONO is probably not married to any language--and certainly not VB

    So, other than being novel, what's the point?
    • That is exactly the issue.

      I took a C# application ( 207.jpg) we've just put into production and tried to compile on my SUSE laptop using Mono. Most did work, except for the assemblies which - gasp - are tied into 3rd party COM components.


      Funny - when I read "Visual Basic on Linux" I first thought of VB6 and almost dropped my Monster Blue. Now THAT would be cool. Oddly enough, I'm still having to go in and fix VB programs. I don't even have any VB progr
    • A. At least if you need to move an application from Windows to Linux you at least have a fighting chance to meet the the deadline or get it done by budget. Most VB apps are actually just Heavy Duty Access Apps so the bulk of the code is portable, at least the important parts. The parts that do Windows or 3rd party calls are usually some silly little interface inhancement that could be fixed with a Mono 3rd Party Tool or making it yourself.

      B. Many apps are written in VB including ones that don't need those
    • 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.


    • Re: (Score:3, Insightful)

      by cyberjessy ( 444290 )
      Reporting live from India:
      We still have a _lot_ of customers (like 30-40%) asking us to develop on VB.Net, since they have maintainers who are well-versed in VB. Microsoft has effectively marketed VB.Net as being easier to swallow for VB Programmers. This is true, since VB.Net has constructs which allow the same inefficient VB style coding. But if proper OO practices are being followed, VB.Net is just C# without case-sensitivity.

      Mono supporting VB.Net allows these people to target Linux. Mono's C# compiler,
      • Agreed.

        I have one data-entry application written in VB that runs on about 8 dedicated machines throughout my organization. It's light on resource requirements so runs on older machines, but of course requires some version of Windows. For a while I've been thinking of porting the app to Linux in one way or another, without resorting to making it web-based (or re-learning Java), but have concluded it's just not worth the effort currently.

        If this mono VB compiler works, I believe that I could port the whole
        • Awesome example (Score:5, Insightful)

          by alexhmit01 ( 104757 ) on Wednesday February 21, 2007 @01:53PM (#18098308)

          I have one data-entry application written in VB that runs on about 8 dedicated machines throughout my organization. It's light on resource requirements so runs on older machines, but of course requires some version of Windows. For a while I've been thinking of porting the app to Linux in one way or another, without resorting to making it web-based (or re-learning Java), but have concluded it's just not worth the effort currently.

          That's an awesome example, I have a similar one. One of my old Interns wrote a program in Cocoa for Mac, because he was a Mac fan and it was a prototype. One of my guys thought that it would be fun to learn Cocoa, so adapted and rewrote the application over several revisions. It doesn't do THAT much, the heavy logic is server side, but it's a pile of code and the developer that wrote it isn't with us any more.

          Well, I had 8 people using that program, so what the hell, rather than re-writing/porting, we bought 8 Mac Minis and used those as desktops. Nothing they ran (besides this in-house orphaned program) required OS X, but Apple and OS X got the sales for that reason. Had it been written by the guy who was playing with Qt at the time, who knows, we might have Linux machines there.

          Most Slashdot whiners have NO CLUE how computers get used, because they think that their home use of computers is at ALL indicative, or they work in an IT company or school... they don't understand how a few legacy applications may have multiple people (with their computers) can have the oddest software requirements if their job is built around an old legacy code base.

          I just toured a potential partner's warehouse, his whole system is manual. The accounting is Quickbooks, the shipping is Fedex's software, and their "integration" is some only shopping cart solution where he can download the information into Quickbooks and Fedex... There is no glue code for managing the warehouse... But he has several people whose job revolve around these applications, and the computers and OS's are purchased to run these apps.
  • so which (non-vb-infected) operating system do I switch to now?
  • VB? VB?!!!! (Score:4, Funny)

    by RandoX ( 828285 ) on Wednesday February 21, 2007 @11:51AM (#18096480)
    Great. That's like saying now you can eat your lobster with a fork made of frozen shit.
  • Don't get excited: This new and improved compiler, which supports Visual Basic 8.0 code, is bundled in Mono 1.2.3. In addition to Visual Basic support, this version includes many bug fixes and an almost complete ASP.NET 2.0 API (application programming interface) implementation. WebParts, however, still isn't completely supported.
  • by vivaoporto ( 1064484 ) on Wednesday February 21, 2007 @11:53AM (#18096510)
    From TFA:
    "Novell Inc. sponsors Mono, which is an open-source development platform that aims to be compatible with Microsoft's .NET framework. "

    I'm not a fan of bringing Microsoft technology to the Free Software realm, not for purist reasons (although they are at least pertinent) but because, with this Novell-MS agreement in practice, it would not take a lot of effort for Microsoft to find a way to either forbid any non-Novell distros to use the technology or to wait and sue distros that include it (in case there is some patented technology included, mistakenly or purposely, and people know that, at least on U.S., everything is patentable, even the double click).

    Furthermore, with Java becoming free as in free will, I don't see how free software benefits by having VB, .Net or any other Microsoft born encumbrance.
    • Yes, let's all have our cake and eat it too.

      In the "free software realm" why does this not have it's place as well? For that matter, I'd rather not bring Open Office into the free software realm because Microsoft is obviously going to sue everybody for using a quasi-MS-Office clone...

      Please tell me how this isn't acceptable, but kaffe [] is? By virtue of your reasoning the entire Mono project is moot since they're obviously in cahoots with Microsoft to forbid non-Novell distros to use their open source system.
    • by p0tat03 ( 985078 )

      Furthermore, with Java becoming free as in free will, I don't see how free software benefits by having VB, .Net or any other Microsoft born encumbrance.

      Maybe I'm the only one who's seen this, but the Java VM on any platform I've seen is dead slow. The GUI is unresponsive and sluggish, and the damned thing leaks like a sieve - not to mention is a memory monster for any app larger than a small utility. .NET (2.0 at least) has been fast and relatively small in-memory. The only crappy thing about it is the

    • Furthermore, with Java becoming free as in free will, I don't see how free software benefits by having VB, .Net or any other Microsoft born encumbrance.

      Because Java is being increasingly inefficient as a programming language these days. Meanwhile C# has some very forward looking language designers. At a time when statically typed languages are under attack from the more expressive dynamic languages (and rightly so), continuous innovation is the only way to stay relevant.

      One of the ways for doing so is to in
      • by Knetzar ( 698216 )
        1) Not everyone wants a dynamic typed language. I for one prefer my compiler to do some checking for me and verify that the types are correct. I'm pretty sure most large (read: enterprise level) systems would be a lot more difficult to develop if they did not use a statically typed language.

        2) Thread a = new Thread() {
        public void run() { //Do something

        Yup, no anonymous classes in Java. While I do agree anonymous functi
  • Gambas (Score:2, Informative)

    by Qbertino ( 265505 )
    Interested in Free Open Source High Quality Zero-Hassle Basic on Linux? Try Gambas []. Honestly now, aside from a nice proof of concept I consider this VB to Mono thing somewhat pointless. There are better Tools for easy GUI RAD.
  • Finally! (Score:5, Funny)

    by HarryCaul ( 25943 ) on Wednesday February 21, 2007 @11:57AM (#18096578)

    Maybe now we'll see some real development on Linux!
  • Hooray! (Score:5, Funny)

    by Greyfox ( 87712 ) on Wednesday February 21, 2007 @12:00PM (#18096622) Homepage Journal
    All the great VB apps now in the user-friendly environment of Linux! Now maybe they can port Outlook over!

    Wow... saying that actually made me vomit a little in the back of my mouth...

  • Worrying trend... (Score:2, Interesting)

    by Eric Pierce ( 636318 )
    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:Worrying trend... (Score:5, Informative)

      by miguel ( 7116 ) on Wednesday February 21, 2007 @12:39PM (#18097198) Homepage
      Either the quote is wrong, or I had was distracted when I said so.

      The runtime was developed entirely by Mainsoft, with some help from us in a few areas. Microsoft was not involved in this process, am sorry for the miss-understanding.

      The runtime and compiler were pretty much done before I was aware of any discussions between Novell and Microsoft. The major change since September has been that the compiler became self-hosting on Linux (compiles itself, and compiles its own runtime) and that we have had a chance to go from a research project to a product (of course, we will keep improving it)

  • by ajs318 ( 655362 )
    Any kind of BASIC -- except, possibly, one of the British dialects such as Spectrum BASIC (would need to get rid of LET, though, now we are no longer using single-key entry) or BBC BASIC (one of the later incarnations with ON ... PROC) -- would be bad enough, but VB? Why?
  • Finally... (Score:3, Funny)

    by mgblst ( 80109 ) on Wednesday February 21, 2007 @12:23PM (#18096952) Homepage
    a decent language for Linux. Now we will see a huge migration of people over the platform. You might as well shut up shop now Microsoft.

    But seriously, I thought everyone hated VB?
  • I want to play GORILLA.BAS, dammit.
  • Which is almost identical to VisualBasic, but has compiled on Linux for years and has cross-platform libraries for almost everything it supports and doesn't require Mono.

    But, you know, whatever.
  • by astrashe ( 7452 ) on Wednesday February 21, 2007 @12:36PM (#18097166) Journal
    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: []

    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.

  • by mjackson14609 ( 69635 ) on Wednesday February 21, 2007 @12:37PM (#18097178) Homepage
    . . .porting Microsoft Bob to the Mac.
  • From TFA:
    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
  • FTA: "according to forrester research, 37 percent of all inhouse development uses VB."

    Say what? I've never worked in a place where VB was used, let alone the norm.

    It may be used in a lot of .com shops, but for the rest of us who work for a living, C is pretty much the norm.

  • I doubt they are compiling old VB6/5 apps.

    Does it allow you to run Visual Studio yet? What about code from microsoft such as Office2007?

    While its nice that you can *compile* something that is crossplatform ( though can do that now if you choose other languages ) the real trick is running existing .net code from vendors without having to screw with emulators, virtual machines, WINE, etc..
  • by A Friendly Troll ( 1017492 ) on Wednesday February 21, 2007 @01:33PM (#18097982)
    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!
    • Re: (Score:3, Insightful)

      I have never *liked* the "C syntax".

      No offense, but that is akin to saying "I don't like programming."
      • Re: (Score:3, Insightful)

        Remember what I said about personal preferences? :)

        They have nothing to do with liking programming as such.

        Now what would you say if I told you I preferred Motorola-style x86 syntax in Free Pascal under DOS over straight Intel-style x86 assembler? Do I like programming, or not? If I have written code for the 16C84, 68000, 8052 and 80x86, and preferred the 68000, do I like programming, or not?

        You cannot judge a person based on his/her choice of programming language. The same for natural languages; I absolute
    • 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.
  • 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.

Some people have a great ambition: to build something that will last, at least until they've finished building it.