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

36 of 245 comments (clear)

  1. Nothin' but .NET by Anonymous Coward · · Score: 3, Funny
    For most developers, Visual Studio .NET is second to none when it comes to developing Web applications and Web services. And yet, we're hearing from Windows developers that they would also like to write applications for Linux.
    Wha... Second to none? .NET developers wanting to write web apps for Linux? What Bizarro world is this? I mod this entire project -1 Troll.
    1. Re:Nothin' but .NET by m0rph3us0 · · Score: 2, Interesting

      I'd kill to be able to efficiently run ASP.NET on Linux.

      VS.NET is an excellent dev environment with good tools but Windows 2003 is clunky as a server. And MS SQL is a lot of money for a whole bunch of features most people never use. (I'm talking about federated databases, clustering, etc., NOT transactions, stored procs, etc)

  2. 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. Re:Well... by Locutus · · Score: 5, Informative

      This all reminds me of how Microsoft got many of the UNIX CAD and EDA tools vendors to drop native UNIX coding for Win32 coding. They provided Mainsoft, Bristol, and others with a cheap license to the Win32 source code, which allowed them to sell tools which compiled Win32 apps to run on UNIX. The apps vendors liked this because one codebase supported both Windows AND UNIX. But then, Microsoft quadrupled the license fee for the Win32 source and only one vendor could afford to pay that new fee. The same vendor Microsoft hired to port MS Internet Explorer to UNIX. They did this so that they could afford to pay that huge licensing fee and provide proof in court that the increased fee was not excessive and preditory. All of a sudden, the CAD and EDA software that used to run on both Windows and UNIX, only ran on Windows. And porting back to UNIX would have been almost impossible because of the nice job Microsoft does at not supporting standards or best software practices for design.

      Mainsoft is that one company which Microsoft funded while it killed off the others. Mainsoft is the one announcing a tool that'll let you write software in Microsofts API( .Net this time ) and run it on other systems. Gee, where do you think this will end up going?

      IMO. History IS the best teacher.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  3. Mono's XSP does this too by darnok · · Score: 4, Informative

    I'm in the early stages of experimenting with Mono's XSP as a drop-in replacement for ASP.NET. Looks quite promising at this stage, but I've got a lot more testing to do before I'll be turning off banks of Windows/ASP.NET servers and replacing them with Linux/XSP.

    Still, nice to know there's an alternative if for some reason XSP doesn't work out.

    1. Re:Mono's XSP does this too by sosume · · Score: 4, Funny

      Lol, check the mainsoft homepage ...

      HTTP Status 404 - /index.aspx

      type Status report

      message /index.aspx

      description The requested resource (/index.aspx) is not available.
      Apache Tomcat/5.0.28

  4. why from byte-code to byte-code? by castlec · · Score: 2, Interesting

    Was this only to take advantage of already existing VMs to create instantaneous cross platform usability? Are there plans to remove the byte-code to byte-code translation?

    --
    When I tell an object to delete this, am I killing it or telling it to kill me?
    1. Re:why from byte-code to byte-code? by castlec · · Score: 2, Interesting

      I wasn't accusing VMs of being poor. It just seems like a lot of the effort of porting from one byte-code to another to use an already available VM would be better served by producing a native VM. Perhaps I'm wrong and it is just too complicated to mess with right now. My point is that it is an additional and unnecessary layer, not an attack on the use of a VM.

      --
      When I tell an object to delete this, am I killing it or telling it to kill me?
    2. Re:why from byte-code to byte-code? by Locutus · · Score: 2, Interesting

      it's only "unnecessary" if you are a multi VM vendor running a single Dev Environment. Microsoft and Mainsoft are doing this so that multi VM vendors/customers running different Dev Environments switch to the Microsoft IDE for their only Dev Environment. They'll kill off this multi VM capability later but right now, they are not telling you this.

      It's how they turned a bunch of UNIX software vendors into Windows software vendors back in the NT v3.5x days.

      To see how far they'll go, look at the Microsoft purchase of Softimage. After the sale, they were forced to produce a Windows version and then Microsoft pounded on them to drop the UNIX version. Too many customers stuck with UNIX and the UNIX port remained and is now also a GNU/Linux version.

      It's all part of the Microsoft game....

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  5. java ripoff by tines · · Score: 5, Funny

    so the .net is really a java ripoff. the bytecode maps amazingly well. +1 obvious

    1. Re:java ripoff by tezbobobo · · Score: 2, Funny

      And yet, I predict Microsoft will at some point consider patenting vm technology, after which point they will sue Sun and everyone else. EVERYONE!!!!

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

    3. Re:java ripoff by zerbot · · Score: 2, Informative

      Yet.

  6. Re:oh well by Anonymous Coward · · Score: 2, Interesting

    Becuase it's not easier to port unless you want to make people install GTK or whatnot on their Windows/Mac boxes.

    The power of .NET has nothing to do with writing data-crunching algorithms. It's all about GUIs (and other such things) that older devel tools really suck at.

    There are other options of course, such as OpenStep, but .NET really is a good thing, even if it is MS-specific. .NET and the whole managed-code development model (which also exists in versions from Apple, Sun, and others) might well lead to more consistent, better user interfaces and shorter development times for desktop apps.

  7. Stop - don't do it by tezbobobo · · Score: 5, Funny

    It's all a microsoft conspiracy to prove that linux is the more insecure system - now vulnerable to the vast raft of windows insecurities. Muwhahahaha!!!!

  8. Re:We tried working with Mono... by Anonymous Coward · · Score: 2, Informative

    Who has written this bot?
    The same text (only s/Linux/Mono/g)
    was in Slashdot article
    "Get The Facts" Campaign Working.

  9. 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 mattyrobinson69 · · Score: 5, Funny

      the whole point of .NET was so they had yet another buzzword to throw around:

      PHB: Is this 'Linux' thingy written in .NET?
      tech: no.
      PHB: does it leverage the power of XML?
      tech: er, no

      thats all i'm afraid, my buzzword library has gone blank.

    2. Re:Maybe im missing something here.. by jojo+tdfb · · Score: 3, Informative

      actualy "porting" 32-bit apps to amd64 is pretty much a non-issue. The 64-bit Long Mode is just 32-bit Protected Mode with the ability to optionaly have longer word size and more registers. It's absolutely nothing like moveing from 16-bit Real Mode to 32-bit Protected Mode.

      --
      Linux is really boring from an os standpoint. Now Plan 9......
    3. Re:Maybe im missing something here.. by Zonnald · · Score: 3, Informative
      To answer this I refer here dotnetspider.

      specifically this quote:

      Many people ask this question "Java is platform independant, what about .NET ?".

      The answer is "Yes" and "No" ! The code you write is platform independant, because whatever you write is getting compiled into MSIL. There is no native code, which depends on your operating system or CPU. But when you execute the MSIL, the .NET framework in the target system will convert the MSIL into native platform code.

      So, if you run your .NET exe in a WIndows machine, the .NET framework for Windows will convert it into Windows native code and execute. If you run your .NET application in Unix or Linux, the .NET framework for Unix/Linux will convert your code into Unix/Linux native code and execute. So, your code is purely platform independant and runs anywhere!

      But wait, we said it wrong... there is no .NET framework for Unix or Linux available now. Microsoft has written the .NET framework only for Windows. If you or some one else write a .NET framework for other platforms in future, your code will run there too. So, let us wait until someone write .NET framework for Linux before you run your .NET code in Linux.

    4. Re:Maybe im missing something here.. by cosinezero · · Score: 2, Interesting

      Many companies run their entire enterprise on .net, already. We do, and have since v1.0. .NET performs VERY well, however it does suffer from a ton of sub-par developers migrating from ASP/VBScript/VBA(office dev) who don't understand the power they've been handed.

      I will however readily admit that I've very little experience in java enterprise development, but if java can outperform some of the amazing features of .net managed code, I would be surprised.

    5. Re:Maybe im missing something here.. by milimetric · · Score: 2, Funny

      dude, I totally agree, if someone uses the word "leverage" one more time, I am afraid Archimides will jump out of his grave, bust out a mirror and fry him like the ant he is.

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

  11. I think I need glasses ;) by Fuzzums · · Score: 2, Funny

    EWeek is reporting here about a penguin for Visual Studio.Net, called Grasshopper...

    --
    Privacy is terrorism.
  12. 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...

  13. Anyone bother to read the EULA? by Decker-Mage · · Score: 5, Informative
    Well I did. Guess what, bring money if you want to deploy using this beast. Here's the limitation right from the EULA:

    "Small Workgroup Configuration" means a Java-based hardware and software configuration supporting the execution of a Developer Application and limited to (a) Apache Tomcat excluding any other J2EE application servers and (b) single CPU (Central Processing Unit) computers excluding computers with multiple CPUs' and excluding cluster or grid of computers.

    You can forget running on your personal multiple cpu development machine, let alone anywhere reasonable, unless you pay the price. It ain't free folks!

    I went digging to find the price for deploying it on anything but what they consider a workgroup machine. You'll find that in What are the licensing terms for Grasshopper. Bring lots of money! At least MS gouges me only once.

    I believe I'll stick to doing my own porting, thank ye!

    --
    "[I]t is a wise man who admits the limits of his knowledge or skill, and that pretending either causes harm." --Terry Go
  14. 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.
  15. Re:Great switch by BarryNorton · · Score: 2, Interesting
    I'm sorry replying to myself, but moderation these days is in the hands of incompetents.

    To defend my point, the JVM is undeniably technically inferior to Microsoft's CLR (read 'Technical Overview of the Common Language Runtime' - say what you like about Microsoft, but Erik Meiker is a fine researcher, whom I know from the Haskell community).

    Furthermore I've worked with Tomcat for a number of years now (though not with IIS for a while), and it is an appalling and unstable piece of software.

    If the moderators choose to judge everything on a political level, so be it, but my point remains, on a technical level (putting aside the political and economic) this is not a move forward...

  16. Re:Great switch by CaymanIslandCarpedie · · Score: 2, Informative

    I think this is the link you meant.

    I was about to be REALLY shocked when I saw your link to a research.micorosoft.com sub-folder on /. ;-)

    --
    "reality has a well-known liberal bias" - Steven Colbert
  17. 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.

  18. Hooray! by Greyfox · · Score: 4, Funny
    All the ease of use of Linux combined with all the security of Windows! My prayers are answered!

    Yeah... that's just what the world needed...

    --

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

  19. Re:Great switch by 0xABADC0DA · · Score: 2, Informative
    First, Microsoft have a longer history of developing virtual machines for programming languages (in Visual Basic).

    Riiight, because Microsoft has so many ex-Smalltalk pople working for it unlike Sun*... Sun knows more about VMs just from Self then Mircosoft ever will.
    Java owes a lot (beyond even that) to MS Research. Don't judge a company by its Operating Systems division..

    Java owes nothing to Microsoft Research. Nothing. Your lack of seemingly any context regarding VMs is simple astounding.
    Finally, you want to claim Microsoft Research are credit-stealing whores over the Java community? Where do you think the idea of objects supporting multiple interfaces for the purposes of inclusion polymorphism (seperated from the nightmare of multiple inheritance that plagues/criples OO-languages) comes from?

    Um, Simula way back in 1967.

    As for being whores, look at some of the other 'innovations' they have discovered:

    Singularity: "safe" C#-based operating system done by a total of over 50 people, with 4 paid full-time for 2 years. DOS interface.

    vs.

    jxos: "safe" Java-based OS done by a handful of people in basically their spare time. AWT interface with lists, buttons, textboxes, etc. Plays minesweeper.

    One of them is a direct rip, apparently from the interview including even the underlying architecture.

    * -- that's sarcasm btw.

  20. Re:so stupid it hurts by namekuseijin · · Score: 4, Informative

    "1. Java and the developnent platform is FREE."

    Free as in beer. The same as the .Net platform and command-line tools, btw...

    "2. Java has an On-Line users manual that is top notch."

    same for .Net, like it or not.

    "3. Java is not Microsoft"

    Nope. But it should read: "Sun is not M$ ( though they would really love to be )".

    Or .Net is M$'s Java libraries and C# their java language...

    "4. Java has way better 3rd party SDKs (I.E. eclipse) than .NET"

    IDEs are for losers. Gimme a powerful, expressive language ( Python, Ruby, Haskell, Ocaml ), capable of yielding the power of ten java imports in a sentence, and a good text-editor ( XEmacs ) and i'm sold.

    --
    I don't feel like it...