harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neil Macneale <mac4-harm...@theory.org>
Subject Re: [sidenotes] Platform of Platforms
Date Tue, 14 Jun 2005 06:27:36 GMT

I've been lurking for a while now. No better time to start writing than 
now, I suppose...

I don't find your idea strange at all. It seems that layering software 
is in the nature of software itself. At one time it was considered 
ridiculous that you would write software to assemble human readable 
instructions (assembly language). It was thought that it would never be 
fast enough, and would cause more problems than it solved. Well, we all 
know how that argument turned out. Building languages on top of 
languages in computer science is an interesting history of continual 
re-evaluation of the problems at hand, and how to solve them.

These advances in programming languages are generally the result of 
there being a common set of problems which needs to be solved more 
easily. Can you imagine a new general purpose programming language which 
didn't do memory management or wasn't multi-threaded? These features are 
simply so common place that we would consider anything less a step 
backwards. But there are still problems to solve, and things like Web 
Services and AOP, and any number of other things are just minor steps 
forward in solving these problems. And all of these things allow you to 
execute arbitrary code, which allows you to execute C libraries, which 
allow you to execute assembly. So even though there are many layers, you 
can always dig down to the lower layers if required.

In ten years I assure you that there will be some new thing that has all 
that stuff (or whatever stuff does not die out as a fad) in the core 
language and it's libraries. It will be the new platform for awhile, and 
naysayers will claim it's too slow and causes more problems than it 
solves. Eventually they will come around and given enough time, the next 
platform will be built on top of that. This is why writing software is 
fun, and keeps us all up late!


Ahmed Saad wrote:
> 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

View raw message