Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
Ken Knighton <knighton@gav.gat.com> wrote: > Since you are a Java expert, does Java have built-in: > > 1. Vector based arithmetic and array manipulation functions > 2. Plotting/imaging > 3. Image processing and numeric functions > 4. Mapping functions I'd hardly call myself a Java expert, but ... Java does have some built-in plotting/imaging functions, but they are much lower-level than IDL's. There are people writing add-on packages to do some of these things. Java does not have built-in vector/array operations, and you're right: that is (IMHO) both the reason why a Java compiler is needed and the reason why 90% of (well written) IDL programs would not benefit from such a compiler. When I started using IDL a few years ago, I thought I was developing prototype algorithms that would eventually need to be converted into a standard programming language (e.g. C) for efficient execution. However, I found that almost all my applications (mainly image processing) are as fast in IDL as they would be in C (though they can be developed many times faster in IDL.) There are, though, a small number of operations that cannot be implemented efficiently in IDL, and it would be nice to have an IDL compiler for those cases. Calling external C programs from IDL is a big pain and is hard to make portable. Have you ever tried to give out your IDL/C combinations to other people? If an IDL "on-the-fly" compiler existed then I believe I would *never* have to go outside IDL for my image processing applications. >> Perhaps someone should be working on an IDL-to-Java translator or even >> an IDL-to-Java pseudo-code compiler! > > If you feel that it would make money, perhaps you should do it yourself. Sorry, when I became an astronomer I had to swear that I would never make any money! :-) -- Richard L. White rlw@stsci.edu http://sundog.stsci.edu/rick/ Space Telescope Science Institute Baltimore, MD
Rick White <rlw@stsci.edu> wrote: > ... > Java does not have built-in vector/array operations, and you're right: > that is (IMHO) both the reason why a Java compiler is needed and the > reason why 90% of (well written) IDL programs would not benefit from > such a compiler. > ... > I found that almost all my applications (mainly image processing) are > as fast in IDL as they would be in C (though they can be developed > many times faster in IDL.) > ... > There are, though, a small number of operations that cannot be > implemented efficiently in IDL, and it would be nice to have an > IDL compiler for those cases. Would it be possible to add a few functions/procedures/syntax features to IDL and cover 99+ percent? Perhaps this would be a better use of RSI's resources. Don't get me wrong, I am not opposed to the idea, I just wonder if it would be cost effective. > Calling external C programs from IDL > is a big pain... I haven't found it to be so difficult. Caveat: HPUX > and is hard to make portable. Yes. Peter Clinch (writing in another article) had a good idea that would address many of these problems: "However, IDL x.0 of the future could itself be written in Java (rather than C and/or Fortran) and exist in more modular form with functionality downloaded over a network as required." This would theoretically enable Web applets to be written in IDL and would make real good use of the large quantity of resources that are being expended to make Java a better language system. In addition, this would free RSI up from having to support native code on various platforms and make IDL instantly available on any platform that supported Java. Of course, the optimized array operations and other functions would then run s..l..o..w..e..r unless Java to native compile-on-the-fly systems were actually developed and worked well. > Sorry, when I became an astronomer I had to swear that I would never make > any money! :-) Sounds cultish. :-) Ken Knighton knighton@gav.gat.com knighton@cts.com General Atomics San Diego, CA