Slashdot Mirror


VS.Net Apps Can Now Run On Linux

MxTxL writes "EWeek is reporting here about a plugin for Visual Studio.Net, called Grasshopper, that allows web applications that once only ran on IIS to be run on Tomcat or other J2EE platforms. The Mainsoft Developer Zone has more details on how it works but basically it converts the MS Intermediate Language into Java bytecode. The developer is also a supporter of the Mono Project."

14 of 245 comments (clear)

  1. Well... by Darren+Winsper · · Score: 5, Insightful

    Considering that, using XSP or mod_mono, it's possible to run ASP.Net web applications on Linux using Mono itself, this is hardly a new development.

    Anyhow, there's no such thing as a "VS.Net App". It's been possible to compile .Net applications using VS.Net and run them on Mono (with certain exceptions) for a long time now.

    1. Re:Well... by hey! · · Score: 5, Insightful

      Well, I'd say you're the victim of another poorly titled article.

      I'd have titled it "VS.Net applications now run on J2EE Servlet Containers".

      Personally, I think this is cool, but not Earth shaking. The most important reasons for users to do this would be to either migrate to J2EE or to get access to Java standard libraries. Since people on the MS side of the fence tend to rely heavily on the IDE to do a lot of the heavy lifting, I'm not sure it helps them that much. They can't maintain the software except by targeting the dotNet environment; their IDE doesn't know anything about the Java standard libraries or the J2EE container facilities. Maybe if they wanted to prototype stuff in VS IDE and then add things like security using filters or byte code modification to do AOPish method interception.

      In any case I see three possible applications. First, if some horrible security hole is found in IIS, you can get off in a hurry and deal with the maintenance issues down the line. Second, you may decide to use this to scale a successful application up using midrange iron. Third, you can show your boss that servlet containers do everything your application needs (but we all knew that, didn't we)?

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  2. Maybe im missing something here.. by t_allardyce · · Score: 3, Insightful

    ..but wasn't the whole point of dot net platform independence !?!

    --
    This comment does not represent the views or opinions of the user.
    1. Re:Maybe im missing something here.. by Anonymous Coward · · Score: 0, Insightful

      Sure, platform independence if you mean .NET only runs on IIS on Windows servers. J2EE is the one with platform independence. Microsoft 'reinvented' J2EE and labeled it .NET, and then made it so it would only run on IIS. So it is no real surprise that the bytecode can be mapped.

  3. Vanilla please by asliarun · · Score: 4, Insightful

    I think that half-baked solutions like this plugin is a bad idea, at least for code that will land up in production servers. I would prefer a vanilla implementation anyday. By porting a .NET assembly (or IL code) to Java bytecode, i would be unnecessarily increasing the chances of getting wierd or untraceable bugs. Then, there's the question of maintaining the ported code.

    A better albeit more time-consuming solution would be to rewrite the source code itself. The plugin in question might possibly be of some use if we need to quickly port a small application from .NET to Java. But for an enterprise or complex system, no way!

    1. Re:Vanilla please by jellomizer · · Score: 2, Insightful

      How is this different from ordinary .NET development. You get weird and untraceable bugs in .NET normally. Maintaing it is just as easy as it was before you just make changes in the code and recompile it. And if it is a compiler issue that is why Pre Processor Directives are their. It is the same as OSS people developing code code for PowerPC, x86, and Sparc. with GCC. Yes it is a bit more complex then writing in one platform, but about the same for writing for multiple platforms.

      My guess is that you are either a student (Or recent Grad), work for a government agency, or Non Profit agency, education, or a Really big company that has a lot of disposable money. time-consuming == waisted money. If there is an option to cross compile an application to an other platform rather then rewritting the cross compiling will problably win unless you have a real solid business reason for this. and 100% speed increase wont cut it because for most apps the cost of redoing the work costs more then to buy a computer that is twice as fast. as well this could cause the buisness to loose faith in the new technology if you can port your apps with little effort the technology would look good if you have to rewrite everything then it will be to expensive.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Vanilla please by asliarun · · Score: 3, Insightful

      " How is this different from ordinary .NET development. You get weird and untraceable bugs in .NET normally."

      The same can be said for ANY platform. The number of bugs that you'll encounter is a function of the quality of your system architecture and the quality of code that you write, NOT the platform. The .NET framework, in its current stage (1.1) is a reasonably stable and robust platform, and is no better or worse than the other alternatives.

      "My guess is that you are either a student (Or recent Grad), work for a government agency, or Non Profit agency, education, or a Really big company that has a lot of disposable money. time-consuming == waisted money."

      Yes, i do work in a reasonably big company, and i've developed over 10 medium-scale and enterprise solutions. Believe you me, no company has money to throw away. Every decision has to be justified across several parameters, namely ROI, stability, performance, maintainability, and so on. Furthermore, funding for a project comes out of a department, not from the company itself. Hence, your argument of a big company having a limitless budget is irrelevant, as the (big company's) department budget is never limitless. In fact, it might be much less that the budget of say, a startup or a much smaller company.

      Again, i'm not saying that the plugin serves no purpose. All i'm saying is that this mechanism of porting to a different platform is only limited for simple and non-critical applications. As a project manager or a technical lead, are you willing to stake your reputation (or your career) and say that the ported Java code will be as stable as the original .NET code?

      Will the plugin successfully translate a remoting application, a web service with SOAP serialization, an ASP.NET application that extensively uses HTTP Handlers and HTTP Modules?? A lot of features that exist in .NET, and ASP.NET/IIS don't even have an equivalent in the other frameworks. How about something as simple as delegates or the ASP.NET support for out-of-process sessions (state servers), which you NEED for a web farm deployment?

  4. You're a cr*p employer by Timo_UK · · Score: 1, Insightful

    Firing somebody for trying something new? You will soon have a scared, non-productive staff base.

    --
    Timo's Audio Software http://www.esseraudio.com
  5. Re:java ripoff by DigitumDei · · Score: 3, Insightful

    While anything is possible, microsoft is not in the business of making money from sueing. Yes they have patents, do they use them in the same way as SCO, no.

  6. Re:Ah, but the real question is... by danheskett · · Score: 2, Insightful

    Eweek writes hundreds of articles about products and technologies a month.

    They can't run them all...

  7. I see failure! by cyberjessy · · Score: 2, Insightful

    No large IT implementation would trust an MSIL to Java byte code conversion. In most cases downtimes are simple un-acceptable. And if one pessimistic guy suggests data corruption they would not even think about it. They might even buy a source code conversion tool (like Microsoft Java to C# converter JLCA), but not converted byte-codes.

    Again such large clients are most likely to want this tool too, a common case being new .Net projects failing to integrate into their predominantly Java-based applications.

    Medium sized companies would most likely run it on .Net. itself.

    For smaller companies, looking to save money on MS licensing, Mono will be a better alternative since they would not have the integration requirements of the larger companies, which only Java can provide. Mono has been tested more rigorously than this byte-code conversion magic.

    Then there are software development companies, looking to port their .Net applications into Java. They wouldn't care about reliability as long as they make quick money. But then, .Net has been around for relatively short period and hence .Net-Java conversion would be less likely than a Java-.Net conversion.

    So who would try this product, other than purely out of academic interest or curiosity? I have a totally pessimistic view about this product.

    --
    Life is just a conviction.
  8. Re:Great switch by Anonymous Coward · · Score: 1, Insightful

    So, a Microsoft study shows that MS software is superior. Color me surprised.

    say what you like about Microsoft, but Erik Meiker is a fine researcher, whom I know from the Haskell community).

    Java is celebrating 10 years in a couple of weeks. It is a lot easier to make something good when you have all that experience to learn from. I just think they (Hjelsberg, Meiker et al) are shameless whores to claim all the credit themselves when it is such a total ripoff. No matter what good they have done before.

  9. Re:Great switch by Anonymous Coward · · Score: 1, Insightful

    Theory-wise you are right. However, Java has a VM implementation with ~10 years of maturity, so your theoretical advantages might not make Java inferior _now_. In theory itanium is not itanic.

  10. Re:Great switch by Slashcrap · · Score: 2, Insightful

    In any case, even on that level (and as I said on another branch), Microsoft have the longer experience in VMs - anyone who was using Java right at inception (like me) knows what a huge step forward their JVM was over Sun's original...

    Dude, you were doing so well up until that point. Then you had to go and blow it by claiming that Microsoft's JVM was an huge leap forward compared to Sun's JVM.

    I mean, come on! You could have strung this troll out a lot longer if you'd just been a bit more subtle.

    But no, you had to go and shoot your load too early. Apparently a common condition amongst Slashdot trolls, on-line and off.

    Next time try thinking of RMS and counting to a hundred.