Portability of Java

Jan 13 2009

In the last semester of our computer engineering course, we had to do a project work which comprised of building and demonstrating a software system. We were given the following instruction:

“You must develop the softwares using the Java Programming Language”

I still don’t understand why there was a restriction like this. May be they followed the strategy of imposing one rule or the other once in a while so as to show off their authority.

Anyway we started doing the projects. Some of us were using the machines inside our computer labs and some others were doing it outside the campus. There were all kinds of projects. File encryption program to application that could control a PC from a Bluetooth enabled mobile phone. There were bigger systems that used a mix of Java technologies including JSP/Servlets.

In the course of time, we found out that it was very difficult to migrate some Java applications from one machine to another or one network to another. A Java application that worked perfectly in the home PC would not work when it is executed in our college lab. There were all kinds of dependency problems and as most of the students did not know how to resolve the issues. We started realizing that Java was a “Write Once, Debug Everywhere” platform. Some of us even encountered the dreaded JAR hell.

The day of project submission came.

I was among the group who did their projects inside the college lab itself. So we did not have to bring the projects and install it in the machines in the lab. But what did the others do?

They were carrying their machines with them!

The machines were powered up, and the projects were demonstrated.

That was the day we started joking about the Portability of Java!!!

12 responses so far

  • I think the real question about Java should be “Portable compared to what?” The initial Java release was being compared to programs written in C and C++. The point back then of “write once, run anywhere” was that correctly written Java code didn’t need to be recompiled to run on a particular target machine. If you’re comparing it to Python and Perl scripts, you’re taking the WORA claim a little out of context. Java isn’t a good replacement for either C++ or Perl. It tries to replace both, but ends up so dead-center in the middle that it replaces neither.

  • Binny V A says:

    My brother ran into the exact same problem when we was doing his project.

  • Shoban says:

    ha ha!! I love this mate ;-) I dont know for some reason I dont get much attached to java…

  • [...] you still haven’t downloaded windows 7, then head straight here to grab your copy. As I wrote in my previous post you should be able to install all your vista drivers in [...]

  • Mahesh E P says:

    Niyaz you cannot say like that. Whether Java(especially when cored with JEE) or Microsoft.net are a better programming language and also a better platform. How can you say just some your friends failed with “Portability”, it’s bullshit. It’s your friend’s fault and i am one of them. how can u blame JAVA for your own fault. Java is definitely better than it’s predecessors. and there will be more new languages. well at that time JAVA might fade. but JAVA had come so far fighting with “VB run time”. It’s simply great…. so far.. :)

  • Mahesh E P says:

    I am not finished. Java is the language who defeated the Microsoft Caesar. But of course couldn’t killed it. JEE of course is a good platform in biz perspective. But don’t think that i am not a fan of JAVA. Microsoft is still Caesar but less power after the failure of “STAR SEVEN”

    If you don’t understand “STAR SEVEN” => http://weblogs.java.net/blog/robogeek/archive/2006/02/is_java_10_yrs.html

  • Mahesh E P says:

    the last part
    I accept “Microsoft is the Caesar”(only of web) of course who constantly looses power and hardly gains. who fought with java with it’s knight “C Sharp” but failed(once at the first version). what made JAVA powerful other than JEE is what i think is the “The Swing Kit(GUI)”,”OOP” and “Multithreading”. But As of “2008″ most of the open source languages such as pearl and php supports the above(some of them) and i think soon this discussion will be pointless. as evolution is necessary. but anyway JAVA will be at least in history for the contributions it have made to the web.

  • Niyaz PK says:

    Mahesh,
    I was just telling a story. ;)

  • Sébastien says:

    Funny story ;-)

  • Nived says:

    Boy…!! was that me..? The guy who brought his system to the lab….i don’t remember. ‘Mobile monkey’ (application that could control a PC from a Bluetooth enabled mobile phone) is lost man…I lost the whole damn code.

    Any ways I ‘ve moved away from java , niyaz…Ruby , python n other dynamic languages are on the way….Thanks for remembering the MobMon … :)

  • Niyaz PK says:

    How could I forget Mobile Monkey? It was a classic.

  • MaggieL says:

    Java does not automatically make your code platform-portable.

    It does however, make that *possible*.

    It’s up to you to design and implement your app so as to avoid platform dependencies.

    If Java made writing importable code impossible, it would cripple the ability to write apps that exploit platform features.

    “It’s a poor craftsman that blames his tools.”

Leave a Reply