[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

5.4




Folks,

I was just looking at the what's new for 5.4.  Oh, my, some tasty
morsels in there, some of which I've been longing for for aeons.  I
can't say enough how much adding break and continue, and switch also,
will do to clean up my programming.  The end to 10 level deep nested
if's!  The tyranny of excessive indentation, cast off at last!

I hope they made the parser smart though -- I'm sure there are some
variables called "break" in routines out there.

The new call_external sans glue code looks neat too, with make_dll.

Relaxed structure concatenation!?!? What?  But no longer will we old
newgroup hands be able to offer our profound and deep insight into IDL's
interior workings when the next "I can't concatenate these seemingly
identical structures" question comes along.  This is heresy.  It's also
a much bigger deal than you think.  Each struct's integrity is
preserved, and they are permitted to be concatenated if they have the
same layout.  

IDL> wha=where(a eq 0,COMPLEMENT=others)

That's just frightening.  Do you know how many times I've done

others=where(indgen(n_elements(a)) ne wh[ind])

or some such, just to get the data which *weren't* selected?  

And how about array_equal()?... my goodness am I seeing stars.  I think
we were complaining about the lack of a test that didn't return all the
elements and stopped as soon as it knows the answer several years back.

Printing with C-style formats?  Say bye-bye
FORMAT='(A,T25,A,T36,A,T50,A)'

NBINS keyword to histogram?  More gravy please.

All in all 5.3->5.4 is shaping up to be about the biggest upgrade since
5.0 brought us willy-nilly into the world of objects.  

Thoughts, reactions, uninformed rantings?  

JD

P.S. Since I've not actually *used* 5.4 yet, please test any of my wild
conjectures which catches your attention.

-- 

 J.D. Smith                  |   WORK: (607) 255-6263
 Cornell Dept. of Astronomy  |         (607) 255-5842
 304 Space Sciences Bldg.    |    FAX: (607) 255-5875  
 Ithaca, NY 14853            |