Hi all, Please note that I'm not by any means trying to raise a debate of any kind I'm just trying to brain dump some thoughts about future development platforms.
I thought I'd share a "strange" thought that bubbled up in my mind while i was in the metro (aka the underground or the tube). I think what stimulated this idea are a set of articles i read about interoperability between java and .net. The emphasize here is on code-level interoperability not through any XML-based protocols (web services). Another thing is how each of the two platforms is trying to port in the best of the other. From tools or libraries (Ant -> NAnt, JUnit -> NUnit, etc) to Web development paradigms ( ASP.NET <http://ASP.NET> WebForms -> J2EE JSF). I know the that under the hood WebForms and JSF are totally different but they essentially deliver the same: Web applications based on an event model with Page Controllers and can be visually designed by drag-and-dropping components in a visual editor. The two platforms are heading to the same place: productivity, performance, completeness. Did i miss somthing? oh yeah, being Cross-Platform. Both Java and .NET are built around machines abstraction runtimes. Sun offcially release JREs/JDKs for Windows, Linux and Solaris. Microsoft? .NET only for Windows ( but the shared source CLI (Common Language Infrastructure) can be build on Windows, FreeBSD and Mac OS X [ http://www.microsoft.com/downloads/details.aspx?familyid=3a1c93fa-7462-47d0-8e56-8dd34c6292f0&displaylang=en]. Mono [http://www.go-mono.com] is taking, driven by Novell, .NET development on Unix-likes by a storm. Let's get back to our code-level interoperability talk. I think i only have to mention two projects to get to my point: the .NET-based JVM implementation known as IKVM [http://www.ikvm.net/] (which ships now with Mono) which makes such interoperability a snap, and Mainsoft's Grasshopper [http://www.mainsoft.com/], quoting their site: "Grasshopper is a Visual Studio .NET(r) plug-in, which enables you to use C# or Visual Basic .NET(r) to develop cross-platform ASP.NET <http://ASP.NET>applications that run on Linux (r) and any platform running Apache Tomcat." Now i finally come to the strange idea. What if someday, somehow, somewhere we come to the point where a platform could be developed atop these platforms!! Let's call it PX or Png (sure that would be a "next generation" platform :). So you write applications for PX and using PX Class Library (which is will be engineered to provide unified interface to the underlying Java/.NET class library) I know it's a totally weird idea but who knows!!! Comments are welcome, for sure, and you all have a nice day. Regards, ahmed