Matt Gripes Wrote What About Platform Independence I Thought One Of The Paramount Reasons To Write App

Matt Gripes wrote: What about platform independence? I thought one of the paramount reasons to write applications in Java was "write once, run anywhere". I like that my java apps work on any platform that has a JVM. When did that become unimportant or unnecessary?

I'm glad Ximian wrote a C# port to linux, but, at the end of the day, is .NET going to be a uni-platform technology?

::: {.date} 11/24/02; 12:37:29 AM :::

::: {.date}   :::

::: {.date} Yes, if your apps require nothing beyond the capabilities in J2SE, your Java apps can run anywhere except those platforms which only support J2ME. And there are valuable apps that fit that mold: Idea, for instance, is probably the best IDE that I've ever seen and I believe that you can run it on a development-quality machine with your choice of OS. But I think for most companies, the ability to use different platforms for different purposes is what's important: clients can use Palms, Macs, Pocket PCs, and Windows, my Web servers and middle-tiers run on cheap blades, my database server is a multiprocessing honker and I still have the mainframe in the basement to deal with. So I think that for most people, interoperability is significantly more important than replaceability. When it comes to interoperability between machines, you have CORBA, the platform protocol (Java's RMI or .NET Remoting), and Web Services. Of those, I believe that Web Services are the best route going forward and I believe that .NET leap-frogged J2EE in terms of Web Services. :::

::: {.date}   :::

::: {.date} As far as Mono and Gnu Portable .NET go, though, I do not believe that they are today serious alternatives to .NET on Windows. I hope they are one day, but if replaceability of Windows and, say, Linux is a requirement, you should continue to choose Java, C++, or Delphi. :::