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

383 comments

  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 Salvance · · Score: 4, Interesting

      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.

      --
      Crack - Free with every butt and set of boobs
    2. Re:OS X Intel? by Marcos+Eliziario · · Score: 2, 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.

      --
      Your ad could be here!
    3. Re:OS X Intel? by brewstate · · Score: 1

      If mono and gtk will run on the system then the language will work on the system.

    4. Re:OS X Intel? by smbarbour · · Score: 1, Flamebait

      I know I'll probably lose karma for this... but C# is essentially VB with C++ formatting.

      (I will concede that there are a number of things that C# has that VB still doesn't, but there are few differences otherwise.)

    5. Re:OS X Intel? by funfail · · Score: 3, Interesting

      I believe you meant VB.NET when you say "C# is essentially VB with C++ formatting". VB and VB.NET share very little.

    6. Re:OS X Intel? by daeg · · Score: 3, Interesting

      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.

    7. Re:OS X Intel? by Anonymous Coward · · Score: 0

      um... your missing the point VB isn't being ported to Linux, it's just that now you can compile your VB code to work on Linux.

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

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

    10. Re:OS X Intel? by smbarbour · · Score: 1, Insightful

      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.

    11. Re:OS X Intel? by thermostat42 · · Score: 0, Redundant

      By that logic couldn't you say "C and Fortran are essentially the same things considering they transform into the same x86 instructions." . . ?

      --
      no comment
    12. Re:OS X Intel? by grammar+fascist · · Score: 4, Insightful

      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.
      --
      I got my Linux laptop at System76.
    13. Re:OS X Intel? by daeg · · Score: 1

      If both C and Fortran were compiled into an intermediary instruction set that was then run through an interpreter at runtime before reaching machine level, yes.

      Any .NET language (all 15+ of them) => compiler = same generated CLR / IL instructions (Common Language Runtime). It's a virtual machine, after all.

    14. Re:OS X Intel? by @madeus · · Score: 2, Insightful

      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.

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

    16. Re:OS X Intel? by arevos · · Score: 2, Interesting

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

    19. Re:OS X Intel? by mmkkbb · · Score: 1

      gcc and g77 probably do exactly with that before they start generating object code.

      there are 15 .NET languages? oi!

      --
      -mkb
    20. Re:OS X Intel? by smbarbour · · Score: 1

      Strange... The only problem I ever had with porting VB6 code to VB.NET was the use of the printer object, but even that has been resolved in the latest update to VB.NET 2005.

      I had more problems with porting before VB6.

    21. Re:OS X Intel? by Anonymous Coward · · Score: 0

      correction.. "C# is essentially Java with case/names formatting"

    22. Re:OS X Intel? by Ugot2BkidNme · · Score: 1

      I have to agree although I write exclusively in C# now porting my VB6 projects to VB.Net was pretty easy a couple of my 40K+ line programs took me about 2 hours. Also since I no longer have to bundle objects it made my installer much smaller. I just require the user to have .Net installed.

    23. Re:OS X Intel? by High+Hat · · Score: 1
      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..

    24. Re:OS X Intel? by brilinux · · Score: 1

      You can get null pointer exceptions. So it is not that good.

    25. Re:OS X Intel? by PPH · · Score: 1

      It was Microsoft's way of telling Java developers...
      You mean it was Microsoft's way of telling developers' managers. Developers have screamed in pain over such design decisions handed down. But the Microsoft PR appears to have been aimed at people not familiar with the details of s/w development (i.e. PHPs).
      --
      Have gnu, will travel.
    26. Re:OS X Intel? by JonToycrafter · · Score: 1

      Off-topic, and I don't disagree with your general sentiment, but the road analogy seems off. Urban planning studies generally show that adding road capacity is generally followed by an increase in the number of cars, which makes sense. New roads spawn new development, and as traffic decreases, public transit, carpooling, etc. seem less attractive.

      So in addition to saying that sometimes heavily-trafficked roads ARE unnecessary, or at least that necessity is relative, I'd say the analogy breaks down, unless we believe that there are folks who wouldn't be programmers if not for C#.

    27. Re:OS X Intel? by nuzak · · Score: 4, Insightful
      > 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.
      --
      Done with slashdot, done with nerds, getting a life.
    28. Re:OS X Intel? by nuzak · · Score: 4, Funny

      > people not familiar with the details of s/w development (i.e. PHPs).

      Most apropos typo ever.

      --
      Done with slashdot, done with nerds, getting a life.
    29. Re:OS X Intel? by mpcooke3 · · Score: 2, Interesting

      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)

    30. Re:OS X Intel? by lanc · · Score: 1


      argh! This has happened already once, see the Ultimate Documentary and the One and Only Culture Source

      --
      "First they ignore you, then they laugh at you, then they attack you, then you win." -- Mahatma Gandhi
    31. Re:OS X Intel? by tomstdenis · · Score: 3, Informative

      Not to split hairs, but the pentium ran x86 as well, it differed from the 486 in that it had two integer pipelines. It wasn't until you got to OOE capable processors that RISC was the norm (e.g. P6 and above). Whenever you see "micro" or "macro" operations in the description that's not x86.

      Oddly enough, the move is to make more and more x86 instructions single ops again to try and free up pipeline slots. They're still using the CISC to RISC approach in both camps, but the decoding is becoming more 1-1 then anything else.

      Tom

      --
      Someday, I'll have a real sig.
    32. Re:OS X Intel? by nuzak · · Score: 1

      Congratulations, Captain Pedantic! Now tell me which compilers or runtimes actually target IA32 microcode directly.

      --
      Done with slashdot, done with nerds, getting a life.
    33. Re:OS X Intel? by RightSaidFred99 · · Score: 2, Insightful

      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?

    34. Re:OS X Intel? by VolciMaster · · Score: 1

      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.

      Compiling a language isn't easy - so if they've built a compiler for any given language, first I think they deserve some pretty major props. Second, while IANAL, I think MS would be on some pretty dicey ground to stop someone from compiling their code. After all, if more people are using their language - they make more headway into development mindshare.

    35. Re:OS X Intel? by InsertCleverUsername · · Score: 1

      > Yes, I did mean VB.NET. And I consider C# a bastardization of both
      > C++ and VB.NET.

      No offense, but you might want to reconsider since you're quite wrong, both historically and structurally. Many of Microsoft's tools and software are being written in C# now. The .NET framework itself is largely written in C#. VB.Net, coming from a non-OO heritage, is the oddball.

      > It was Microsoft's way of telling Java developers, "Hey, we've got
      > an easy to use language with C-style formatting!"

      Yeah, they call it J# and I've never met anybody that uses it. But most Java developers I know have found it pretty easy to understand C#. If you understand OOP, it just takes a little time to learn the IDE and the .NET libraries.

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

      Hey, we could all be working in assembly or binary for that matter. It's a well constructed language that taps into a well organized library which rolls up most of the common functionality a modern Windows developer needs. Call me an MS fanboy, but I've definitely found it faster to work with than C++ or Java for Win and web development (YMMV). The downside is that it makes me Bill Gates' bitch.

      > But now, they are essentially forcing people to switch to it by
      > making the XNA toolkit use C# exclusively.

      There's nobody forcing C# on VB.net developers. MS is even continuing to support COBOL.net, as far as I know. However, you are right in a sense. Although not intentionally pushing C#, Microsoft and other vendors are largely working in C#, publishing more examples in C#, and creating tools/components that only work with C#. So VB.NET is being slowly pushed into second class status due to more experienced/prolific/expert OO coders being more comfortable with C#, thus creating more stuff in that language.

      --
      Ask me about my sig!
    36. Re:OS X Intel? by arevos · · Score: 4, Insightful

      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.
    37. Re:OS X Intel? by mpcooke3 · · Score: 2, Informative

      It's not about who "has" the runtime, it's about who *distributes* the runtime.

      So yes, it's entirely up to *Microsoft* to decide whether or not to distribute a Sun compatible Java or an in-compatible Java clone like .NET.

      Originally Microsoft went with a Sun compatible Java, but then as Java started to become popular they tried to break the Sun licensing terms by making an incompatible version of Java that would lock people into using Windows.
      When the court ruled against Microsoft they decided to drop Java support altogethor (effectively killing desktop Java). Then they ripped off the Java language and runtime by making a windows only version AKA .NET.

      But this is old news, my point was merely that anyone who wanted to use a modern Java like language to develop desktop apps and deploy onto Windows had to flock to .NET because Microsoft stopped distributing Java. Quite a familiar formula for Microsoft really see: Internet Explorer versus Netscape.

    38. Re:OS X Intel? by SirLestat · · Score: 1

      The first version of C# was called VB.NET (I was in Beta 1). Of course VB6 programmers didnt like it, so they renamed the thing C# and continued to improve it. They also started a new VB.NET that would have a similar syntax to VB6 just to please the VB6 fans. It still isn't anything like VB6 because VB6 only had among other things very basic object mechanism on which .NET framework rely. That broke the very basic nature of procedural VB6.

    39. Re:OS X Intel? by Sierpinski · · Score: 1

      Strange... The only problem I ever had with porting VB6 code to VB.NET was the use of the printer object, but even that has been resolved in the latest update to VB.NET 2005.

      Interesting, maybe your applications didn't do much then, because I had to rewrite tons of applications porting from VB6 to .NET. Even the App.Path variable "broke". Things which, in my opinion, should have been made backwards compatible forever were immediately deprecated and caused tons of build errors. (I won't say compile errors, I just won't!)

      I have to agree with some of the previous posts though... I went into VB.NET thinking "Well, I already know VB, how hard could it be?" I would have been better off porting it to a more robust (platform-wise) language, because I had to rewrite the whole damn thing anyway.

    40. Re:OS X Intel? by Anonymous Coward · · Score: 0

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

      I'm very curious: how much overhead is there in compiling a program for x86 which is then decompiled into RISC instructions compared to just compiling a program directly to RISC?

    41. Re:OS X Intel? by uradu · · Score: 2, Insightful

      > 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"?

    42. Re:OS X Intel? by MrSteveSD · · Score: 1

      Tell me about it. The company I used to work for had a lot more the 70k lines. They spent hundreds of thousands developing their products over many years. Then Microsoft dumped VB and screwed them and so many other companies. I think the only reason small software houses have not made a big fuss is because they are worried their customers will realise their products are written in a dead language.

      I still find it hard to believe that Microsoft ended a language that was so popular and had tens of millions of important lines of code written in it, representing countless millions of dollars of effort. The thing is, companies are making the same mistake in trusting Microsoft again. If they dumped VB6, what is to stop them dumping .NET and trashing your huge investment all over again? Don't think you can rely on Mono, unless you strictly use Mono to develop your products in the first place.

      P.S. Automatic translation of VB6 into VB.NET is a joke, even in principle.

    43. Re:OS X Intel? by BOFHelsinki · · Score: 0

      (i.e. PHPs)

      Pointy Haired Posse(s)?

      Now in their fifth generation, no less...

      I won't even ask about your username ;-)

    44. Re:OS X Intel? by Orion+Blastar · · Score: 1

      Sorry but BASIC goes all the way back to Dartmouth. Visual BASIC uses a lot of Dartmouth BASIC IP so Microsoft cannot own it all. Real BASIC and True BASIC have Visual BASIC like features, and so does XBASIC and other BASIC languages. In fact Commodore Amiga BASIC was a bit like Visual BASIC before Visual BASIC was developed.

      Mono does not use any Microsoft source code, all it does is use the .Net Framework by writing its own version of it based on the open standards that Microsoft gave to interface with it. Microsoft makes the Visual BASIC.Net language well documented, and Mono BASIC uses the same syntax and keywords as the Microsoft version so it can compile. Free Pascal did this with Turbo Pascal and Delphi to compile Pascal from those compilers in the same way.

      Visual BASIC for GNU/Linux is a good thing, it means more applications for GNU/Linux and Corporations no longer have the excuse "Linux does not have Visual BASIC so we won't adopt it or develop for it" any more.

      I made a living developing Visual BASIC for over a deacade, so I know how valuable it is to corporations.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    45. Re:OS X Intel? by kiddygrinder · · Score: 1

      They have a bunch of patents on .NET framework, the mono team has basically acknowledged that ms could shut them down with a snap of their fingers. MS said they super swear not too but they have not put anything in writing so everyone's just kinda pretending everything is ok.

      --
      This is a joke. I am joking. Joke joke joke.
    46. Re:OS X Intel? by Anonymous Coward · · Score: 0

      Wasn't Commodore Amiga Basic actually written by Microsoft?

    47. Re:OS X Intel? by Belial6 · · Score: 2, Informative

      Amiga Basic was written by Microsoft. The basic on the C64 was as well.

    48. Re:OS X Intel? by killjoe · · Score: 1

      "Which is, of course, the reason hundreds of thousands flocked to it when it was created. Right? "

      Windows programmers will always use MS languages no matter what. Even if competing languages and IDEs are better (see delphi vs VB) they will still use MS products.

      Windows developers by definition as MS fanbois.

      They flocked to C# because it was better then C++ and it was made by MS. It has nothing to do with whether C# was good or not. After all it was just a rip off of java and they could have switched to java years earlier.

      --
      evil is as evil does
    49. Re:OS X Intel? by koreaman · · Score: 1

      Just out of curiosity, what is the harm in Microsoft "discontinuing" VB? Granted, no new versions of the language will be released, nor patches for compilers, etc., but that doesn't suddenly make current tools stop working. Why is their discontinuation of VB so terrible for companies that use the language?

      I'm a high school student who's never actually worken in the real computer industry so forgive my naïveté. This is a real question, not a rhetorical one posed with the objective of starting an argument with you.

    50. Re:OS X Intel? by koreaman · · Score: 1

      It's impossible for RISC instructions to be directly fed from memory to an x86 processor, so your question is meaningless, as "comiling a program directly to RISC" doesn't make sense in this context.

    51. Re:OS X Intel? by Anonymous Coward · · Score: 0

      If this works as "advertised" I would be VERY interested in it.

      I'm a web programmer, and most of the stuff I do are PHP and .NET nowadays (mainly PHP).

      I maintain several websites (some of which was developed 6+ years ago or so) and a LOT of them are in pure VB6.

      It doesn't make business sense to my company to rewrite those websites in a different language to get rid of Windows (as most of the clients are paying just for hosting).

      If I can port these applications to FreeBSD (or Linux) with minimal overhead, I will do it in a heartbeat and get rid of most of our windows webservers and convert them into FreeBSD or Linux boxes.

      Just my 2 cents.

    52. Re:OS X Intel? by MrSteveSD · · Score: 2, Informative

      Just out of curiosity, what is the harm in Microsoft "discontinuing" VB? Granted, no new versions of the language will be released, nor patches for compilers, etc., but that doesn't suddenly make current tools stop working.

      No, they won't suddenly stop working but customers who use your VB6 applications expect to keep moving forward technologically. So when they install Vista, or SQL Server 2005 or whatever, and suddenly your VB6 application doesn't work as expected, you could be in real troublem since Microsoft may not fix it. Also companies may not even buy your product any more, knowing that Microsoft will not be supporting or enhancing the language you have used.

      Why is their discontinuation of VB so terrible for companies that use the language?

      Well aside from the possible failure of VB6 libraries etc, to work properly on future operating systems, companies who's products use VB are also not really able to enhance them. What happens when everyone is releasing 64 bit versions of their applications? VB6 is 32 bit. And what happens when people start selling competing products that can use multiple cores? Since Microsoft no longer supports VB6, it certainly won't be improving the multi-threading features. An what happens if Visual Studio 6 has problems running on future operating systems?

      Basically once a proprietary language like that is dumped, you are in real trouble. It's not like you can just shift over to a new vendor. If Microsoft dumped their C++ product, at least you have the possibility of moving your code over to Borland products, or even some open source efforts.

      The only option is really to do a total rewrite, and that is something that many companies do not have the time or finances to do.
    53. Re:OS X Intel? by BOFHelsinki · · Score: 0

      he 486 was the last processor to actually execute x86 instructions. You refer to the legendary P6 core (PPro, PII, PIII, sorta PM and Core too). The U and V pipelines in the original Pentium were pretty much straight x86. Since then all intel x86 processors run an x86 virtual machine on a RISC CPU. You are heavily oversimplifying here -- these cores (P6, NetBurst, Core2) are best described as hybrids. See for example the excellent ArsTechnica articles on the byzantine RISCyness of IA32 CPUs :-)

    54. Re:OS X Intel? by Grant_Watson · · Score: 1

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

      Apples and oranges. What is knowable at compile-time in a functional language like Haskell is not the same as what is knowable at compile-time in an imperative language like Java.

      Now, duck typing in a statically-typed compiled language would be interesting. Anyone know of any examples?

    55. Re:OS X Intel? by mrchaotica · · Score: 1

      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.

      The difference in that case is that at the time the road was built, there really wasn't much traffic, and the existence of the road allowed new stuff to be built which then caused the traffic. If there had been no road, the town would have simply remained more compact instead.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    56. Re:OS X Intel? by mrchaotica · · Score: 1

      But what happens in Haskell when you try to pass an argument with no sort() method? The "extends Comparable" part in the Java code catches that at compile-time, but I don't see how the Haskell version could do the same.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    57. Re:OS X Intel? by Orion+Blastar · · Score: 1

      Actually before the BASIC written by Microsoft there was one called ABasiC in the first models of Amigas. The BASIC that replaced it was written by Microsoft to match the Macintosh version of BASIC also written by Microsoft. Commodore Amiga BASIC was ABasiC, and Microsoft Amiga BASIC was the version that Microsoft wrote. ABasiC was the Visual BASIC type language also known as Commodore Amiga BASIC, Commodore used it to create AmigaVision which existed before Powerpoint and did Multimedia presentations and demonstrations and also used a scripting language named A-REXX based on the IBM version of REXX. This was before Powerpoint and Visual BASIC for Applications were invented.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    58. Re:OS X Intel? by Orion+Blastar · · Score: 1

      I can see you don't know the difference between MS-BASIC and ABasiC.

      ABasiC was the original BASIC for the first series of Amiga systems, it was not written by Microsoft, and it was written to be easier to program on and to use objects and graphics a lot better and interface with AmigaDOS, it was known as Commodore Amiga BASIC. The problem was that ABasiC could not run Microsoft BASIC source code, and a lot of programs were written for Microsoft BASIC. Microsoft made Microsoft Macintosh BASIC for the Macintosh, so Commodore had Microsoft write Microsoft Amiga BASIC for the Amiga and replaced ABasiC with it, sacrificing ease of use for compatibility. Like the C64 version of Microsoft BASIC, the Microsoft Amiga BASIC was very limited in what it could do because it was not as advanced as Simon's BASIC (on the C64) or ABasiC on the early AmigaDOS systems.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    59. Re:OS X Intel? by Anonymous Coward · · Score: 0

      sort is not a method, but a polymorphic function that works on lists of all types where the elements are comparable, i.e. they implement the "Ord" typeclass (roughly equivalent to an "interface" in Java). Note that a Haskell implementation enforces this at compile time.

    60. Re:OS X Intel? by StarvingSE · · Score: 3, Insightful

      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.

      --
      I got nothin'
    61. Re:OS X Intel? by h2g2bob · · Score: 1

      According to Forrester Research
      Wow, then it must be true!
    62. Re:OS X Intel? by Dirtside · · Score: 1

      Pointy-Haired Programmers? :)

      --
      "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    63. Re:OS X Intel? by Lord+Kano · · Score: 1

      Miguel,

      To quote your namesake, you are "A bad motherfucker!"

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    64. Re:OS X Intel? by mgiuca · · Score: 1

      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.
      Novell owns Mono, and Microsoft owns Novell. All the .NET code is once again back in Microsoft's hands, and what self-respecting monopoly wouldn't want that?
    65. Re:OS X Intel? by setagllib · · Score: 1

      'Boo', a language with roughly Python-like syntax for the .NET runtime. It also has bonus type inference and a generally nice feel to it, even though it's not quite complete. I'd still rather code in real Python myself, since the base library is a Unix programmer's dream, and pure duck typing feels a lot more expressive. Anything that needs to go much faster is either in a C library already, or I can make my own.

      --
      Sam ty sig.
    66. Re:OS X Intel? by edwdig · · Score: 1

      Just out of curiosity, what is the harm in Microsoft "discontinuing" VB? Granted, no new versions of the language will be released, nor patches for compilers, etc., but that doesn't suddenly make current tools stop working. Why is their discontinuation of VB so terrible for companies that use the language?

      Visual Studio 6 won't install on Vista. IT was supposed to install it for me today to do some testing of our existing products. I didn't get all the details, but the gist of it was that the basic install completed but didn't actually work. The service packs wouldn't even install.

      Ok, so you say develop on XP with Vista in mind. If you do that, how do you debug problems that only occur on Vista?

    67. Re:OS X Intel? by Anonymous Coward · · Score: 0

      Apart from anonymous delegates and unsafe code, what else can C# do, that VB.NET cannot?

    68. Re:OS X Intel? by Lars512 · · Score: 1

      x86 instructions are much lower level than the CLI runtime is, which is the crux of the matter. VB.NET and C# can use the same libraries, and can probably have similar code generated for them. Their similarities probably push some of the syntax, and some of the practicalities of using them on a day-to-day basis, closer together. You can't say the same for C and Fortran.

    69. Re:OS X Intel? by andcal · · Score: 1

      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.


      Most inventions are only improvements of older technology (or new combinations of previously uncombined technology). And Microsoft actually does innovate to this extent all the time.
      Sony didn't invent the game console, and Apple didn't invent the mp3 player, but they both improved existing technology enough to change the market forever.
      I suspect when people talk about "real innovation", they might be referring to disruptive technology (something radically different enough to disrupt the current status quo, like how the automobile replaced the horse & buggy).
      Since Microsoft is such an established company in PC software, it has everything to lose by inventing majorly disruptive technology to compete with its own existing business (and likely sued for who knows what reason this time).

      And how much longer can MS keep people upgrading their operating systems and office versions enough to keep stockholders happy? To continue to meet earnings expectations quarter after quarter, they have to branch out into fields they have previously not been in. If you are going to expand your business into new fields, it does make sense to start by using proven successful formulas, and then making them better (or at least cheaper. Or at least get a vendor lock-in).

      --
      --something witty
    70. Re:OS X Intel? by samkass · · Score: 1

      As a desktop Java developer, I can say that the single biggest thing that makes me wish we were on a platform other than the JVM is lack of heavyweight/lightweight mixing and therefore lack of Swing/ActiveX embedding. Thus, any .NET application has huge instant advantages in the Windows/Office/IE world that is the reality of the corporate desktop. This is a feature Sun has repeatedly promised then pushed out to future releases. In addition, they have quite a few JVM crashing bugs in AWT, Swing, and Java2D that have been filed and voted on in their bug system for years that they haven't gotten around to addressing. Finally, JNI is a pretty awful way of having to link to existing native libraries, and all the earlier, better native implementations were deprecated when it came out in the late 90's.

      Sun voluntarily ceeded the desktop market for dynamic development languages more than any other competitor, including Microsoft, won it.

      --
      E pluribus unum
    71. Re:OS X Intel? by Anonymous Coward · · Score: 0

      >(roughly equivalent to an "interface" in Java).

      Indeed. It's called Comparable.

    72. Re:OS X Intel? by Hal_Porter · · Score: 1

      One extra pipeline stage to do the translation from x86 into one or more uops? At least, that's how Jazelle is. Modern x86s are more superpipelined than Arm, so maybe a couple of extra stages. So a mispredicted branch is more costly, but then again you have industrial strength branch prediction in a modern x86 anyway. Probably compared to the superscalar logic it's not too significant. And most of the die space is used by the cache anyway, so increasing the core size is probably not an issue.

      Someone asked the Athlon 64 team leader, and he said something like "I don't know, but it's worth it"

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    73. Re:OS X Intel? by hilton_a · · Score: 1

      'Windows programmers will always use MS languages no matter what. Even if competing languages and IDEs are better (see delphi vs VB) they will still use MS products.'

      More brilliant analysis.

      'Windows developers by definition as MS fanbois.'

      OMG it just gets better and better

      'They flocked to C# because it was better then C++ and it was made by MS. It has nothing to do with whether C# was good or not. After all it was just a rip off of java and they could have switched to java years earlier.'

      Now I can see why no-one bothered replying.

    74. Re:OS X Intel? by Mr2cents · · Score: 1

      Now I can see why no-one bothered replying. D'oh!
      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    75. Re:OS X Intel? by Spacejock · · Score: 1

      I'm still writing VB6 code. In fact, I earn my keep with a VB6 app which is up there with the best programs of its kind available worldwide.

      I'm making tentative steps towards dotnet, but to do so I first have to convert my underlying libraries of useful code. Many of them will probably become wrappers for new dotnet commands, but I know that while I'm converting it all I certainly won't want to be making changes to the older stuff.

      Right now I'm writing a VB6 project simplifier which will help - it'll save out a new copy of a project with only the subs, functions and properties that are actually used. Then I can just run the converter on that.

      Meanwhile I have another Hal Spacejock novel to write. It's the fourth in the series, so I'm starting to get issues with backwards compatibility there too.

    76. Re:OS X Intel? by arevos · · Score: 1

      Apples and oranges. What is knowable at compile-time in a functional language like Haskell is not the same as what is knowable at compile-time in an imperative language like Java. There is nothing in the Java code snippet that could potentially known at compile time. Consider the following pseudocode, representing the Java example with all types removed (I'm using .clone() instead of new Vector() to that end):

      maxN(xs, n) {
          out = xs.clone();
          Collections.sort(out);
          return out.subList(0, n);
      }
      The first line tells us that xs must be Clonable, and that out is the same type as xs. The next line tells us that out is at least a Collection<T>, where T extends Comparable<? super T>, and therefore xs is also a Collection<T>. The third line narrows this down further, and tells us that out is a List<T>, and thus xs is a List<T>, and that n is something that can be boxed into an int. Finally, we can deduce that the return value must be List<T>, because that's what out.subList returns.

      Therefore, everything in the example can be deduced just as easily in a Java-like syntax than in a functional one.

      Type inference has been around for over two decades. There are well understood algorithms for deducing type. Applying such inference to an imperative object orientated language like Java is not particularly more difficult than applying them to a functional language.

      Now, duck typing in a statically-typed compiled language would be interesting. Anyone know of any examples? Boo (an OO .NET language based on Python) uses duck typing, and OCaml (a mostly function OO language) uses a variant of it as well.
    77. Re:OS X Intel? by arevos · · Score: 1

      But what happens in Haskell when you try to pass an argument with no sort() method? The "extends Comparable" part in the Java code catches that at compile-time, but I don't see how the Haskell version could do the same. The Haskell code is a little misleading, as it uses function composition (the . operator), which isn't found in Java. Here's the same function expanded out a bit to make it clearer:

      maxN n xs = take n (sort xs)
      Or, in C-like pseudocode:

      maxN(n, xs) {
          return take(n, (sort(xs));
      }
      Haskell isn't an object orientated language. The take and sort functions do not belong to any particular object. However, aside from that, the functions work more or less the same to subList and Collections.Sort in Java. In Java, you need to inherit from Comparable. In Haskell, you need to have a type deriving Ord. Same thing.

      The Haskell compiler knows that xs must derive from Ord, by looking at the arguments the sort function expects. Likewise, it knows that n must be a Integer, by looking at the arguments that the take function expects. From the functions and operators referenced, it can infer the type of the enclosing function.
    78. Re:OS X Intel? by aled · · Score: 1


      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.


      Yes, it is. Being recognized as the market leader is one of the things that makes MS gain billions of dollars each year.
      --

      "I think this line is mostly filler"
    79. Re:OS X Intel? by doug363 · · Score: 1

      Were you looking for the IsNot patent? It was covered on /. a couple of years ago. The patent specifically refers to Visual Basic .NET.

    80. Re:OS X Intel? by Anonymous Coward · · Score: 0

      I think your are right on with this review of java. I use it a lot and the JIT is dam fast now. But It is just C++ with the "don't" enforced and without proper generaics/abstract data types.

      I would use Scheme or these other langs, but the error msg you get are just plain uninformativive. Also NPE are better than a seg fault IMO.

      The real problem is that most langs that are used are 20+ years old. I mean Perl, C or C++ arn't new in anysence of the word. Hell even the new langs arn't really big steps up from LISP. (My first computer lang since i don't count asmbly)

    81. Re:OS X Intel? by Flodis · · Score: 1

      There's nobody forcing C# on VB.net developers. MS is even continuing to support COBOL.net, as far as I know. However, you are right in a sense. Although not intentionally pushing C#, Microsoft and other vendors are largely working in C#, publishing more examples in C#, and creating tools/components that only work with C#. So VB.NET is being slowly pushed into second class status due to more experienced/prolific/expert OO coders being more comfortable with C#, thus creating more stuff in that language.
      I'm pretty sure VB isn't being pushed into second class status. It was designed to be that way.

      By killing of VB6 and making VB.NET a dead duck from the start they ensured that the new C# language would gain large adoption.

      The more experienced/prolific/expert OO coders move from VB6 to C# because C# seems to be getting all the goodies they requested be put in VB5, VB6, VB7 and so on. And when VB.NET turns out to be:
      a) quite far from VB6
      b) you can't leverage existing skills
      c) you can't reuse proven class libraries
      d) it's still proprietary, so you may need to bend over yet again sometime in the future

      ... the move to a completely different language becomes a no-brainer. If your shop is an MS-shop, that is either C# or C++, and if you didn't pick C++ the last time, you're likely to go for C#.

      (That's what I did, and so far, C# seems to have more VB spirit than VB.NET.)
    82. Re:OS X Intel? by thaneross · · Score: 1

      Okay, not to get too far off-topic, but this is just getting silly.

      1. If you want everything to be an object, use Smalltalk. Primitives underly all data values in Java primarily for speed purposes, not due to legacy cruft issues. And frankly, it just makes sense; why on earth does the number 7 need to be an object? As for autoboxing, yes, if you're an idiot and your program doesn't bother doing any data validation / sanity checks, you might hit a problem like this.

      2. Yes, erasures are sub-optimal, and there are some corner-cases in generics because of them. In practice however, they work just fine in 99% of normal usage cases. And unlike C++ templates, they're not so bloody complex that people don't use them. (you know the old joke that C++ templates are Turing complete...)

      3. I'm not entirely sure what you're trying to say here. What constraints do you want beyond type hierarchy?

      4. Null isn't some evil force that blows up programs. It provides another testable value that's a much better alternative to passing around meaningless 'placeholder' values. NPEs are bug alerts.

      5. This is being debated for inclusion in Java 7. The problem with (most forms of) type inference is it occurs during runtime. By not explicitly declaring types, the compiler is left guessing what type will actually be provided. This ambiguity leads to all sorts of fun problems; try asking your IDE to autocomplete a variable when the type can only be determined at runtime. This kind of thing is best left to dynamic languages, where it gets the most benefit for the least cost.

      6. I have no idea what you're talking about here. What's the problem with implementing interfaces?

    83. Re:OS X Intel? by shadwstalkr · · Score: 1

      They have similar syntax for a reason. Java was made to look like C++ (which was made to look like C), because C++ developers were the initial target audience. C# was made to look like Java, because Java developers were the initial target. PHP was initially supposed to be like Perl and C, because that's what web developers used when it was designed. The OO syntax that has been tacked on in the last two versions looks like Java, because Java has become the dominant interpretation of the OO paradigm. This is because most CS and programming trade schools teach OO using Java.

      So they're all similar because they all descend from C to make developer transition easy, and because most developers only know the few most commonly used languages. It really has very little to do with ease of syntax. (Yes, I'm a Lisp snob).

    84. Re:OS X Intel? by Shaper_pmp · · Score: 1

      Which is, of course, the reason hundreds of thousands flocked to it when it was created... I've seen environmentalists view a heavily-trafficked road and declare that building it was completely unnecessary.
      Convenience != Necessity.

      Something isn't necessary unless you need it.

      People will use something once it exists merely because they want to - for example, because it's more convenient.

      Want != Need.
      --
      Everything in moderation, including moderation itself
    85. Re:OS X Intel? by Shaper_pmp · · Score: 1

      You know... this could be said to be more a statement about the relative abilities of VB and non-VB programmers than about the relative merits of C#.

      Like, perhaps... most of the good programmers use C# and other languages, whereas the people who learned on VB only know... VB.

      Or the majority of good programmers took one look at .NET and jumped ship to other platforms, leaving a majority of VB-only weenies[1] to make up the numbers.

      [1] Not to say you can't write good code in VB, merely that of all the people I know, those who learned VB first tended to stop there, whereas those who learned C/C++/Java/Perl/PHP/Javascript(!)/etc tended to go on and learn other languages, broadening their horizons and becoming better programmers as a result.

      Hopefully VB.NET's semantic near-equivalence to C# and other .NET languages will encourage them to diversify, but TBH it seems to be more a problem with the general culture associated with VB than with the language per se.

      --
      Everything in moderation, including moderation itself
    86. Re:OS X Intel? by Tuxnco · · Score: 1

      Yeah, for sure there isn't any linux user who want to use VB, but It's definitely a good idea to provide people using M$ technologies an easy (straigth forward) way to run their existing apps on linux. The first advantage is clearly the opportunity to run the same code on any OS, and the second one is that many small and medium companies would switch to linux if they have no more compiler-like difficulties to face.

    87. Re:OS X Intel? by LWATCDR · · Score: 1

      Well for one thing bug fixes.
      Way back in the dos days I supported a program that was written in Borland pascal. It was a very good product but when we started development on the windows version we moved development to Microsoft C++. Or old dos product was so good that people kept using it long after our new windows version was out. Then the problem came. Borland used a timing loop in their CRT unit. When CPUs got to a certain speed it would cause a division by zero error.
      You can not depend on software that isn't under current development. Eventually you will run in to a problem.
      While I think VB is one of the all time bad ideas just imagine this.
      Your company depends on a program that is written in VB6. Some new version of Windows comes out and it fails. Then you are left with a real bind.
      The only smart thing to do is to port it while it still works to a new active development environment before you are forced too.

      I have not messed with mono but anything that has .net attached to it makes me feel ickky.

      I will stick to c++, c, and Java.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    88. Re:OS X Intel? by smbarbour · · Score: 1

      I am a VB6/VB.NET programmer. I have learned C/C++ and Java, but they are largely forgotten now as there was no reason to do the exact same thing at half the development speed.

      We live in a world of "I want it now" people, therefore we need to use "I want it now" tools. VB isn't the right tool for every job, and giving a hammer to an idiot doesn't make him a carpenter. If anything, the VB.NET compiler for Mono will be a great thing. There are plenty of competent VB programmers out there that just don't know c/C++ well enough and don't have the time and resources to switch to a more platform-independent language. Now there is a great possibility for apps that were written for Windows will be easily ported to Linux. Reliance on proprietary applications is one of the largest blocks to widespread adoption of Linux. Hopefully, this will be a good thing.

    89. Re:OS X Intel? by Anonymous Coward · · Score: 0

      The thing is, he's most likely correct.

      It's the same with Apple and new technologies, the fanbois jump on them.

    90. Re:OS X Intel? by nuzak · · Score: 1

      I just have to ask: why did you see my post as some kind of attack on Java? Are you personally invested in its type system? I simply answered the areas where I felt the type system is less than ideal. I don't feel any desire to take the conversation in the direction of an argument, which appears to be where you clearly want it, even throwing around terms like "idiot".

      And yes, there are alternatives: you can handwave anything away with the turing-completeness argument, but it doesn't address the language under discussion, which is Java. I could have made my presentation more balanced and presented the pros as well as the cons (erasure for example had obvious wins in the area of practicality), but it wasn't my intent to be balanced. Your rebuttals would do well to be based a little more in fact to serve as counterpoint: for example, type inference never occurs at runtime. Never.

      --
      Done with slashdot, done with nerds, getting a life.
    91. Re:OS X Intel? by crystalattice · · Score: 1

      If you "want it now", why use VB? Heck, why use any "traditional" language? Python, Ruby, et al. are the so-called hot languages for rapid development. No compiling, flexible use, easy to learn, and inherently cross-platform. And now you can use IronPython if you want .NET compatibility.

      Just a thought.

      --
      Free Programming BookLearn to program
    92. Re:OS X Intel? by Grant_Watson · · Score: 1

      Type inference has been around for over two decades. There are well understood algorithms for deducing type. Applying such inference to an imperative object orientated language like Java is not particularly more difficult than applying them to a functional language.

      But earlier you complained about NullPointerExceptions, which seems to be a problem with predicting values, especially in client code-- that is the potential problem I meant. I didn't doubt that inferrence could be used in an imperative language (sorry if I came across that way), but I don't know how successfully; a (very smart) friend worked with O'Caml for a semester project and complained about trying to get the language to infer types correctly.

      I'm curious enough to look into Boo, though.

    93. Re:OS X Intel? by jhfry · · Score: 1

      I am pretty certain that it would be difficult to pursue a case on this one.

      I am assuming that Mono is not using any of MS's code, they are simply compiling the source code to something that closely resembles the app that was written in VB.

      I don't think MS can enforce a patent on a language... it's not like they can tell me what I can type into a common text file. If they can patent the VB language, then I want a patent for English, Chinese, Hindi, and a few other common languages... everyone can pay me a small royalty for every written word or recorded word... words spoken but not broadcast can still be free, as it would be too hard to track that.

      --
      Sometimes the best solution is to stop wasting time looking for an easy solution.
    94. Re:OS X Intel? by arevos · · Score: 1

      But earlier you complained about NullPointerExceptions, which seems to be a problem with predicting values Types are just a way of restricting values. In many languages, such as Haskell and OCaml, there is no null value in the same way that Java supplies it. Instead, they have a type wrapper to provide the same functionality. In Haskell:

      data Maybe a = Nothing | Just a
      In OCaml:

      type 'a option = None | Some of 'a
      The advantage with this approach is that a value can only be "null" when placed in a wrapper. In order to call a function that does not allow nulls with this value, you first have to extract it from the wrapper, which means you have to explicitly check that the value isn't null before sending the value to the function. NullPointerExceptions are thus impossible under Haskell or OCaml, as non-nullness is checked at compile time.

      Incidentally, the JVM based language, Nice, also checks nullness at compile time, so there's no technical reason why Java couldn't do this.

      a (very smart) friend worked with O'Caml for a semester project and complained about trying to get the language to infer types correctly. Problems with type inference occur when the types used are ambiguous, and in such cases, have to be specified manually (and in such cases, you're no worse off than with Java). I've very rarely come across such situations, though, and I suspect it was more an error on my part than that of the language. I haven't used OCaml as much as Haskell, but I suspect the type inference systems are more or less the same.

      Can you recall any specific functions he was having problems with?
    95. Re:OS X Intel? by Grant_Watson · · Score: 1

      Can you recall any specific functions he was having problems with?

      Sadly, no. I was working with Scheme at the time and *other* kinds of weirdness. ;-)

    96. Re:OS X Intel? by Anonymous Coward · · Score: 0

      ..started a long time ago
      Lotus 123 -> Excel
      Wordperfect -> word
      dbase(?) -> Access
      Netscape -> Internet Explorer
      oracle,sybase... -> MSSQL Server

      and going on...
      Vmware -> MS virtual machine

      oh well we could fill hundred of pages of that...

    97. Re:OS X Intel? by mpcooke3 · · Score: 1

      I agree that there are serious issues with the whole AWT-Swing debacle. But I don't personally believe that is what killed off desktop Java. I think the original GPL-incompatible Java license killed off Linux desktop Java development and Microsoft (probably correctly from maintaining a monopoly perspective) killed off Windows desktop Java by dropping it and making .NET.

      There was hardly much point in Sun fixing all the issues with desktop application development given that desktop Java was hardly deployed anywhere.

      Also it suffers from the fact that the Operating System vendors always want to make the latest greatest proprietary OS features available to developers and Java's guaranteed cross-platform-ness prevents them from doing this through Java in a well integrated way.

      With regard to ActiveX in desktop Java, have you tried SWT rather than Swing? http://www.eclipse.org/articles/Article-ActivexSup portInSwt/index.html

    98. Re:OS X Intel? by smbarbour · · Score: 1

      I've looked at Python and Ruby, and both seem rather arcane, not to mention that neither provides a GUI framework. Not everyone produces Web-only apps.

    99. Re:OS X Intel? by crystalattice · · Score: 1

      Not sure what you mean. Python has the Tkinter GUI library built in and has many different GUI frameworks to use, such as wxPython, PyQt, GTK, etc. I believe Ruby has many of these options too, though I've only just started looking at Ruby.

      Python and Ruby can be used for stand alone or web apps, and IronPython uses the same .NET framework as VB.NET, so I'd assume the same GUI code could be used with it.

      As to the arcane aspect, that's a personal call. I personally feel they are some of the easiest languages to learn, having first learned C, C++, and Java. I'd suggest giving them another try, perhaps IronPython.

      --
      Free Programming BookLearn to program
    100. Re:OS X Intel? by Shaper_pmp · · Score: 1

      Not to impugn your abilities as a programmer, but this kind of reinforces my point - VB doesn't make bad programmers, but learning VB as a first/main language does make programmers who find it harder to learn to think in any language other than VB.

      The disparity in syntax/design/philosophy/culture/whatever between VB and the brackets-and-braces languages like C/C++/Java/Javascript/Perl/Python/Ruby/etc means people who learned VB as a first/main language tend not to learn the other languages easily, so they tend to spend most of their time working in VB, which of course reinforces their way of thinking and making all other languages even harder to learn.

      To be fair it's not nearly as easy to knock up GUI apps in Ruby or Python when you're coming from a Microsoft-centric background in VB, this is true. Unfortunately, it's not nearly as easy because it demands a very different approach to the one you're used to.

      The clinching evidence (for me personally) is that, while I know a lot of people who learned VB, learned Visual C++/Java/Perl/Python/Ruby/whatever to the same standard and now prefer to work in their "second" language, I don't know one person who first learned a brackets-and-braces language and then VB, and prefers to work in VB.

      Of course YMMV, but it seemed pretty telling to me.

      --
      Everything in moderation, including moderation itself
    101. Re:OS X Intel? by Shaper_pmp · · Score: 1

      "I am a VB6/VB.NET programmer. I have learned C/C++ and Java, but they are largely forgotten now as there was no reason to do the exact same thing at half the development speed."
      This is kind of my point - while C/C++/Vicual C++/Java/whatever are slower to develop in than VB, they allow you to do much more complex things much more reliably. They also allow you to develop much larger applications more efficiently, because they generally encourage you do things The Right Way (rather than The Quick Way, which VB tends to favour).

      If someone doesn't see any difference between languages (heck, even C# has some lovely features missing from VB.NET) it's often because they simply haven't learned those other languages well enough. To quote Paul Graham: "If you only eat at McDonalds, the food will seem the same in every country". ;-)

      VB has its place, without a shadow of a doubt; that place is for small rapid application development jobs by an already disciplined, skilled programmer. Unfortunately what it mostly gets used for is knocking up applications (of any size right up to "enormous") by people who haven't already learned the discipline and mental agility needed to avoid VBs many "convenient but bad" features or shortcuts.

      This being Slashdot, let's have a car analogy. ;-)

      VB is a scooter - it's brilliant for getting going quickly, and if you only take the scooter everywhere you see nothing wrong with it.

      Brackets-and-braces languages tend to be more like cars - it takes a while to get going (open door, sit down, put seat-belt on, check mirrors, turn ignition, clutch down, into gear, etc, etc, etc, etc, etc) but it'll take you further quicker in the long run.

      If you're used to taking a scooter everywhere, cars are nasty - they're loud, obnoxious and intimidating to share the road with, and you wonder why anyone would want to drive one every day. The first few times you try to drive a car it's a positively weird experience - although it's not as scary inside as it is outside, it never seems to behave like you expect - you find yourself annoyed that it makes you jump through so many hoops to use it.

      However, if you learn to drive a car than the speed and power it gives you means you never, ever want to go back to relying on a scooter ever again.

      Make sense?

      If anything, the VB.NET compiler for Mono will be a great thing. There are plenty of competent VB programmers out there that just don't know c/C++ well enough and don't have the time and resources to switch to a more platform-independent language. Now there is a great possibility for apps that were written for Windows will be easily ported to Linux. Reliance on proprietary applications is one of the largest blocks to widespread adoption of Linux. Hopefully, this will be a good thing.


      Fair point - I was half-joking in my original agreement with Savance's statement. VB on Linux is a Good Thing, but it does present the spectre of hordes of crappy VB-only bedroom shareware programmers unleashing wave after wave of apps of... varying... competence and reliability on what was a platform generally populated by better-written programs. It was more a joking "elitist snobby aesthetic" objection than one grounded in sensible business cases and real-world requirements. ;-)
      --
      Everything in moderation, including moderation itself
  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.
    1. Re:Uuuhh.. sure... by WED+Fan · · Score: 3, Informative

      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.

      --
      Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
    2. Re:Uuuhh.. sure... by Short+Circuit · · 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.

    3. Re:Uuuhh.. sure... by mr_sas · · Score: 1

      Visual Basic since versions after 6 isn't really that tied to Windows, it's tied to .net. The only windows specific things are things such as the gui code (Windows.Forms, drag and drop event handlers etc) and that part of the framework was already implemented for mono when they did the c# work.

      This stuff already works for c# projects and they both just compile down to the same IL byte code.

    4. Re:Uuuhh.. sure... by jackhererUK · · Score: 1

      So long as you code is purely .net it should port with no modifications. If you have used COM interop stuff then it would probably fall over. This applies to any .net stuff that runs on mono, it's got to be pure .net.

    5. Re:Uuuhh.. sure... by Jaseoldboss · · Score: 1

      It's "Under heavy development" according to their site.

      www.mono-project.com/WinForms

    6. Re:Uuuhh.. sure... by Anonymous Coward · · Score: 0

      Nothin' but net! :P

    7. Re:Uuuhh.. sure... by TheRealMindChild · · Score: 1

      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.

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    8. Re:Uuuhh.. sure... by molarmass192 · · Score: 1

      Considering that VB6 objects beyond the most basic types are are virtually all implemented as ActiveX controls, I'd say you're right. I'd guess that far upwards of 50% of the functionality lies outside the scope of the VB6 runtime. I'm sure it's possible to get VB6 *source code* to run on Linux with a lot of work and a code parser to reinterpret the thing, I've done this for ASP which isn't that far removed, but compiled VB6 apps, although possible in theory, is just too herculean an effort.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    9. Re:Uuuhh.. sure... by Anonymous Coward · · Score: 0

      I can tell you without having looked at it that it will not run most serious grade Visual Basic applications. Part of why VB didn't fall into the 'toy' language category was the very easy mechanism for calling native operating system DLL's. VB is nothing more than a very light language that's tied heavily ito the OLE / COM systems of Windows, which is why it's a porting nightmare.

      Realistically, the Mono guys have just ported the language and without the classes and object libraries that back it up (almost all of which are just Windows system libraries) it's something of a lemon. C# suffers from this problem less primarily because it's class libraries are much stronger and extensibility of those libraries is easier to achieve.

      Nice work, but no real use.

      Regards,
      -Steve Gray

    10. Re:Uuuhh.. sure... by WED+Fan · · Score: 1

      I can tell you without having looked at it that it will not run most serious grade Visual Basic applications. Part of why VB didn't fall into the 'toy' language category was the very easy mechanism for calling native operating system DLL's. VB is nothing more than a very light language that's tied heavily ito the OLE / COM systems of Windows, which is why it's a porting nightmare.

      You are really describing VB and not VB.NET. The article headline is wrong, and thus, for those still hanging onto old ideas, supersticions, and prejudices, it can be confusing. But, that's the Editor's job to correct if the Submitter got it wrong.

      --
      Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
    11. Re:Uuuhh.. sure... by BalanceOfJudgement · · Score: 1

      That's not entirely true. Mono has implemented the functionality in a few of the MS specific DLL's (such as User32.dll). That said, there's a monster of functionality in those dll's that they have NOT implemented and you're right, the vast majority of P/Invokes are not portable.

      Which really stinks, because many times .NET simply doesn't provide the functionality you need and you have to resort to P/Invokes to get things to work.

      --

      We are the fire that lights our world.. and we are the fire that consumes it.
  3. More Choice by WED+Fan · · Score: 3, Insightful

    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.

    --
    Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
    1. Re:More Choice by fitten · · Score: 1

      Yep. I know that I've done some things on Linux using Mono writing it in C# lately. We use it on Windows and it's easy to go back and forth with C# rather than use different languages on different platforms. And yes, there's Java with its 'write once, debug everywhere' but the stuff I'm talking about started on Windows and some is going towards Linux so it's nice to be able to do that.

    2. Re:More Choice by DrSkwid · · Score: 3, Insightful

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

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    3. Re:More Choice by discord5 · · Score: 4, Insightful

      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.

    4. Re:More Choice by arivanov · · Score: 2, Interesting

      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.

      --
      Baker's Law: Misery no longer loves company. Nowadays it insists on it
      http://www.sigsegv.cx/
    5. Re:More Choice by Anonymous Coward · · Score: 0
      I was very excited when I read this article as well, however, after reviewing the initial story this jumped out at me:

      Novell Inc. sponsors Mono, which is an open-source development platform that aims to be compatible with Microsoft's .NET framework. Mono's goal is to enable developers to build Linux and cross-platform applications. Mono's .NET implementation is based on the ECMA standards for C# and the CLI (Common Language Infrastructure). As much as I'd love to dance with the devil I'm going to pass on this. I'm not touching anything Novell pushes especially with their latest romp in the hay with Microsoft. I don't need Ballmer throwing any chairs at me telling me I'm violating Microsoft patents by using Visual Basic to compile Visual Basic on Linux *gasp*

      -evilghost
    6. Re:More Choice by truthsearch · · Score: 2, Interesting

      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 can now be ported to other OSs.

    7. Re:More Choice by PPH · · Score: 1

      This will get more .NET developers over to Linux. Then, it will get more .NET developers too look a other ways of doing things.
      Or it will just breath life into VB.NET while allowing IT departments to dump Microsoft Vista/Longhorn server/whatever.

      Management needs a way to keep all this spaghetti code running. The poor .NET developer that gets tasked with maintenance of these crappy apps isn't going to get budget to port them anywhere. (Rewrite joke about COBOL programmer frozen for 1000 years and insert here).

      The best solution would have been to write vb2c++ or vb2Java or vb2AnythingElse. When management asks to have that one button moved on the GUI, "Goodby VB".

      --
      Have gnu, will travel.
    8. Re:More Choice by Anonymous Coward · · Score: 0

      As much as I'd love to dance with the devil I'm going to pass on this. I'm not touching anything Novell pushes especially with their latest romp in the hay with Microsoft.

      Sounds suspiciously like, "You're either with us, or against us." Congrats, you win the "George W. Bush Exsuhlence in Welcoming Different Uhpproaches" award. No need to make a speech, you've already said enough.

      Next!

    9. Re:More Choice by Joey+Vegetables · · Score: 1

      If I were permitted by my company to do so, I would at least consider doing the opposite: developing .NET software using Mono under Linux, and using 'Doze only for testing. To me this is just one more reason not to have to run an inferior OS, even though I must develop software targeting that OS. It's also one more reason for companies to reduce their dependence on Microsoft. If they can port their .NET apps to Mono, then their developers no longer need 'Doze, and sooner or later their desktop users will no longer need it either.

    10. Re:More Choice by Mr2001 · · Score: 1

      No one chose .NET and then complained it wasn't cross-platform. It wasn't advertised as cross-platform. Depends what you mean by platform. It's impossible to read the specs without coming to the conclusion that .NET is meant to be implemented on multiple processors, due to things like the "native int" type whose size is unspecified. And as soon as the compact framework came out, we saw .NET running on WinCE, which is certainly not the same platform as desktop Windows. It's not hard to extend that to the possibility that the VM and compilers would be ported to other operating systems, which is exactly what happened with Mono.
      --
      Visual IRC: Fast. Powerful. Free.
    11. Re:More Choice by Mr.+Shiny+And+New · · Score: 1

      Ironic that you consider Java to be "Write once, debug everywhere" and yet seem to imply that C# doesn't have this problem going from MS .Net to Mono. I'd be willing to bet money that Java is better at "Write once, run anywhere" than .Net/Mono; I mean, it's not even the same VMs, and in some cases there are whole libraries that are different or unavailable.

    12. Re:More Choice by kjhambrick · · Score: 1

      >> 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.
      >
      > There are 11 types of people in the world, those who know binaries and those who don't.

      Hmmm ... speaking of understanding binary ... wouldn't that be 10 types of people ?

    13. Re:More Choice by DrSkwid · · Score: 1

      you understand one binary

      that makes you number 101 (4) to try and correct my mistake

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  4. Patents by JoshJ · · Score: 4, Informative

    See also: "Ballmer repeats threats against Linux" thread below.

    1. Re:Patents by jeevesbond · · Score: 1

      Yes, I'd imagine this is stuff Novell isn't really allowed to distribute due to being contaminated by idea patents.

      I like how this post appeared directly after the Ballmer one, very good juxtapositioning. :)

      --
      I'm going to transform myself into a mighty hawk. Either that or I'll just go and work at Dixons, haven't decided yet.
    2. Re:Patents by jimstapleton · · Score: 1

      As long as they don't use MS code, patents shouldn't be an issue: both standards are documentd.

      --
      34486853790
      Connection too slow for X forwarding? Try "ssh -CX user@host"
    3. Re:Patents by Dan+Ost · · Score: 1

      Is there some reason why you can't patent methods required in a standard?

      --

      *sigh* back to work...
    4. Re:Patents by jimstapleton · · Score: 1

      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.

      --
      34486853790
      Connection too slow for X forwarding? Try "ssh -CX user@host"
    5. Re:Patents by smbarbour · · Score: 2, Informative

      According to the article, not only does Novell maintain Mono (which was created by Miguel de Icaza, who works at Novell), but Mainsoft (who developed the VB compiler) actually had Microsoft's help in writing it.

      So, no, there should not be any problems with the distribution of it.

      The only obstacle now, is a good Linux IDE for writing the code.

    6. Re:Patents by maxwell+demon · · Score: 1

      Specifically: Did they implement the ISNOT operator?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    7. Re:Patents by mr_sas · · Score: 1

      the CLR is patented but is available under Reasonable and Non-discriminatory terms (RAND) and royalty free. That's not the same as it being not-patented, though I'm unaware of what is counted as reasonable.

    8. Re:Patents by adinu79 · · Score: 1

      monodevelop has gone a long way since I first started using it a couple of years back.

      Try it. (I recommend the SVN version ... much more stable and with a lot of additional features)

    9. Re:Patents by infaustus · · Score: 1

      I thought unleashing VB on Linux was the threat.

      --
      Frosty piss posts are worthless, GNAA posts are worthless and hurtful, but they are the least of this site's neuroses.
    10. Re:Patents by killjoe · · Score: 1

      The MS agreement with novell ends in five years. After that there is 100% probability that there will be MS patented code in mono and everybody who uses it will be targets for lawsuits.

      --
      evil is as evil does
    11. Re:Patents by Kalriath · · Score: 1

      Under the Shared Source License, they can't do that. Ever read that license? It's the one pertaining to the .NET CLR/CLI Source Code (downloadable for free) that says what you and Microsoft can and cannot do.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    12. Re:Patents by killjoe · · Score: 1

      not all .net technologies are under the shared source agreement. MS will find something sue about. They have pretty much comitted themselves to making money with lawsuits now.

      --
      evil is as evil does
    13. Re:Patents by Kalriath · · Score: 1

      You know, I should have known that I'd get this sort of FUD response to that statement. I'm not going to bother arguing, you're firmly convinced that you're right and anyone who thinks Microsoft is NOT the fifth rider of the apocolypse is wrong.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    14. Re:Patents by fabs64 · · Score: 1

      .NET is a documented standard you boob, anyone can write an interpreter for it.

    15. Re:Patents by Anonymous Coward · · Score: 0

      A lot of documented standards have patents behind.
      I would like a lot to be able to use the interpreter too.

    16. Re:Patents by hilton_a · · Score: 1

      'They have pretty much comitted themselves to making money with lawsuits now'. That's a grand statement, can you explain how and why?

    17. Re:Patents by killjoe · · Score: 1

      'They have pretty much comitted themselves to making money with lawsuits now'.

      That's a grand statement, can you explain how and why? Have you been keeping up with the public statements the CEO of MS has been making lately? I would suggest you do a quick google search for "ballmer patents" or something like that.
      --
      evil is as evil does
    18. Re:Patents by killjoe · · Score: 1

      .NET is a documented standard you boob, anyone can write an interpreter for it. And yet many libraries, file formats, protocols and parts of it are patented.

      --
      evil is as evil does
    19. Re:Patents by hilton_a · · Score: 1

      You still haven't explained how and why. Ballmer making statements about patent infringment does not equate to "making money with lawsuits".

    20. Re:Patents by killjoe · · Score: 1

      In the US system you sue people for patent infringement and when you win you charge them a license fee to use your patents. More often then not you don't have to go to court because the other party will pay up instead of going through trial although once in a while somebody does get uppity.

      Ballmer is promising to sue people for patent infringment. One presumes they aren't going to spend money suing people if there is not profit in the process.

      --
      evil is as evil does
  5. i think by exspecto · · Score: 0

    RealBasic may have just lost some customers...

  6. 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
    1. Re:Um... by Frizzle+Fry · · Score: 1

      I agree. VB.net 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 VB.net. Still cool though.

      --
      I'd rather be lucky than good.
    2. Re:Um... by eric2hill · · Score: 2, Informative

      RealBASIC is cross platform and *very* compatible with existing VB code.

      --
      LOAD "SIG",8,1
      LOADING...
      READY.
      RUN
    3. Re:Um... by Bastian · · Score: 1

      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.

    4. Re:Um... by Doctor+Faustus · · Score: 1

      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.

    5. Re:Um... by Bastian · · Score: 1

      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 Windows NT, 2K, XP, etc. as Windows, because the first product to be called Windows was the Win9x series and NT represents a separate lineage. Yeah, you could tell people who refer to XP as Windows they're wrong, but I'd suggest the best way to do that is by donning a sandwich board and standing on a street corner yelling it at passersby.

    6. Re:Um... by ThePhilips · · Score: 1

      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.

      --
      All hope abandon ye who enter here.
    7. Re:Um... by Anonymous Coward · · Score: 0

      Thanks for the clarification - looks like my decision to switch to Java from VB6 about 5 years ago still holds up...

    8. Re:Um... by metamatic · · Score: 1

      If there were a VB6 compiler for Linux, that would be much more interesting to me.
      http://www.realbasic.com/
      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    9. Re:Um... by lordDallan · · Score: 4, Interesting

      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.

    10. Re:Um... by Jugalator · · Score: 1

      "C++" was never "in reality" C++/CLI; before they changed to that branding, it was "Managed C++".
      And no, there's little evidence saying the Mono devs are deep inside of Microsoft's censored.

      --
      Beware: In C++, your friends can see your privates!
    11. Re:Um... by Anonymous Coward · · Score: 0

      REALbasic is pretty good for cross platform GUI devving, apps are almost completely platform native. I say almost because while some controls (Listbox most notably) look platform standard, they aren't. This means that it's not accessible - and there's no built in support for accessibility APIs. To access accessibility APIs on Windows you need COM support -- which REALbasic doesn't offer -- it only supports ActiveX *controls*.

      The language is very statically typed and not very dynamic - most notably lacking introspection (the information is there in memory however, so it's possible to access it hackishly). Anyhow, it's a pretty decent language and it's getting better pretty quickly.

      Also, I can't say I recommend the MBS plugins - they're poorly documented and pretty much just very thin wrappers around existing libraries. Pretty much everything in the plugin can be done via declares.

  7. Terrific by C10H14N2 · · Score: 4, Insightful

    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?

    1. Re:Terrific by Null+Polarity · · Score: 1

      Porting current, probably complicated and difficult to rewrite from scratch, applications written in VB.net over to Linux? I'd like to hear how the library support is, though. That seems a bit peculiar to me, but I don't know much about Mono either.

    2. Re:Terrific by mr_sas · · Score: 1

      A) Is that really true?
      C) Why? Consider one team may develop a program and a seperate team may take care of the production side of things, and choose to host the program using Apache's mod_xsp rather than IIS and asp.net.

      That is not so far fetched when you consider it means that I can get open sourced .net apps developed on windows and run them on my linux box.

    3. Re:Terrific by mr_sas · · Score: 4, Informative

      as long as the libraries are written in .net or are cross platform it is not an issue. Consider that for web apps for example there is not really a need for any non-.net libraries in most cases.

    4. Re:Terrific by filesiteguy · · Score: 1

      That is exactly the issue.

      I took a C# application (http://www.perfectreign.com/stuff/lacrr/era_20071 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.

      Ooops!

      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 programmers working for me, so I'm stuck doing the dirty work. Just yesterday, I had to fire up VB6 and dig through some spaghetti written in '99 to figure out some issue.

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

    6. Re:Terrific by cyberjessy · · Score: 2, Insightful

      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.

      --
      Life is just a conviction.
    7. Re:Terrific by slackmaster2000 · · Score: 1

      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 app over in just a couple days, at which point I would be completely free to toss these single-purpose machines up wherever they're needed without having to hassle with licensing. Off the top of my head I think that the only Windows-specific code is opening and closing a few files and a couple registry writes. Not hard to fix.

    8. Re:Terrific by vadim_t · · Score: 1

      Regarding to "A", yep, completely true, especially for VB6.

      Every VB book describes it as "system glue". You take ready made components that may have taken months to develop on their own, and then glue them together. For example, a VB6 developer would take an ActiveX control to get images from a webcam, another to do image processing, and yet another to do FTP uploads. Then use VB to write the interface and glue, totalling maybe a couple thousand lines at most.

      Porting that to anything is impossible, as there's no actual webcam related, image processing or FTP code in the program.

      Here's an example of what sort of thing you'd drop into a VB program: http://xceed.com/Grid_WinForms_Intro.html

    9. Re:Terrific by file-exists-p · · Score: 2, Interesting

      Are the submitted applications a non-biased sampling ?

    10. Re:Terrific by kripkenstein · · Score: 1

      Of course they aren't. How could they be? (And of course Miguel didn't say they were.)

    11. Re:Terrific by Joey+Vegetables · · Score: 1

      Miguel,

      First of all, great work, and congrats!!!

      Please forgive what might be a handful of newbie question, but: (a) does the VB.NET environment support most of Windows Forms; (b) does it support database access through ODBC, OLE DB, some equivalent to the .NET native providers, or some combination of the above; and (c) can it expose and consume Web services with reasonable ease? These would be the 3 requirements I think my company, a large bank, would need in order to seriously consider something like this.

      Thanks!

    12. Re:Terrific by Jugalator · · Score: 1

      A) Most VB applications are tightly linked to OS and application-specific libraries.

      Much less so than VB 6 though, due to the .NET Framework.

      C) Anyone versed enough in languages to be using MONO is probably not married to any language--and certainly not VB

      A lot is about easily compiling (existing) VB .NET code though. And helping to bring VB .NET developers to Mono.

      So, other than being novel, what's the point?

      Giving developers more choices to either port or develop code to Linux and other platforms.

      --
      Beware: In C++, your friends can see your privates!
    13. Re:Terrific by Jon+Pryor · · Score: 1

      (a) does the VB.NET environment support most of Windows Forms

      Mono has had complete System.Windows.Forms 1.1 API support since Mono 1.2. System.Windows.Forms 2.0 is still being worked on, with the missing methods reported by MoMA getting implemented first.

      (b) does it support database access through ODBC, OLE DB, some equivalent to the .NET native providers, or some combination of the above

      Mono has many System.Data providers, including System.Data.Odbc, System.Data.OleDb, System.Data.OracleClient, and System.Data.SqlClient, though I can't say how complete these are. You will likely need to test your code.

      (c) can it expose and consume Web services with reasonable ease

      Mono has had ASP.NET support for quite some time, as well as .NET Remoting, so ASP.NET web services (.asmx files) and .NET Remoting web services are both supported.

    14. Re:Terrific by mr_sas · · Score: 1

      Right, VB6 and VB.net are two completely seperate beasts. vb.net has access to anything the .net framework provides. There is not going to be any problems in vb.net and mono than there were in c# and mono.

    15. Re:Terrific by file-exists-p · · Score: 1

      Why Of course they aren't ? I do not know the precise meaning of "submitted using the Mono's Migration Analysis". Depending on who submits, why he submits, what is this migration analysis thing (is it a website, a mono application, do you need linux, do you need a free OS, do you need to read hard-core mono user forums to be aware of its existence in the first place) these statistics can me something or nothing. My post was just to get that kind of information.

    16. Re:Terrific by kripkenstein · · Score: 1

      First, sorry if I sounded abrasive in any way (that wasn't my intent).

      Yes, I think that all of the issues you mentioned just now are relevant. But mainly, it seems clear that 99% of applications were not submitted - if only because the owners are either (1) unaware or uninterested in Mono, or (2) they are not willing to submit their source code to an outside body. So, this data cannot be taken to represent the 'truth'.

      However, I think that Miguel was right for presenting the data, because it does mean *something*. In particular, that among people interested enough to use the migration tool, such-and-such percentages were found. Personally I interpret the results to indicate that (as a reasonable initial guess) this tool will be useful in a nontrivial number of cases. Suggestive enough to justify continued work on the project, assuming that you see this sort of migration as a good thing (a completely separate issue, and I am not saying my own opinion here either way).

  8. It's a trap! by Werrismys · · Score: 0, Redundant

    Until Novell apologizes for their M$ deal and withdraws from it, it's a trap.

    --
    'Once scientists, even the dim-witted social scientists, get muzzled, the Western Civilization is finished.' - oldhack
    1. Re:It's a trap! by the1rob · · Score: 0, Offtopic

      ...get an axe!

  9. There goes that idea... by ThinkTiM · · Score: 2, Funny

    so which (non-vb-infected) operating system do I switch to now?

    1. Re:There goes that idea... by Quantam · · Score: 1

      That was a joke, right? Pretty sure that was a joke. WTFH is wrong with you mods?

      --
      You have tried to support your argument with faulty reasoning! Go directly to jail; do not pass Go, do not collect $200!
    2. Re:There goes that idea... by FrostedWheat · · Score: 1

      Why Amiga OS 4 of course! There's no Mono port for it.
      It even has the added advantage of not running on any hardware currently avaliable! Lets see them try porting VB to that! Hah!

    3. Re:There goes that idea... by corychristison · · Score: 1
  10. VB? VB?!!!! by RandoX · · Score: 4, Funny

    Great. That's like saying now you can eat your lobster with a fork made of frozen shit.

    1. Re:VB? VB?!!!! by Anonymous Coward · · Score: 4, Funny

      Lobster? Gross.

    2. Re:VB? VB?!!!! by dreamlax · · Score: 1

      What, you'd rather suck on the frozen shit fork?

    3. Re:VB? VB?!!!! by Anonymous Coward · · Score: 0

      Congratulations, you got the joke.

    4. Re:VB? VB?!!!! by dreamlax · · Score: 1

      Congratulations, you got the joke.
      Ha . . . ho?
  11. Re: Visual Basic on GNU/Linux by Anonymous Coward · · Score: 0

    no thanks.

  12. Visual Basic 8.0 only! by N8F8 · · Score: 1

    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.

    --
    "God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
    1. Re:Visual Basic 8.0 only! by Anonymous Coward · · Score: 0

      I know you are trolling, but to avoid misleading people:
      VB 8.0 is the latest version, and is backward compatible with all previous VB.Net versions. As VB9.0 rolls out with Orcas (end 2007) Mono will support that too. So, support isn't that _limited_ as you make it sound.

    2. Re:Visual Basic 8.0 only! by N8F8 · · Score: 1

      Actually, I was trying to be infomrative. The "silver bullet" here would be to have a Mono VB6 compiler.

      --
      "God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
  13. I for one don't like this idea a bit by vivaoporto · · Score: 4, Insightful

    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.

    1. Re:I for one don't like this idea a bit by agent+dero · · Score: 1

      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. Mono helps lots of people bring .NET code over to Linux, Solaris, Mac OS X and mobile devices, places Microsoft won't touch, so having VB.NET on that variety of platforms is also a good win for developers and users.

      Using Microsoft's likelihood to sue people for any and every reason isn't enough to discredit an interesting project that offers options to developers and users, but then again, I must not get the whole "open source" ideal just yet.

      --
      Error 407 - No creative sig found
    2. Re:I for one don't like this idea a bit by p0tat03 · · Score: 1

      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 size of the runtime.

    3. Re:I for one don't like this idea a bit by Anonymous Coward · · Score: 0

      You are not the only one, there are some others.
      What you have seen are crappy programs, which could have been crappy in whatever language.
      Nothing related to java since 1.4, and even less related now.

    4. Re:I for one don't like this idea a bit by Anonymous Coward · · Score: 0

      Furthermore, with Java becoming free as in free will
      Until I can download the entire JDK, compile it and make changes to whatever I want, including the standard class library, I'll remain skeptical. Sun has been saying that they will open source Java for several years now, and we're still not even remotely close to seeing the entire JDK being released under an open source license. They've also backtracked a bit and said that certain parts will remain closed or have to be completely reimplemented by the community.

      Java doesn't really matter much to desktop users anyways when you consider the fact that besides Java tools (Eclipse, IDEA etc.) there aren't any decent Java desktop applications. Personally, I think Java and .NET/Mono are all bloated pieces of shit, but at least C# learned a lot from Java's mistakes and is unquestionably a much nicer language with a much better standard library because of it.
    5. Re:I for one don't like this idea a bit by cyberjessy · · Score: 1

      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 include/introduce:
      1. Type inference
      2. Anonymous classes/methods
      3. Functional Programming constructs (the whole shebang)
      4. Expressions (code as data)

      C# 3.0 is well on the way to getting there. Mono C# compiler already includes experimental support for C# 3.0. And the basic runtime and the C# language, is patent free (ECMA standard). From what I have seen, C# 3.0 lets you write more expressive, concise code.

      --
      Life is just a conviction.
    6. Re:I for one don't like this idea a bit by Anonymous Coward · · Score: 0

      but the Java VM on any platform I've seen is dead slow.

      What about the .Net runtime on any platform? How slow is it?

      .NET (2.0 at least) has been fast and relatively small in-memory.
      The last set of benchmarks before Microsoft censored the tests showed Java with a 4 to 1 advantage in speed over .Net

      Where are your speed tests listed?

      Considering Microsoft loads the .Net runtime at startup (without your input) and the JVM isn't by default, Id say thats the source of your speed mis-conception.

    7. Re:I for one don't like this idea a bit by Knetzar · · Score: 1

      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
          }
          }
          a.start();

          Yup, no anonymous classes in Java. While I do agree anonymous functions would be nice, named classes can be used with only a little bit more effort...and the result is more readable (see #1).

      Now, I'll admit, for small projects with 1 or maybe 2 developers a dynamically typed language and anonymous functions are nice, but I doubt things like that will scale to huge projects where the majority of developers are just average programmers.

    8. Re:I for one don't like this idea a bit by nuzak · · Score: 1

      > Considering Microsoft loads the .Net runtime at startup (without your input)

      Perhaps on Vista. It does nothing of the sort on XP, as anyone who has had to suffer through the glacial startup time of ATI's Catalyst control center can attest.

      What it does do is cache the compiled code so the next time it doesn't even have to load up the JIT. This one always struck me as a no-brainer that Sun's VM should have done too.

      --
      Done with slashdot, done with nerds, getting a life.
    9. Re:I for one don't like this idea a bit by nuzak · · Score: 1

      > 1) Not everyone wants a dynamic typed language.

      Seriously, perhaps you should understand what a term actually means before you criticize it. Type inference is not only not dynamic typing, it only makes sense with static typing. In fact, it would make Java more typesafe by removing ClassCastExceptions (the fact that it bombs at runtime with a standardized error instead of dancing fandango on the core might make the runtime safe, but doesn't make the type system sound).

      My take is that someone needs to just go ahead and add type inference without Sun's input. It's completely a compile-time thing anyway, so as long as it compiles to the same bytecode, who cares.

      --
      Done with slashdot, done with nerds, getting a life.
    10. Re:I for one don't like this idea a bit by Joey+Vegetables · · Score: 1

      I share this concern. Until some of the legal issues around software patents are resolved, one way or another, using Microsoft technology in any form comes with a certain degree of risk. And I agree that for now there are better ways to write new cross-platform software.

      But you have to understand how this development could help to undermine Microsoft's entire empire. Most business PC users depend on custom software, and much of that software is written in some incarnation of VB. If they no longer need 'Doze to run this custom software, and if they can run OpenOffice, Firefox, PostgreSQL, Apache, etc. for their other needs, then there's a very good chance that they don't truly need 'Doze anymore, or for that matter anything else from Microsoft.

    11. Re:I for one don't like this idea a bit by babbling · · Score: 1

      Read this. You might be slightly reassured by the last and second last paragraphs.

    12. Re:I for one don't like this idea a bit by nuzak · · Score: 1

      drifting OT, but it strikes me as funny -- the very same day I wrote this post, I went home, there was a new catalyst control center version for download, and it's tons faster. Doesn't use the godawful theme anymore either (probably why it was so slow in the first place)

      --
      Done with slashdot, done with nerds, getting a life.
  14. Gambas by Qbertino · · Score: 1, Informative

    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.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Gambas by temcat · · Score: 2

      Come on mods, how come this is redundant when no one mentioned Gambas here?

    2. Re:Gambas by innocent_white_lamb · · Score: 1

      And Freebasic http://www.freebasic.net/ It runs on Windows, Linux and DOS. Lately it has been becoming less "BASIC-like" (which is a direction that I really don't approve of -- no gosubs any more, for example) but it's still very cool.

      --
      If you're a zombie and you know it, bite your friend!
  15. Finally! by HarryCaul · · Score: 5, Funny


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

    1. Re:Finally! by roz174 · · Score: 1

      "yay!" to the mono project people... but isnt that a step toward a more user-friendly environment for Linux? i like my Linux mean!

    2. Re:Finally! by SCHecklerX · · Score: 1

      Depends on what you define as 'user-friendly'. I'd rather stick with Python, Perl, and Bash, myself.

  16. Hooray! by Greyfox · · Score: 4, Funny
    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...

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Hooray! by NRAdude · · Score: 0

      Wow... saying that actually made me vomit a little in the back of my mouth... I think you've swapped vomit from soneone else's throat. Now, take away the Old and make way for the GNU vommit. you should use an abstraction layer to prevent the passage of Terminate and Stay Resident apparatus; I hear Clam anti-virus provides that levely of safety.

      --
      without prejudice
    2. Re:Hooray! by darkpixel2k · · Score: 1

      Hey--common. Be fair.
      The two apps I miss from the Windows platform are Outlook and MS Money.

      Moneydance doesn't quite cut it, and Evolution has a bad habit of deleting email when I'm transferring it between various folders. Thunderbird acts just like us Debian elitists and doesn't allow you to pipe mail out to the shell and it uses it's own proprietary spam filtering.

      I know--I know. All the viruses and spam and crap that infests outlook...but if you could take Active X out of outlook, it'd be almost perfect. It has a great interface (I'm into the flashy colors and bright shiny objects). But plugin support is dismal and it's own proprietary spam filtering is absolute crap.

      And I am getting a little more upset with MS Money every day--especially the fact that I need a *#&*@ passport account to access my data--and that is stores half the shit online.
      Anyways--I'm rambling and I really should be recovering the mail server...

      --
      There's no place like ::1 (I've completed my transition to IPv6)
  17. Re:Why...? by Eternauta3k · · Score: 2, Interesting

    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?
    --
    Yeah. Would you choose a neurosurgeon who pokes around people's brains in his spare time? I wouldn't.
  18. Amusing by daenris · · Score: 1

    I enjoy that this article comes immediately after the article about Balmer threatening linux vendors to "respect his company's intellectual property"

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

  20. Does This Mean by Anonymous Coward · · Score: 0

    . . . I can play that game where the gorillas throw banannas at each other on my Ubuntu box now?

  21. Worrying trend... by Eric+Pierce · · Score: 2, Interesting

    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?

    1. Re:Worrying trend... by miguel · · Score: 4, Informative

      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)

      Miguel.

    2. Re:Worrying trend... by AnyoneEB · · Score: 1

      Uh, what's with the two Miguel nicks?

      --
      Centralization breaks the internet.
  22. Why? by ajs318 · · Score: 1

    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?

    --
    Je fume. Tu fumes. Nous fûmes!
  23. Not Perfect but better. by jellomizer · · Score: 1

    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 libraries. VB is a general porpose programming language just because people snub their nose at it doesn't mean that it is used for things that don't requre those libraries. Many time it is use just because everyone know it to an extent so they make their programs with it to make sure they don't get stuck with a obsure languge in the future.

    C. Porting apps would be easier if you can keep the bulk of your code, some people actually like .NET over other languges, Company policy may force VB.

    A lot of people are not passionate about what tools they use just as long as the work. with VB working in Mono it is the next step to making cross platform apps. Or at least giving them a fighing chance to port them.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  24. I 3 VB by Anonymous Coward · · Score: 0

    Yes I do. So all you MS hater, bite me!

    Visual Basic was/is by far the most productive programming environment for client side UI desktop apps.

    Drag/Drop components and fill out event handlers for each is simple, straight forward and effective which is the way I like to work. All client side UI apps should be created that way.

    I think the next step for Mono should be a secure runtime (as in *NOT* ActiveX) for all browsers so that you can execute VB apps on the web. Burn in hell freaking XML, XHTML, Javascript, JSON, Ajax, A_Millon_Useless_Web_Framework, etc.

    Have a nice day, come again!

    1. Re:I 3 VB by halo1982 · · Score: 1
      Visual Basic was/is by far the most productive programming environment for client side UI desktop apps.

      *cough*XCode/Interface Builder/Objective-C*cough*

  25. Finally... by mgblst · · Score: 2, Funny

    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?

    1. Re:Finally... by Patrik_AKA_RedX · · Score: 1

      It's called masochisme and is probably not spelled this way.

  26. I don't get it by cos(x) · · Score: 1

    Since this is about Visual Basic.NET, why did the Mono guys have to develop a new compiler? If .NET is oh-so cross-platform, the bytecode generated by Microsoft's VB.NET compiler should run on Mono's VM without the need for any kind of recompilation.

    The only reason I can imagine for Mono having to recompile the source is that their VM is not compatible with the MS one and their compiler is spitting out bytecode that leaves out constructs not supported by the Mono VM. But then, that's clearly a bug in Mono and the whole compiler is just one big workaround...

    Of course, having a compiler that will run on systems other than Windows means that development can be shifted to other OSes, but according to the summary and TFA, that is not what the hype is all about - it's about recompiling source so it will run in Mono.

    1. Re:I don't get it by Anonymous Coward · · Score: 0

      Microsoft's VB.Net compiler comes with .Net.

      If you have a Linux box, you cannot install .Net, so you cannot get a VB.Net compiler. (I don't think they want to say "Now to compile, just go to a friend's Windows box and copy vbc.exe to your mono/bin directory"!)

      In order to be a legitimate VB.Net development environment, they had to write their own compiler for it.

      dom

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

    3. Re:I don't get it by e40 · · Score: 1

      I've read that .NET is covered by patents. Aren't you worried that Mono will be shutdown by MS deciding to protect their IP? If you've answered this before (I'm sure you have), a link would be nice. Thanks.

    4. Re:I don't get it by Anonymous Coward · · Score: 0

      Apparently you missed the whole Microsoft/Novell deal where they agreed not to sue each other over IP and extended each other patent licenses....

    5. Re:I don't get it by e40 · · Score: 1

      What about vendors other than Novell? Hmm?

  27. What about Qbasic? by Rob+T+Firefly · · Score: 1

    I want to play GORILLA.BAS, dammit.

    1. Re:What about Qbasic? by Anonymous Coward · · Score: 0

      Open Source to the rescue!!!

      http://jorillas.sourceforge.net/

    2. Re:What about Qbasic? by NRAdude · · Score: 0

      In my lifetime, I taught a good amount of people how to code by specific reference to that one script and NIBBLES.BAS. Actually, any complete application can be used as the aid to teach, but GORILLA.BAS actually had some trigonometric functions in it. I was in only 5th grade or about 9-years-old (if I remember correctly) when I had access to those and a host of 35 286 computers each with 2MB RAM. I'm not ashamed. QBASIC wasn't a gateway drug. It was just there. We would've used a Borland's Turbo Basic or one of the independent Pascal compilers to convert between the two, if only someone actually cared. These were done in our "free time", when the Teacher was done lecturing on the usefullness of Word Perfect.

      --
      without prejudice
    3. Re:What about Qbasic? by dan_bethe · · Score: 1
  28. Or just use RealBasic by Blakey+Rat · · Score: 1

    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.

    1. Re:Or just use RealBasic by Jugalator · · Score: 1

      Yeah -- whatever, especially when RealBasic isn't free and the VB.NET marketshare is enormous in comparison.

      --
      Beware: In C++, your friends can see your privates!
    2. Re:Or just use RealBasic by innocent_white_lamb · · Score: 1

      Realbasic is free (of charge) for Linux. Or at least it was the last time I looked at it. It's the Windows and Mac versions that you have to cough up the bux for.

      --
      If you're a zombie and you know it, bite your friend!
  29. Yeah but.... by BooRolla · · Score: 1

    for how long?

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

    1. Re:This is a big deal, and should be thought about by a1mint · · Score: 1

      > 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 "developers" can want whatever they want. But it'd be a first ever if Microsoft would want to be cross platform. Ballmer will surely, at one point, suck the living daylights out of it. It's kind of like a sleeping alien, but watch out when he wakes up. He'll jump up and down and go "developers, developers, developers, what have you done! Now we have to go an sue and threaten and intimidate." I can not understand this S-T-U-P-I-D mono project, because it's unnecessary. Java is better - by a landslide. Why expose ourselves to the wrath of Microsoft? And all that open-standards crap argument doesn't wash. Mono is a funnel that will attract copyrighted code. It'd a *MUCH* better choice if people just drop this whole Mono thing on the floor, and do whatever it is that they wanted to do in Java. Sun Java. Sun is *NOT* going to make Linux' life hard - Microsoft on the other hand *WILL*.

    2. Re:This is a big deal, and should be thought about by Anonymous Coward · · Score: 0

      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. Locked in? To Java??? Correct me if I err, but I gather that Java was released under the GPL not too long ago.

      In any event, it's good to see that the guest dispensed with the disagreeable tone present during his first appearance on the show. He probably didn't do himself any favors with that appearance.

      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. [The one] who dines with the devil should have a long spoon. If Microsoft suspects that "junior partner" is trying to pull a fast one, a pimp slap will probably follow in short order.
  31. Next week. . . by mjackson14609 · · Score: 3, Funny

    . . .porting Microsoft Bob to the Mac.

    --
    I decided that behaving ethically was the most nihilistic thing I could do. - Paul Pavel
  32. Old news - 10 years ago for VB5 by johu · · Score: 1

    Almost 10 years ago there was pretty much what you want for VB5. I still have original announce email and even necessary binaries to try it for DOS, SCO, Linux, AIX etc. I can post binaries with readme and sample code if someone is interested. Let me know.

    http://groups.google.com/group/comp.os.linux.devel opment.system/msg/3a0293334be4ec01

    http://web.archive.org/web/20010203155600/softwork sltd.com/vbvm.html
    http://web.archive.org/web/*/http://softworksltd.c om/

    1. Re:Old news - 10 years ago for VB5 by dosius · · Score: 1

      Prolly be easier if I actually had VB5 lol...got 3 and I think 4, might have 6 somewhere...

      -uso.

      --
      What you hear in the ear, preach from the rooftop Matthew 10.27b
  33. So is it GNU/Linux or Linux? by linvir · · Score: 0, Redundant

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

    There are only a few very specific reasons why some people say GNU/Linux instead of Linux. If you believe in them strongly enough that you're willing to add those three entire syllables to the name, how on earth can you reconcile that with being indifferent enough to use the more common form "Linux" only a few lines later?

    In fact, using them like that implies a certain interchangeability between the two. RMS must be turning in his grave.

    1. Re:So is it GNU/Linux or Linux? by rgravina · · Score: 1

      RMS must be turning in his grave.

      He's not dead, is he? Anyway, I hear he is immortal.
    2. Re:So is it GNU/Linux or Linux? by Anonymous Coward · · Score: 0

      Use the source Luke.

    3. Re:So is it GNU/Linux or Linux? by jpop32 · · Score: 1

      Anyway, I hear he is immortal.

      No, he's just very very careful: XKCD

  34. I quote Glenn Quagmire by adpe · · Score: 1

    Eeeeeeewwww

  35. Figures don't lie...but... by MaggieL · · Score: 1

    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 market analyst firm.

    Let's see...37% of enterprises use some VB, 59% of .NET programmers use only VB.NET, so therefore 20% of all bespoke software is in VB?

    Ghod, I hope the logic in the programs is better than the logic in that deduction.

    --
    -=Maggie Leber=-
    1. Re:Figures don't lie...but... by Anonymous Coward · · Score: 0

      Dude,

      37 percent of enterprises use Microsoft Visual Basic.NET - doesn't say they use it exclusively.

      among .NET developers, 59 percent use Visual Basic.NET as their only programming language - this is developers, not enterprises.

      20% might be right, they just left out the numbers to show how they got that.

    2. Re:Figures don't lie...but... by MaggieL · · Score: 1
      20% might be right, they just left out the numbers to show how they got that.

      If those were a *deliberate* collection of unconnected facts, followed by an unsupported assertion, then they shouldn't say "thus".

      Thus : (adv) therefore (used to introduce a logical conclusion); from that fact or reason or as a result;


      I think it's just embarrassingly sloppy thinking.

      And don't call me "dude", dude.

      --
      -=Maggie Leber=-
  36. according to what research? by tomstdenis · · Score: 1

    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.

    LANGUAGE WARS!

    --
    Someday, I'll have a real sig.
    1. Re:according to what research? by Blakey+Rat · · Score: 1

      For making a quick little utility app for a few hundred users in a simple company (for example, a task like: take CSV results from vendors A, B and C and combine them into a single CSV for uploading to the billing system), you're much better off using a language with automatic memory management to shorten development time. That could be VB, or RealBasic, or pretty much anything .net. Or even Python, Ruby or PHP if you don't need a GUI. But C, which you can make an identical application, will require a lot more resources and time.

    2. Re:according to what research? by CagedBear · · Score: 1

      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.
      Just out of curiousity, what industry do you work in?
      In most shops that support business activity, C is rare but you can't swing a dead cat without hitting a VB6 or .NET app.
    3. Re:according to what research? by tomstdenis · · Score: 1

      I work in cryptography mostly. Though I have been in other roles (I was a software engineer for AMD for a while...). Not once have I seen a copy of VB in action.

      When I have to mingle with CSV data as the other reply mentioned, I use perl. It's not only easier to use for that purpose than VB, but easier to get access to on my LIBRE Linux distro.

      Tom

      --
      Someday, I'll have a real sig.
    4. Re:according to what research? by PPH · · Score: 1

      FTA: "according to forrester research, 37 percent of all inhouse development uses VB."
      They probably mean 37 percent of the effort, not the content of the final product.

      I've worked in shops with mixed environments and languages. VB development was never as efficient as other languages (even Perl, for instance). Once we factored in maintenance, VB really stunk.

      --
      Have gnu, will travel.
    5. Re:according to what research? by Anonymous Coward · · Score: 0

      Yeah those don't sound like places that would use VB.

      However, try working in insurance or for a retail store or anything that is not to involved with technology but uses technology, VB is used a lot.

  37. This is unforgivable. by Zeek40 · · Score: 1

    Where's the "Crimes Against Humanity" tag when you need it?

  38. Ok... Answer me this.... by encoderer · · Score: 1

    Everyone is entitled to their opinion, but tell me this...

    Your comment is that "C# is just VB[.net] with curly braces"

    Tell me: What would make it NOT just like VB.Net with curly braces?

    I mean, it was written by a separate team.
    It has a separate compiler (obv)
    It has features not found in VB.Net (as you mentioned..)
    It has a different name.

    Really, the only thing that _is_ similar about them is that they both compile down to MSIL.

    I'm just trying to understand your thinking.

    And why is this different, than, say, C++ and C, which both compile down to machine code?

  39. The meme is "buttonpushers" by Anonymous Coward · · Score: 3, Insightful
    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.

    1. Re:The meme is "buttonpushers" by Anonymous Coward · · Score: 0

      There is already a hoard of "complaints" against Linux (Unix in general) that it is not as user friendly as Windows is. Now with this "VB programmers" trying to use Linux there will be complaints that Linux is not good enough even for programmers. Soon the verdict would be that Linux is not fit for Desktop and not fit for Development/programmers.

      Please programming on Linux for us programmers, it is meant for those who refuse to learn how to program and not meant for those refuse to learn Linux development process/environment.

  40. In reality... by Svartalf · · Score: 1

    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 the thing to make
    their app work in that case- but most of that can be worked around.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  41. I did something like this in uni by CockMonster · · Score: 1

    I wrote a compiler that generated JVM classfiles from VB6 source code... well seeing as I only had 4 months to write it, it supported only a subset of VB6 (it's a fucking huge language). Worked pretty good.

  42. Compile, you could already 'run'. by Anonymous Coward · · Score: 0

    Eh.. I think you already could 'run' a VB .NET compiled CLR binary on Mono. Mono is an implementation of the Common Language Runtime. This announcement means that you can 'compile' VB .NET applications on a Linux system. You already could compile a VB .NET application via a Windows system, and Visual Studio .NET--- and provided that you used an implemented subset of the .NET API, it would run via Mono.

  43. Big waste of time!!! by Yaa+101 · · Score: 0, Troll

    I always thought that mono is a dumb project that will enable MS to make the stupid claims on OSS as it does.
    The developers are wasting their own time and ours as community while making life dangerous for us OSS developers.

    I will never touch anything that is even remotely connected to what MS is doing.

    Big waste of time!!!

    1. Re:Big waste of time!!! by VinB · · Score: 0

      "I will never touch anything that is even remotely connected to what MS is doing." Then you better walk around with your hands in your pockets, 'cause they're everywhere.

    2. Re:Big waste of time!!! by a1mint · · Score: 0, Troll

      I wholeheartedly agree. I can't for the life understand why these bloody wankers are polluting Linux with their stupid useless completely unnecessary microsoft crap. Even Red Hat is falling into the trap, with that stupid defunct Beagle product, which, by the way, will put your cpu to 100% even when it's not doing anything, on a stock FC6 that is.

    3. Re:Big waste of time!!! by Yaa+101 · · Score: 1

      Let them call us trolls, better than being utterly stupid like they are.

    4. Re:Big waste of time!!! by Achromatic1978 · · Score: 1

      Better make sure, first, though, that you've taken your Windows Mobile phone out of said pockets...

  44. Native visual development + Linux = Lazarus by Anonymous Coward · · Score: 0

    We already have a good visual native programming environment under Linux, it's called Lazarus and it's perfectly integrated into Free Pascal. Please give it a try: its stability and features improved dramatically during last year.
    Before someone complains it's Pascal and not C, keep in mind that modern Pascal implementations allow the same level of shooting yourself in the foot of traditional C, ie lists of pointers to structures of arrays of pointers to functions returning... etc. Add threads, memory management, sockets, inline assembly and you get the point.

    If you ever struggled with Glade or Kdesigner you'll find a much cleaner and productive environment in Lazarus.

  45. GgrrRrr Linux! by roz174 · · Score: 1

    isnt that a step toward a more user-friendly environment for Linux? i like my Linux mean!

  46. how about... by Grinin · · Score: 1

    How about developing a programming tool that was similar to Visual Basic that would program POSIX style code that could be compiled and executed in any operating system? It seems sometimes the open-source community that looks down upon Microsoft in every aspect is constantly trying to copy the things they do? I think it GUI programming tool kit would be great.

  47. Re:Why...? by Quantam · · Score: 1

    Can you clarify whether that was a joke? I can't really tell.

    --
    You have tried to support your argument with faulty reasoning! Go directly to jail; do not pass Go, do not collect $200!
  48. VB.NET or VB by nurb432 · · Score: 1

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

    --
    ---- Booth was a patriot ----
  49. Mono is for .NET, REALbasic is for VB6 developers by they_call_me_quag · · Score: 1
    Just to clarify, what Mono supports is VB.NET. According to the article, a VB.NET application can be moved to any platform that Mono supports and it will just run. That is very cool.


    What Mono does not support is the migration of Windows applications written using Visual Basic 6 or earlier. The solution for that problem is REALbasic, a cross-platform RAD tool that is similar to VB6 and runs on Linux, Windows and Mac OS X. REALbasic compiles native executables for each platform from a single code base.

    Here's what the Mono guys say about it:
    "REALbasic is a great tool for Linux," stated Miguel de Icaza, vice president of developer platforms for Novell. "Where Mono focuses on bringing .NET applications to Linux, REALbasic migrates Basic applications to Linux."
    http://opensource.sys-con.com/read/244039.htm

    REALbasic Standard Edition for Linux is free as in beer.
    Get it here: http://www.realbasic.com/download/

  50. cross platform IDE .. by rs232 · · Score: 1

    Code::Blocks, The open source, cross platform Free C++ IDE

    http://www.widestudio.org/
    http://www.netbeans.org/
    http://www.netcomputing.de/html/main.html

    was: how about...(Score:1)

    --
    davecb5620@gmail.com
  51. Re:Won't work by Blakey+Rat · · Score: 1

    Who cares what API it uses as long as it works in Mac OS X, Win NT, and Linux all from the same codebase? .net is a means, not an end.

  52. Miguel de Icaza by Anonymous Coward · · Score: 0

    July 16, 2004

    What about patents? Is there a danger that Microsoft may at some point demand that you license portions of .Net?
    Well, at this point, we don't know of any patent infringement that Mono has (committed).

    November 2, 2006

    Mono, OpenOffice and Samba:

    Under the patent agreement, customers will receive coverage for Mono, Samba, and OpenOffice as well as .NET and Windows Server.

    Did Miguel get his certificate from the John Kerry school of flip-flopping?

    Why would anyone ever trust anything from Miguel and Novell? I flatulate in Miguels general direction.

  53. It's a bit different than Java by Anonymous Coward · · Score: 0, Flamebait

    While .NET developers would like to see the platform become more portable. They aren't interested in making that happen by targetting the lowest common denominator of crap.

    So we're targeting Windows. If Linux wants to grow up, add whatever is needed to work, and join the fun... that's awesome. If not, well it's your loss not ours.

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

    1. Re:I prefer VB over C# by rehtonAesoohC · · Score: 2, Insightful

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

      No offense, but that is akin to saying "I don't like programming."
    2. Re:I prefer VB over C# by A+Friendly+Troll · · 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 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.

    3. Re:I prefer VB over C# by Anonymous Coward · · Score: 0

      You will like it even better if you ever try to get another programming job. VB.NET is in higher demand in the US, and pays more to boot.

      Let the C++ elitists worry about pointers and curly brackets, while we are busy being PRODUCTIVE.

    4. Re:I prefer VB over C# by A+Friendly+Troll · · Score: 1

      You will like it even better if you ever try to get another programming job. VB.NET is in higher demand in the US, and pays more to boot.

      You'd be shocked (and I don't mean positively) if I told you how much I earned where I live. If you're in the US, let's just say that an average US programmer's monthly salary roughly equals my yearly salary, or is even slightly higher :)
    5. Re:I prefer VB over C# by Per+Abrahamsen · · Score: 1

      > Some people like && || !, some like And Or Not

      Either way can be used in C++.

      http://cs.smu.ca/~porter/csc/ref/cpp_keywords.html

    6. Re:I prefer VB over C# by eric2hill · · Score: 1

      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.

      You may also have a look at Chrome. Delphi (Object Pascal) language that's built on 100% .Net technology and Mono is a well supported target.

      --
      LOAD "SIG",8,1
      LOADING...
      READY.
      RUN
    7. Re:I prefer VB over C# by BBandCMKRNL · · Score: 1

      Both languages have some advantages. My biggest complaint against C-derived languages is case sensitivity. Of course, I'm an old fart who started writing code back in the days of punched cards and uppercase-only line printers, so I never had to worry about it. I still don't understand why I should have to remember why balance and Balance are different variables and what the differences are. If one is the previous balance and the other is the current balance, then please name the variables appropriately.

      Some things I like about C#:
      - The USING statement for auto-disposing of scarce resources. I understand that the next version of VB.NET will have something similar.
      - Autoincrement and decrement operators. x += 1 is better than x = x + 1, but I'd still like to be able to write x++.
      - (NewType)x vs. Cast(x,NewType) as mentioned above.

      Some things I like about VB.NET:
      - With/End With
      - Select Case - This is so much more powerful than the C# switch statement.

      The C# IDE refactoring support is far superior to the VB.NET IDE refactoring support.

      Because the VB.NET compiler is running in the background, the VB.NET IDE catches some syntax errors that the C# IDE doesn't catch until an explicit compile. Sometimes the C# Intellisense/autocomplete will cease to display anything, indicating that there's a syntax error somewhere, but it isn't always obvious where, so an explicit compile is required.

      --
      Without the 2nd Amendment, the others are just suggestions.
  55. Uhh apples and oranges. by nurb432 · · Score: 1

    VB6 and VB.NET are not anywhere near the same underneath.

    --
    ---- Booth was a patriot ----
  56. At last by Anonymous Coward · · Score: 1, Funny

    At last, Linux will have shareware !

    1. Re:At last by rognvaldr · · Score: 0

      At last, Linux will have shareware ! You meant nightmare, right?
    2. Re:At last by Anonymous Coward · · Score: 0

      Unfortunately, yes. It seems it's unavoidable, as Linux becomes more popular. Software that's less reliable, software pratices that are far from being 'best', re-implementations of tools just for the sake of it, or by sheer ignorance, monolithic apps, what CVS ?, the works. It shouldn't come as a surprise. Guess we'll see numerous diff GUI apps, each with its very own diff algorithm, more or less clunky. Adios UNIX modularity, welcome 'send $25 for non-demo version' !

  57. Most Developers in house by alexhmit01 · · Score: 4, Interesting

    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.

    1. Re:Most Developers in house by protected_static · · Score: 1

      There are a ton of unconverted VB6 apps out there, largely for the same reason that there are a lot of mainframe apps still out there - they work, so why mess with them? In addition to these straight-up VB6 apps, there are many VBA projects attached to Excel or Access. A lot of the "screwy niche verticals"/in-house apps you're describing are Access & Excel apps built w/ VBA. These will not run on Mono, not now, not ever.

      I'd also hesitate to call converting VB6 to VB.NET 'trivial' - the less trivial your VB6 app, the more non-trivial that conversion becomes.

      An interesting aside: Microsoft's roadmap for Office-based development involves pushing Visual Studio Tools for Office, a .NET-based (C#/VB.NET) IDE to replace VBA. While I can't see Office ever running on Mono, I can easily see the ability to offer a Mono-based app that includes an Office-/VBA-style IDE for advanced customization and automation options.

  58. A turd in eden. by Anonymous Coward · · Score: 0

    Whats the point of this besides thwarting microsoft. It is the same as taking off the side of your computer and crapping on your motherboard.

  59. Awesome example by alexhmit01 · · Score: 4, Insightful

    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.
  60. Putting VB on Linux by Tassach · · Score: 1

    It may just me, but running VB on linux seems to be the digital equipment of buying a Ferrari and then putting a set of naked-girl mudflaps on it. Some things were just never ment to go together.

    --
    Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
    1. Re:Putting VB on Linux by Anonymous Coward · · Score: 2, Funny

      It may just me, but running VB on linux seems to be the digital equipment of buying a Ferrari and then putting a set of naked-girl mudflaps on it.
      They're called labia, you insensitive clod!
  61. thanks, but no thanks by Blob+Pet · · Score: 2, Interesting

    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.

    --
    "...today consumers have been conditioned to think of beer when they see a bullfrog..."
  62. As a former VB coder and wannabe geek ... by ubrgeek · · Score: 1

    (And two grew increasingly compatible with VB6 which really changed the way Web applications could be developed) I think this is an interesting - and highly excellent - piece of work. The shops I worked with wanted VB because of one of two reasons: 1) It was easy to develop, maintain, get programmers for, etc. or 2) They were a software dev shop and you could throw together a UI with BS functionality behind it to either get some ideas on what the real app would look like or you had a conference the next day and needed to showcase a product that didn't yet exist. Setting aside No. 2, the shops that were looking for ease of development were pretty stuck on Windows environments. It was always a combination of the user experience and (perhaps coincidentaly) the skillsets of the sys admins. The more "geeky" the admins (i.e. wanting to use *nix servers, pushing for *nix on the desktop) didn't really have the clout or skills to convince management to try anything different. And come on, who advertises more often in places C*Os are going to be? MS, by far. So if a C*O knows MS, uses it at home and traditionally at work, and knows that (like it used to be with IBM) no one gets fired for buying MS, they're going to continue to do so.

    I guess what I'm saying is that this is a fantastic piece of work (assuming as other comments have pointed out, it actually works as advertised) I don't think it will have much impact on the overall "professional" world - Other than maybe getting more *nix fiends interested in learning VB so as to have some additional skills on their resumes.

    --
    Bark less. Wag more.
  63. REALbasic? by Zonk+(troll) · · Score: 1

    With REALbasic you can write the code once and compile native binaries for Windows, Linux, and Mac OS X. It's supposed to be very similar to VB.

    I use wxPython for development, which I'd recommend for anything cross platform. There's also wxPerl, wxRuby, wxBasic, etc. It's a c++ framework and has binding for nearly every language in use, even works with .NET. Very fast, and it's LGPL'd.

    --
    "The Federal Reserve is a fraudulent system."--Lew Rockwell
    End The FED. -
  64. Re:developers by dosius · · Score: 1

    Wot?

    Even though most of my coding is in C (and I've done a handful of useful things with it), I've occasionally whipped out my creaky old VB3 for a task of two that was better done there. Am I somehow not a developer because I touched VB, even though it's not my usual language of choice?

    -uso.

    --
    What you hear in the ear, preach from the rooftop Matthew 10.27b
  65. No one heard of RealBasic? by slashbart · · Score: 1

    www.realsoftware.com

    It continuously amazes me that people that want to run totally crossplatform (Mac, Linux, Windows), VB like programs don't know about RealBasic.

    It does everything you need, the IDE/compiler is crossplatform, platform output is selected via a checkbox , and has been around for ages. It's typically a piece of cake to turn some VB program into a crossplatform binary. Yep binary! Realbasic generates executable files.

    Bart

    1. Re:No one heard of RealBasic? by What+the+Frag · · Score: 1

      I've written a small app on Realbasic but didn't get into detail so much.

      What I disliked most:
      - the syntax (never used to write basic)
      - no printer support for Linux in the version I used (which I seriously needed)
      - the installer linked ruby files to Realbasic

  66. Do we really need this? by damienl451 · · Score: 1

    I remember a time when VB was what every aspiring coder used, thinking (erroneously if you ask me) that it'd help them learn how to program. They all wrote little, yet buggy, apps that mostly worked but were coded without any talent and probably very insecure. Now, those people have abandonned VB altogether and moved on to PHP, whose greatest strengths and weaknesses are its ease of use and gradual learning curve.

    More to the point, why should we bother use VB in Linux? It's main advantage was that it integrated almost seamlessly with Windows (it was very easy to create forms, dialog boxes, and even Word and Excell documents), which is clearly useless in Linux. And there are already so many languages in Linux that integrate with it so much better (Python, Perl, or even C#) that I doubt anyone would want to use VB.

  67. Just use Java... by sigzero · · Score: 0

    That was one of the reasons they GPL'd it. So the Linux folks could use it without worry.

  68. Re:I prefer VB.NET over C# by Renesis · · Score: 3, Interesting

    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.

  69. You could already run VB.NET on Mono by AttilaSz · · Score: 1

    If I understand it correctly, merely running VB.NET apps on Mono was possible even before this. If you compiled your VB.NET application on Windows to CIL, you could run the compiled app on Linux with Mono since Day One, couldn't you?
    What I believe is new is that you can now also compile VB.NET source code on Linux using Mono, basically making it possible to completely circumvent Microsoft tools (namely, their VB compiler).

    --
    Sig erased via substitution of an identical one.
  70. This is great news by OMRebel · · Score: 1

    I work with VB.NET a good bit, and this is fantastic news. I'm going to try it out with some of my current projects and see how it goes. This is excellent news, IMHO.

  71. Sponsored by Novell... by ninevoltz · · Score: 1

    Hmm.. Microsoft partners with Novell. Months later Mono has support for VB.NET? Coincidence? I don't think so. I used to use SHIT.NET before I was exposed to Qt. I'll never look back!!! Mwah, ha ha

    --
    Death is life's great reward. R. Hoek
  72. That's because the MONO devs are asleep at "wheel" by NRAdude · · Score: 0

    "wheel" group. Maybe they caught they caught the disease after kissing someone's hand, and they originally caught the disease from a bug coming down on them. This is why we have user and group access, so be sure to segregate those flies from the root!

    --
    without prejudice
  73. coupons by Anonymous Coward · · Score: 0

    OK, now the GPL sais that you can charge a minimal fee for distribution costs of GPLd software.

    But do the novell "coupons" fall in this category. If not, Novell should make arragements with each GPLd program before making a profit from it. (It is heard that some projects already do that)

    The problem is that novell is making money by selling services that include *your* software, but then spends its money on Mono and technologies that help ms.

  74. Re:Why...? by Anonymous Coward · · Score: 0

    These projects/systems included cargo handling, hospital management, ...


    OK, binary adders in the Endeavour Shuttle are very important too, but guess what, that doesn't make their dessigners real hardware gurus. Show me your algorithms and we will talk if you're a real programmer or not.
  75. Good... God... ... Why? by Anonymous Coward · · Score: 0

    It was bad enough when it was 'doze only!

    Did I mention I switched no 'nix to get away from this stuff?

    1. Re:Good... God... ... Why? by Anonymous Coward · · Score: 0

      Heck, I am so depressed even to express my honest thoughts.

  76. And for their next trick... by Anonymous Coward · · Score: 0

    They'll find a church and go piss in the Holy Water, cause that's the only thing that can top the abomination of Visual Basic on Linux.

  77. Re:developers by Anonymous Coward · · Score: 0

    No you're still a developer. But you're possibly someone who can't take a joke :)

    VB has always been the red headed stepchild of programming languages and it's fun to make fun of it

  78. Re:Mono is for .NET, REALbasic is for VB6 develope by Anonymous Coward · · Score: 0

    REALbasic Standard Edition for Linux is free as in... drugs?

    I've read that the local drug dealer will give his suckers a few free doses of crack too. REALbasic is proprietary lock-in. Sure VB is proprietary, but you don't jump from pot to frying pan. REALSOFTWARE controls that whole environment and they could easily tank at any moment, just like dozens of other proprietary tools (PowerObjects, OpenDoc, SuperCard, I could go on for hours).

    Best bet is to migrate from VB6 to VB.NET like Microsoft wants because now you have option to run VB.NET code on LINUX or OS-X.

  79. Re:Why...? by __aaclcg7560 · · Score: 2, Funny

    You do realize linux is full of GUI apps, right?

    What else do you need besides a window manager and a bunch of terminal windows? :P

  80. Patents people?? by Eric+Damron · · Score: 1

    With Microsoft beating the patent war drums, I would suggest distancing ourselves from anything tainted with Microsoft's stench.

    For God's sake man, let Mono die.

    --
    The race isn't always to the swift... but that's the way to bet!
    1. Re:Patents people?? by Kalriath · · Score: 1

      Actually, the integrity and safety of Mono and it's users is guaranteed by the Shared Source Agreement covering the .NET CLI/CLR which essentially says "this is what you can do, and we can't sue you for it. Just don't claim it's yours"

      All you're doing is spreading FUD. Of course, what was I expecting here? You might want to read the SSA before ranting off about how you'll be sued for using something MS explicitly licensed you to use.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    2. Re:Patents people?? by Eric+Damron · · Score: 1

      Actually It's Microsoft that's threading to sue. And maybe it is just FUD. But I say we need to respond to Microsoft's aggressive and anti-competitive behavior.

      The desperately want to control the Internet. Their .Net technologies are a big part of their plan. I believe we should not support it in any way. Apache servers dominate as Web servers and I believe we should strive to make other ways of serving active web pages the defacto standard. Don't support ASP.NET at all. Use Java, PHP an other technologies that have been freed.

      --
      The race isn't always to the swift... but that's the way to bet!
  81. Re:Why...? by __aaclcg7560 · · Score: 1

    If in your case, you were defining pieces of code to connect the objects, you were behaving like a newbie - no offense to you.

    That was how the class was taught. If you can construct complex programs from VB6, it was not obvious from the class or any of the books I read that you can do that. Visual Basic came across as being a "fun" class. Building GUI in Java was a different animal altogether as the instructors didn't let us use a form designer because you needed to understand the code in order to fix what the form designer screwed up. That's programming.

  82. ADO by svallarian · · Score: 1

    If you use ActiveX data objects, then you are SOL. It refuses to import the saved vb6 project, and leaves you to redesign your forms and then line your business logic back up to the newly created form.

    We're migrating from VBA --> VB.NET and it's been an absolute nightmare.

    --
    I patented screwing your mom. But it got revoked for "prior art."
    1. Re:ADO by mrchaotica · · Score: 1

      We're migrating from VBA --> VB.NET and it's been an absolute nightmare.

      Wow, so you still haven't learned? You'd think that, having been screwed over by Microsoft's lock-in once, you'd not want to repeat the experience and switch to Java (or at least C#) instead!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    2. Re:ADO by Anonymous Coward · · Score: 0

      You are a sucker. It's going to be real funny when you get screwed again. "But I thought that this time they were right when they said this is the ultimate technology."

  83. Eew! by rrohbeck · · Score: 1

    What's next? GW-BASIC? COMMAND.COM? EDLIN?

    But it sure is retro cool.

  84. Re:Why...? by tabby · · Score: 1

    My concern is that you can do serious work with it, even without a good fundemental knowledge of OO or even decent structured programming. It creates the illusion of simplicity, but its all smoke & mirrors.

    I fear that it leads to people thinking that creating good software is not hard, 'how hard can it be? just drag some stuff onto a form etc'. It also leads to managers (who once wrote 10 lines of code in a VB6 form) thinking they can make better architectural decisions about complex systems than their programmers.

    --
    I've experiments to run, there is research to be done on the people who are still alive.
  85. Cocoa by turgid · · Score: 1

    GNUstep might let you compile and run it on Linux (or other Unix-like platforms). Someone has done a Cocoa/GNUstep port of emacs, for example, that compiles from the same source tree on both platforms.

  86. Re:Why...? by Mr2001 · · Score: 1

    If you can construct complex programs from VB6, it was not obvious from the class or any of the books I read that you can do that. VB6 has a pretty weak object model, but you can indeed write complex programs in it. However, this story is about VB.NET, which is as robust a language as C# or Java.

    I took a VB class once, and I noticed the same thing you did. The class was a complete waste of time. OTOH, I'd used VB on my own a few years earlier, coming from a background in C, and didn't really have any complaints. (When Visual C++ came out, I thought it was a total scam, because I expected it to be Visual Basic =~ s/Basic/C++/... but that's another story.)

    It's just a different teaching style: you can tell a class full of newbies "Look! Click here, here, here, and then type this line - now press run, click your button, and it says hello world! We're programming already! That wasn't intimidating, was it?", and then work your way to explaining the constructs you can use inside event handlers, finally getting to making your own classes and maybe explaining what goes on behind the scenes. Or you can start from scratch, "This is a variable, this is a subroutine", eventually work your way through the Windows API and show them how VB does the heavy lifting for you, and finally get around to explaining the form designer.

    The difference is that one style gets them writing programs with tangible results on the first day, and the other requires a bunch of learning up front for a payoff far in the future. If you start with dragging controls around, using the automatic database bindings, etc. then they might see the manually entered code as voodoo at first, but at least they're putting something together, and as they learn, they get immediate feedback in the form of what they think of as a "program" (as opposed to a console window full of text). And drag 'n drop might even be enough for a lot of lame in-house CRUD apps, which I think is the real audience for these classes: no one starts off their computer science degree by learning VB, at least like that. I hope.
    --
    Visual IRC: Fast. Powerful. Free.
  87. kewl by harry666t · · Score: 1

    That's cool, I've got a couple of VB programs' sources on my computer that my dad rote a few years ago. Making this stuff run should help me understanding and rewriting the code.

  88. Build marketshare 0.1% at a time by alexhmit01 · · Score: 1

    Too many Linux on desktop advocates are waiting for this magical day where 50% of Windows users will wake up, throw out their computers, and buy Linux machines... it won't happen that way.

    Microsoft's monopoly was built by being the dirt cheap, good enough solution. Attempting to "microsoft them" with the dirt cheap, good enough solution is hard... For most computer users, Windows is "free" it comes with the computer, and even if you are big enough that you buy via site-license and OS-less machines, the cost/license of site licenses gets pretty cheap as well.

    However, the maintenance of Windows compared to Linux makes Linux VERY tempting in several parts of an organization. Just like Apple has maintained a presence in Windows companies for graphic designers, web designers, etc., and Server Linux has made inroads for Web Servers, etc., Desktop Linux will make in-roads in chunks at a time.

    Is VB6->VB.Net "trivial," sort of. The time frame is MUCH less than a port from VB6 to ANYTHING else. If you are actively maintaining the code-base, you probably bit the bullet a few years ago, otherwise will do so now. If you have legacy VB6 apps that are maintained, then they likely will move over to VB.Net. Microsoft should love this, however, because this creates an incentive to migrate from VB6 -> VB.Net. Even if you don't plan to use the Mono out, it's a reason to modernize your code-base and get to VB.Net compliance.

    A small shop, 2-3 coders, that makes a niche product, or an IT team with legacy code to support, now has a viable path to making Linux/OS X viable options. As Mono is free, it's also not unreasonable to bundle Mono/Application and sell it for OS X and Linux now (if you are a small shop, it's eventually going to become a weekend project), or at least keep that option open.

    It's trivial compared to any OTHER migration path, that has been "rewrite the application from scratch."

    1. Re:Build marketshare 0.1% at a time by protected_static · · Score: 1

      Too many Linux on desktop advocates are waiting for this magical day where 50% of Windows users will wake up, throw out their computers, and buy Linux machines... it won't happen that way.
      Never said that it would, and I don't disagree.

      A small shop, 2-3 coders, that makes a niche product, or an IT team with legacy code to support, now has a viable path to making Linux/OS X viable options. As Mono is free, it's also not unreasonable to bundle Mono/Application and sell it for OS X and Linux now (if you are a small shop, it's eventually going to become a weekend project), or at least keep that option open.
      As it happens, our shop falls into the first category. We've got a niche product that we're going to be marketing to academics; given the degree to which academia uses Macs and FOSS, we've got a very strong interest in being as platform agnostic as possible.

      I still think you're overstating the willingness of VB6 shops to modernize. Even here in the heart of Microsoft country, there are still some good-sized VB6 teams. I recently finished reading Dreaming in Code http://www.dreamingincode.com/, and one of the lines in the book really struck me: The majority of programmers never read books about programming. In my experience, I feel pretty safe generalizing this out to "The majority of programmers don't think about programming more than they have to." They do what's asked of them, and there are a lot of people out there who are content to take home a paycheck and don't show any interest in pushing beyond their current skill set (or pushing it any further than their managers ask of them).

      In non-ISV settings, there's a lot of bureaucratic disincentive to migrate applications, even those with relatively straightforward paths like VB6 --> VB.NET. And for VBA apps, that automated conversion path doesn't exist at all. That alone will likely guarantee a demand for VB6 devs for at least another couple iterations of .NET.
  89. I read the headline and thought VB for Linux by daverabbitz · · Score: 1

    But this is VB.net, an entirely different platform. I don't use either, but we have someone at work who has a lot of VB6 code which is almost impossible to port to VB.net, and has no migration path (for Windows or Linux).

    I have tried several times to get him to learn Perl/Python/TCL, and port the code to Linux (our company is primarily Linux based), but have never had any luck.

    So when I saw this I thought VB for Linux, but sadly this isn't the case.

    --
    What could be better than a jet powered motorcycle? http://www.youtube.com/watch?v=u8l6GTHLSWE
  90. not working so well... by LIGC · · Score: 1

    I'm a newbie Visual Basic.NET programmer, but I installed this on wine in ubuntu to see how it would run one of my apps. Sadly, it didn't run my app very well at all, showing the interface, but not letting me do much else. The message boxes didn't support multiple lines either.

  91. All it would take... by leonbrooks · · Score: 1

    Tell me: What would make it NOT just like VB.Net with curly braces?

    Probably making a VB to Ruby translator would just about do that. (-:

    It's a frivolous-sounding comment, but think about the real advantages. You'd still have the same initial uphillness that you'd get from a VB6 to VB.NET translation, but after that MS couldn't dictate standards to you any more, & your code would intrinsically run on Mac, Linux, Solaris, DOS, BeOS, OS/2, name it as well as 'Doze.

    Oh, yes, and for the first time in years, you'd truly enjoy programming again (-: leap, click :-)

    Oh, double-yes, that would get you free entry to Rails, as well. The improvements in your effectiveness will stun & amaze you.
    --
    Got time? Spend some of it coding or testing
  92. Visual Basic for MS-DOS by that+this+is+not+und · · Score: 1

    Sheesh, I already have Visual Basic for MS-DOS, which will run on 'any platform' including those that don't 'support Mono.'

    It'll run on anything at all, really. You can build bochs on an ancient Mac SE/30 running NetBSD and run it in that. Don't have enough memory in the PowerBook 165c at the moment, though.

    Harumph.

  93. It's a trap! (Novell switches teams) by freezin+fat+guy · · Score: 1

    Novell is just trying to set another trap for their new friend Mr. Ballmer to gain legitimate intellectual property grievances against open source. Mono's C# implementation came with an air of legitimacy which they immediately overstepped by including Windows.Forms, ADO.NET, etc. They know full well developers will wind up using mono to build code which is vulnerable to submarine patents and this is just another step to facilitate that process.

    Before the Microsoft deal Novell promised to use its own IP to protect against Microsoft's threats. Out came the wallet. This deal has put some wind back in Redmond's sails.

  94. My bad - VBA -- .NET migration path exists by protected_static · · Score: 1

    There are wizards that will import office docs and convert VBA modules after they are exported - http://msdn2.microsoft.com/en-us/library/aa537176( office.11).aspx#officevstoexcelvbamigration_migrat ingprojectsfromvbatovsto/ but not UserForms in Excel. I'm curious what the process is like with an Access-based VBA app.

    So I'll take that part back - but not the part about inertia and disincentives...

  95. Why are they porting this garbage to Linux? by Ragingguppy · · Score: 1

    Whats the point? Why are they doing this to me. I thought when I moved over I'd never have to deal with VB apps again. Now they've done this. What are they trying to achieve by this? The complete destabilization of perfectly good OS. This is NOT a good thing. Please stop.

  96. Microsoft is changing gear by Anonymous Coward · · Score: 0

    Being able to push .NET to Linux platform means that Microsoft will focus more on developing their coveted Office suite for Linux.

    They won't gain much profit selling OS anymore as the competition is more aggresive from Linux and OS X. PC vendors are more open to any OS to be installed in their package offers. Since operating systems will no longer being the main drive in the coming future as they only allow applications to run anyway, so it is important to make sure an application is portable to any platform.

    Microsoft will have no problem to port over their Office suite to Linux because most of .NET framework under MONO is ECMA-compliant and patent-free. They can adjust accordingly any patent-locked codes they have in Office suite to become patent-free codes under Linux anyway. Most of Office 2007 is now using .NET framework (and with support for Visual Basic. NET for Office application), porting Office suite to Linux will become so easy with Mono.

    Because I say OS is not important (that is, a need to run an application), to develop portable applications and to make profit from them is important! To support a framework necessary to support one's aplication is important. To protect one's patent over any platform is important.

    Note for a few out there: VB.NET is not VB except in syntax!

  97. just what we need... by cas2000 · · Score: 1

    ...a whole bunch of visual basic weenies porting their crapware to linux.

    watch out for the flood of non-designed, badly implemented crap software written by people who think that writing spreadsheet macros is a genius-level accomplishment.

    1. Re:just what we need... by DaveV1.0 · · Score: 1

      non-designed, badly implemented crap software


      And that is different from 90% of FLOSS how? Most FLOSS developed for Linux is crap. It never gets out of beta. Once all the "sexy" code is written, the developers head for some other project. Documentation doesn't get written. Bugs don't get cleaned up.

      written by people who think that writing spreadsheet macros is a genius-level accomplishment


      At least THEY have an excuse.

      People living in glass houses should not throw stones.
      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  98. 4 years, 8 months to Midnight? by KwKSilver · · Score: 1

    The actual terms of the MS-Novell deal are secret, and the CEOs have put forth inconsistent interpretations of what they mean. However, I'm not so sure the actual terms matter, because (if I recall correctly), the MS-Novell deal is scheduled to expire 5 years after it was signed. In other words, it is not a peace treaty, it is a truce. When the truce expires ... all bets are off, because then anything goes.

    --
    If you want your life to be different, live it differently.
  99. Time to switch by Max+Littlemore · · Score: 1

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

    That does it. I'm switching back to AmigaOS

    --
    I don't therefore I'm not.
  100. Hmm... by Anonymous Coward · · Score: 0

    I once thought I had mono for an entire year. Turns out I was just really bored.

  101. Crap... by Brandybuck · · Score: 1

    Crap. There's goes the neighborhood.

    --
    Don't blame me, I didn't vote for either of them!
  102. Oblig. Spaceballs quote by Anonymous Coward · · Score: 0

    Oh crap, here goes the planet.

  103. What do people have against VB.. by Polly_Morf · · Score: 0

    What do you people have against VB-kiddies. Come to think of it, 0.0001% of them are involved in the future of computers as developers...

  104. Re:I prefer VB.NET over C# by shutdown+-p+now · · Score: 1

    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++.
    It's not pedantic, it's merely consistent, unlike the horribly convoluted syntax of VB and BASIC in general. It's also about avoiding doing silly things such as implicitly converting a string to a number.

    there is no chance of accidently leaving a semi-colon in the wrong place, forcing lots of debugging.
    You debug when you have a run-time error. You don't debug a missing semicolon - the compiler will tell you the line where it's missing, and Visual Studio will underline it with red as you type.
  105. Re:Why...? by shutdown+-p+now · · Score: 1

    You don't even need either of those, you just need Emacs!

  106. huh? by SuperDre · · Score: 0

    Well, I'm not really up to the whole .NET affair and Mono, but if Mono can run .NET applications, what is so specific about VB then? since VB.NET generates a .NET application... So if Mono is really .NET it should also run VB.NET created applications... Or am I missing something? and to anyone who says: Why use VB in the first place why not C#, a question back: Why use C# and not VB? with the whole .NET stuff there shouldn't be any difference... Just to answer the question from my point of view: Because IMHO the VB syntax is much cleaner as C#. because you like C(#) doesn't mean otherpeople think the same, that's why there are so many languages out there...

  107. Re:I prefer VB.NET over C# by Renesis · · Score: 1

    If you switch on the option in VB.NET (as every good programmer should) then it won't let you convert variables without typecasting them properly.

    And I'm not talking about leaving a semi-colon out - that wouldn't necessarily compile, I'm thinking of things similar to this, which are more subtle:

    for(i=0;i10;i++);
    { // do my thing here which will never be called
    }

  108. Re:OS X Intel? (download links) by blackest_k · · Score: 1

    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. Actually it seems the answer is yes
    http://www.mono-project.com/Downloads

    also you can get it in a vm
    heres the link to the torrent (1.3 gig) root mono pwd mono
    http://svn.myrealbox.com/mono1.2.3_opensuse10.2_vm ware_0.zip.torrent

    notes for the torrent
    http://www.mono-project.com/VMWare_Image

    interesting snipit from that page
    "Will binaries from Windows work?

    Yes, they will."

    The Vmware image seems to be the most interesting download.
    Having the development environment self contained and ready to play seems like a really good idea and of course all you need is the free vmware player.

    I'd love to see more projects take this approach.
  109. Re:Why...? by Eternauta3k · · Score: 1

    You don't even need either of those, you just need Emacs!
    Emacs is a great OS, but do you know any good editors for it?
    --
    Yeah. Would you choose a neurosurgeon who pokes around people's brains in his spare time? I wouldn't.
  110. Awww .. by approx · · Score: 1

    Awww, sick perverts!

    --
    There, behind you! A public health care system .. run for your life!
  111. VB.NET is not just C# with BASIC-like syntax by Nurgled · · Score: 1

    There's more to VB.NET than just an alternative syntax to C#. For example, VB.NET also provides its own runtime library containing a large number of functions that were present in VB6, and it supports late binding of method calls in a similar manner to VB6. Microsoft also provided a converter in Visual Studio.NET that is apparently able to do a reasonable job of adapting VB6-style projects into VB.NET projects including the source code. It can't do all the work for you, but it would certainly be a lot more work to port to C# for most projects.

    The most important thing to this discussion is that VB.NET has its own runtime library above and beyond the standard .NET class library. Mono wouldn't be able to run apps developed for VB.NET without supporting this library. The compiler is not necessary for this, but it will at least provide a solution for those who are migrating from Windows to other platforms but have legacy VB.NET code.

  112. Someone kill it before it spreads... by Anonymous Coward · · Score: 0

    Now VB malware written by script kiddies can run on linux too!
    Real swift guys..... Thanks for making life just that much
    more difficult for the rest of us.

  113. Re:I prefer VB.NET over C# by Nurgled · · Score: 1

    That's a good reason to put your braces on the same line as the control construct they belong to!

  114. Re:Why...? by shutdown+-p+now · · Score: 1

    Why, vi-mode, of course....

  115. Re:I prefer VB.NET over C# by shutdown+-p+now · · Score: 1

    Any decent C# (or Java, or C++) compiler will emit a warning upon seeing such a thing. Good programmers compile with "treat warnings as errors" set to on - this would be roughly equivalent to VB's "Option Explicit", anyway. Some other sane languages with C heritage, such as D, simply disallow such constructs, requiring that one uses a pair of curly braces to denote an empty statement in this case.

  116. Re:mr. paveit by catfoo · · Score: 1

    Braess paradox

    --
    no sig today, come back tomorrow
  117. All I can think of is by Anonymous Coward · · Score: 0

    The horror... the horror...

  118. 2 words. by ZxCv · · Score: 1

    I wrote a compiler that generated JVM classfiles from VB6 source code...

    Dir. ty.

    --

    Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
  119. Re:Why...? by Eternauta3k · · Score: 1

    Why, vi-mode, of course....
    There's a vi-mode? *tilts head*
    --
    Yeah. Would you choose a neurosurgeon who pokes around people's brains in his spare time? I wouldn't.
  120. Re:I prefer VB.NET over C# by Nicolay77 · · Score: 1

    I understand and respect your preference for VB syntax.

    However I vastly prefer C++ syntax (except for templates, wich I don't use). Why? because VB6 simply didn't let me do things I wanted to do. I felt extremely frustrated. I have not used VB.Net, so I can't comment on it.

    I can catch those (and more complex) errors just by inspecting the code. So your example is simply silly to me.

    My point? To each its own.

    --
    We are Turing O-Machines. The Oracle is out there.
  121. MS Payroll by Nicolay77 · · Score: 1

    Well, I've been thinking that for several years Miguel de Icaza has being in MS payroll.

    First, Linux should stop having an unified API towards which to port software. MS knows the value of an API, and that's the reason they have kept backwards compatibility between win95 to XP and Vista. Disrupt the API. So Gnome was born. Should I code for KDE.. or Gnome?

    Then the .Mono stuff, open Linux distros to patent infringement.

    But it was not enough, so now Novell has made an agreement with MS. And Icaza should be behind that too. I don't think any of it is a coincidence.

    --
    We are Turing O-Machines. The Oracle is out there.
  122. And so now what? by Austin+Milbarge · · Score: 1

    It's all been done before in Linux. They tried moving Delphi to Linux (Kylix) and what happened?? Nada! And Delphi is a great language and would have had a big enough impact if the underlying UI system wasn't so caked. VB in Mono is not going to make a difference. We've also seen TCL/TK, Perl/TK, QT, GTK, Glade, etc. And now comes Mono. Yet, still hardly anyone wants to develop Linux GUI apps, and I can't say I blame them. Command line apps are still a dime a dozen in Linux. But GUI apps?? Too much work! Why? The way I see it, regardless of the library or language, there are way too many levels of libraries the user needs to worry about installing and configuring before he/she can even attempt use the application. No one wants to deal with this, which is why Linux still sadly remains a mostly server only system. Plain and simple. Truth is, the XWindows layered design has failed Linux in taking on the proprietary systems and will continue to do so regardless of whatever language, library or development environment you develop in. I've been using and developing in Linux and Windows for a long time and I can say with utter certainty that years will pass and we'll still be having these discussions as long as the GNU/Linux philosophy is to cake on layers of complex GUI libraries. Sadly, adding a bastardized version of VB as a GUI development tool in Linux doesn't change the facts and is destined to suffer the same fate as Kylix. Just no way to put a nice face on it folks. Don't get me wrong I like Linux a lot, but I'll stick with developing GUI applications in the Windows environment for now.