Suite101

Everything Old Is New Again


© Adam Hughes

In the grand scheme of software technology, Java seems to have taken the lead as the language of choice in our e-commerce-laden, web-based world. In the grand scheme of scientific software development, however, Java has admittedly caught on a little more slowly. A lot of this lagging is due to the perception on the part of those who develop and use said software that a Java implementation could reduce performance. While we're not going to debate the merits of that argument this week, it is well known that code written in C generally performs better than code written in C++, and Java has even more "unseen" overhead than C++. Even given that performance could be a legitimate concern, however, there is one arena in which Java is bringing the worlds of mainstream computing and scientific computing together : user interfaces.

In a traditional scientific simulation package, input and output are handled as flat text files. That is, the user prepares a file (or, more likely, some files) with all of his input parameters and launches the program. The program, in turn, reads the user's file, does its computational magic, and then spits out another file or series of files. The user then manipulates the data in these files to figure out just what the simulation is telling him. Not at all flashy, but it generally gets the job done.

Of course, software users, like all other consumers, tend to become more demanding as the years pass and technology explodes. In this case, users began to ask for a more "friendly" way to interact with the programs they were using. Companies were quick to try to address these needs, and things like TCL scripts began to be seen in many commercial simulation code releases. These scripts basically provide a way to build up a graphical user interface (GUI) that can handle some of the tasks users were looking for. As software became easier to use, more scientists started utilizing the codes that were available in graphical form, and so even more user input was available. The cycle has continued, and we now have some pretty sophisticated GUI's with which to access certain simulation products.

While the mini-revolution discussed above was occurring, however, there was also a core group of so-called legacy codes that continued on their own path. Developers working on this software tend to spend time enhancing performance and functionality rather than building GUI's. For these applications, Java may offer a vital key to reaching an even greater scientific audience than they do today. We'll explore this possibility in more depth next week.

Go To Page: 1


The copyright of the article Everything Old Is New Again in Scientific Computing is owned by . Permission to republish Everything Old Is New Again in print or online must be granted by the author in writing.

Post this Article to facebook Add this Article to del.icio.us! Digg this Article furl this Article Add this Article to Reddit Add this Article to Technorati Add this Article to Newsvine Add this Article to Windows Live Add this Article to Yahoo Add this Article to StumbleUpon Add this Article to BlinkLists Add this Article to Spurl Add this Article to Google Add this Article to Ask Add this Article to Squidoo