Become a fan of Slashdot on Facebook

 



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:
  • 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.
  • More Choice (Score:3, Insightful)

    by WED Fan ( 911325 ) <akahige@NOspAm.trashmail.net> 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.

  • Um... (Score:5, Insightful)

    by dosius ( 230542 ) <bridget@buric.co> on Wednesday February 21, 2007 @11:47AM (#18096426) Journal
    This is Visual Basic.NET [wikipedia.org], not actual Visual Basic...

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

    -uso.
  • Terrific (Score:5, Insightful)

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

    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?
  • 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.
  • Re:More Choice (Score:4, Insightful)

    by DrSkwid ( 118965 ) on Wednesday February 21, 2007 @11:58AM (#18096592) 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:OS X Intel? (Score:3, Insightful)

    by Marcos Eliziario ( 969923 ) on Wednesday February 21, 2007 @12:06PM (#18096706) Homepage Journal
    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:Why...? (Score:5, Insightful)

    by bogaboga ( 793279 ) on Wednesday February 21, 2007 @12:17PM (#18096856)

    ...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.

  • 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.

  • Re:OS X Intel? (Score:5, Insightful)

    by GreyPoopon ( 411036 ) <[gpoopon] [at] [gmail.com]> 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:1, Insightful)

    by smbarbour ( 893880 ) on Wednesday February 21, 2007 @12:35PM (#18097126)
    Yes, I did mean VB.NET. And I consider C# a bastardization of both C++ and VB.NET. 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.

    But now, they are essentially forcing people to switch to it by making the XNA toolkit use C# exclusively.
  • Re:Terrific (Score:3, Insightful)

    by cyberjessy ( 444290 ) <jeswinpk@agilehead.com> on Wednesday February 21, 2007 @12:36PM (#18097138) Homepage
    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, BCL(Base Class Lib) and Asp.Net implementation has reached a stage where most projects run _without changes_ on .Net and Mono. Only calls into COM libraries and Windows native DLLs are requiring code rewrites for Linux.

    So, I would say - There is a point.
  • 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:

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

    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.

  • Re:OS X Intel? (Score:5, Insightful)

    by grammar fascist ( 239789 ) on Wednesday February 21, 2007 @12:51PM (#18097360) Homepage

    In the grand scheme of things, there was no need to create it.

    Which is, of course, the reason hundreds of thousands flocked to it when it was created. Right? Heck, they weren't even forced into it. Microsoft simply made the tools available.

    I've seen environmentalists view a heavily-trafficked road and declare that building it was completely unnecessary. This seems like some of the same attitude.
  • by Anonymous Coward on Wednesday February 21, 2007 @12:51PM (#18097366)
    You're exactly right, this isn't real programming. It's actually useful to recognize this meme of buttonpushing-without-knowing-what-you're-really-d oing as it has become prevalent in the IT industry.

    A classic example are Outlook/Exchange admins. They consider themselves IT professionals, but very few of them whom I've met actually understand how the network infrastructure really works. They are, however, convinced that they do. :)

    I know of one such guy who is supposedly a name in the Microsoft world, to whom other Exchange admins look up to (he runs a popular website on this stuff). He was actually completely unfamiliar with what port 25 was! He was under the impression that it was "a Linux thing". I tried to explain to him how email actually worked, but he just didn't want to grok it.

    He was comfortable with his buttons, and didn't want to progress farther. Of course the IT infrastructure is the usual disaster, always requiring patches and the mailserver always having the usual Exchange problems. You just can't educate people like this that there are better, more reliable ways.

    Sorry if this pops some people's bubbles, but buttonpushers aren't programmers nor are they IT professionals.

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

    by @madeus ( 24818 ) <slashdot_24818@mac.com> on Wednesday February 21, 2007 @01:09PM (#18097626)
    In find it interesting that now Java, C#, and OO PHP5 (which as recently gained some credibility in the "Enterprise" world by Sun throwing their weight behind it in rolling out a Apache+PHP+MySQL - what they are calling an AMP stack) all have the very much the same syntax.

    I think it's turned out to be a nice syntax for writing easily maintinable / clear code that people are broadly happy with. It nice not having to deal with wildly differnt syntax when changing languages.
  • Re:OS X Intel? (Score:5, Insightful)

    by vadim_t ( 324782 ) on Wednesday February 21, 2007 @01:20PM (#18097792) Homepage
    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.
  • 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!
  • by rehtonAesoohC ( 954490 ) on Wednesday February 21, 2007 @01:40PM (#18098106) Journal

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

    No offense, but that is akin to saying "I don't like programming."
  • 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.
  • by A Friendly Troll ( 1017492 ) on Wednesday February 21, 2007 @02:02PM (#18098464)
    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 absolutely *adore* Portuguese. I like how it sounds. Someone else enjoys Japanese and says No offense, but you not liking Japanese and preferring Portuguese is akin to saying "I don't like talking."

    To each his own, man.
  • Re:OS X Intel? (Score:5, Insightful)

    by nuzak ( 959558 ) on Wednesday February 21, 2007 @02:15PM (#18098676) Journal
    > Not fishing for flamewars, but what's wrong with Java's typesystem as it is?

    Let me count the ways...
    1. Primitive types. They're a concession to 1960's-era compiler technology, and could have been done away with with no overhead at runtime. At least they can't be null -- til you bring autoboxing into the equation. Auto-unboxing is even better, a brand new source of NPE's.

    2. Type erasure for generics. If you ever cross a jar boundary (that is, import), the type constraint of a generic is no longer enforced statically. It's just syntax sugar for downcasts.

    3. Unexpressive constraints on generics. I don't entirely understand Scala's parametric types, but I guarantee you they're more powerful than Java's. This one actually isn't

    4. The existence of null, or more specifically the fact that you can't statically enforce the not-nullness of a reference. NPE's are ubiquitous in Java; they're an outright plague in fact. See Nice for an example of how to cleanly make null optional, or Groovy for an alternate approach that at least cleanly propagates nulls (though the latter doesn't really solve the problem). C# makes the problem worse in some respects with nullable types, though this isn't really any different than JDK1.5 autoboxing.

    5. No type inference. Not even local type inference. Not even within a single statement.

    6. No structural subtyping. It's related to type inference. Imagine implementing an interface by just implementing it, and not needing the 'implements' keyword. That would arguably be a dubious feature by itself, but taken to its conclusion, you can do away with the duality between classes and interfaces without requiring concrete multiple inheritance in the bargain.


      I'm not claiming Java's type system completely sucks, it just hasn't incorporated any features from the last 20 years or so of programming languages.
  • Re:OS X Intel? (Score:3, Insightful)

    by RightSaidFred99 ( 874576 ) on Wednesday February 21, 2007 @02:48PM (#18099210)
    Wait, what? I'm confused. Microsoft had the only Java runtime? The power to decide Java's fate was in Microsoft's hands, not Sun's? Sure seems like...poor planning on Sun's part, no?
  • Re:OS X Intel? (Score:5, Insightful)

    by arevos ( 659374 ) on Wednesday February 21, 2007 @03:27PM (#18099670) Homepage

    Not fishing for flamewars, but what's wrong with Java's typesystem as it is?
    I think it's pretty good for a static typesystem..
    Compared to other statically typed languages, Java's type system is extremely rudimentary, and before generics, it was positively primaeval.

    For instance, take the following Java code snippet:

    public static <T extends Comparable<? super T>> List<T> maxN(List<T> xs, int n)
    {
        Vector<T> out = new Vector<T>(xs);
        Collections.Sort(out);
        return out.subList(0, n);
    }
    And the equivalent in Haskell:

    maxN n = take n . sort
    Both Haskell and Java are statically typed, and both functions have equivalent typing, yet there is a clear difference between their respective type systems.

    Not only is the Java hugely more verbose, as it lacks any sort of type inference, the type system also fails to catch null values. In Haskell, there is no equivalent of the infamous NullPointerException.
  • Re:OS X Intel? (Score:3, Insightful)

    by uradu ( 10768 ) on Wednesday February 21, 2007 @04:31PM (#18100490)
    > Which is, of course, the reason hundreds of thousands flocked to it when it was created.
    > Heck, they weren't even forced into it. Microsoft simply made the tools available.

    Well, the WHY is a different can of worms entirely and has much more to do with the choices available to an enterprise developer than with any best-of-breed issues. Most enterprises adopt a single software development platform, and that often is Microsoft. Given only Microsoft choices, would you rather develop in VB6, MFC or .NET? Case closed. Tools with the same (or higher) productivity as .NET have been around for a while (see Borland Delphi), but were gradually edged out of the enterprise by convenient comprehensive software contracts with Microsoft--the old "why pay for another tool if we already get one for free"?
  • Re:OS X Intel? (Score:4, Insightful)

    by StarvingSE ( 875139 ) on Wednesday February 21, 2007 @08:43PM (#18103548)
    Microsoft created C# and stopped supporting Java in the windows environment. This is just another one of microsoft's "me-too" technologies that are essentially the same thing as something that is already implemented.

    PS2 -> XBox
    Java -> C# & .net
    Palm Pilot -> PocketPC
    iPod -> Zune

    It's like Microsoft feels that they need to be the market leader in every single market that includes a computer chip or software in the product. Instead of real innovation, they just reimplement whats already out there.

UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. -- Doug Gwyn

Working...