Received: from dxmint.cern.ch by d0sgi3.fnal.gov via ESMTP (951211.SGI.8.6.12.PATCH1042/940406.SGI) for id RAA25379; Mon, 19 Aug 1996 17:41:39 -0500 Received: from DECnet-Mail11.dxmint.cern.ch (root@localhost) by dxmint.cern.ch with SMTP id AAA27751 for ; Tue, 20 Aug 1996 00:39:51 +0200 (MET DST) Date: Tue, 20 Aug 1996 00:39:51 +0200 (MET DST) Message-Id: <199608192239.AAA27751@dxmint.cern.ch> Mime-Version: 1.0 From: purschke@axgsi5.cern.ch (Martin Purschke, GSI, CERN-PPE) To: lueking Subject: Java Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Mail11-Version: 3.1.0 X-Mail11-OStype: VAX/VMS X-Mail11-Options: NONE X-Mail11-Modes: Carbon_Copy Hello Lee, a quick answer for now, I'm a bit busy. As of next month I will be at BNL and work for the PHENIX experiment, so we can continue the discussion then. I did these Java demo to find out how far I could get (and how fast) with zero experience with Java (but long-term with C++ and OO in general) and with a working C++ implementation of our analysis code. What you see on my web page is the result of a rainy weekend's work. About half of the time I spent on the histogram display class, since I couldn't find a good histogramming package in Java. The rest (converting the C++ code) was painless; there were a few techniques I had to figure out, like substitute subarray passing (no pointers in Java) and some more, but once I had it this went fast. Then some file/stream/URL IO, and there it was. My impression is that Java has about the same capabilities as C++, but tries very hard to hide the details better than C++ does. I think that a fortran programmer would be more comfortable writing a few Java snippets for his/her analysis than doing it in C++. In addition, Java comes bundled with a generic windowing system built in (the AWT, abstract windowing toolkit, which shields the user from many details). The effort to "just open a window and display something" is a snap compared to what it takes in C/C++. And Java has all the OO power, it is not a toy. In general I think that Java will play a very important role, all the more as today's CASE tools are able to produce C++ as well as Java (or some other, like SmallTalk) code, so the actual language will become less important. Other than all other languages, Java has the platform independence advantage, Java code can be excuted on any platform, and even across the web. I am not aware of other people using Java for real work at CERN, but my web page created a lot of network traffic, and I got a lot of comments. However I think that the current attitude is "real men do it in C++, let's worry about this later", and it will take some time for Java to gain general acceptance. Ok, so far for now, I hope this helps a bit. Cheers, Martin