Books


I’ve updated Modern IDL for some of the IDL 8.1 features, notably GRIB, function graphics enhancements1, and the IDLffVideoWrite class. PDF purchasers from this point on should get the new version and I will send out the update to the purchasers of the old PDF shortly. The first run of the print book is all sold; the second run is still at the printers. So if you order the print version right now, expect the book to ship sometime next week.

As always, see the Modern IDL website for purchasing, new code examples, table of contents, sample chapter (object graphics with the new function graphics updates!), and errata.


  1. Also, I switch back to the term “function graphics”, which was my original favorite term for the new graphics system, but I had gone away from it because there seemed to be consensus on the newsgroup to call it “new graphics.” I think “function graphics” is a better term that is less likely to not make sense when the next graphics system comes out. 

I’ve updated the PDF version of Modern IDL to fix some typos. If you bought a copy of the PDF, you should receive an email this weekend (to the email address used to buy the book) with instructions on downloading the new PDF. I’ve included an omitted program from the example programs also, so follow the correct download link at Modern IDL.

Modern IDL is now listed on the IDL books page on ITT VIS’ site!

Lesa Williams, ITT VIS Programming Consultant, recently wrote a great review of Modern IDL for an internal ITT VIS newsletter. I had gotten word of the review last week, but today I received permission to post the whole review here:

Mike Galloy spent nearly five years writing this 462-page book covering modern topics in IDL, and it certainly shows. This virtual tome (available in both PDF and spiral-bound versions) contains a wealth of information on the IDL programming language, with sections for beginners and advanced users alike. It provides a wide range of topics spanning from IDL basics such as variables, file input/output, programming calls, and direct graphics to more advanced concepts such as widget/object graphics applications, IDL compound widgets and composite graphic classes, optimizing code performance, and external development using bridges, Python, etc.

One impressive aspect of Modern IDL is how well it illustrates some of the basic components of the IDL programming language from a fresh, unique perspective. Those with a chemistry or physics background will appreciate Galloy’s innovative way of viewing the IDL operator hierarchy via the “Periodic Table of IDL Operators.” Similarly, for those who are more literary in nature, there is an extensive section on strings and string manipulation, with an especially helpful segment on the often confusing, but very powerful, use of regular expressions. For visual learners, Modern IDL has an exemplary set of diagrams depicting the concept and use of pointer variables in IDL. The mathematically-minded will thoroughly enjoy the four-page section explaining the use of the IDLgrModel’s transformation matrix, as well as the seven-plus pages describing the simplistically beautiful, yet amazingly clever, HISTOGRAM function. Lastly, hard-core programmers will hone in on the chapter covering code performance in which Galloy addresses various ways to speed up and to make IDL code more computationally and memory efficient (e.g., taking advantage of IDL’s array operators, minimizing the number of interpreted statements, using IDL thread? aware operators/routines, etc.).

Accompanying the wide array of material in the Modern IDL text itself are over 50 pages of additional resources and information contained within the appendices. The book is also filled with numerous exercises and examples, which makes it a very practical, hands-on instructional guide. In my opinion, Galloy has written an outstanding and comprehensive book covering a vast range of topics relevant to the current world of IDL programming. This is a terrific resource — one that I will definitely revisit time and time again.

Thanks, I hope this is a great resource for IDL programmers! Check out Modern IDL‘s website for sample chapter, table of contents, and links to buy.

Mort Canty’s first look at Modern IDL:

… But I’ve always wanted a thorough, concise, up-to-date overview of the the IDL language and its vast capabilities. This is exactly what Mike’s book provides in 464 very informative pages. Can’t wait to have the “real thing” on my bookshelf. Highly recommended!

High praise indeed, thanks Mort!

Modern IDL is now listed in Google Books! This should make a fair amount of content of the book available for reading online. Even better, you can do text searches of the entire book, which gives snippets and a page number that you can look up in your hardcopy version.

I have printed copies of my new book, Modern IDL, so I’m taking orders now. Run over to modernidl.idldev.com to get your copy (spiralbound or PDF)!

After nearly five years of writing on nights and weekends, I have finally finished Modern IDL, my book about all things IDL. The book is at the printers now and should be available on Tuesday June 14!

See the Modern IDL website for the table of contents, a sample chapter (object graphics!), all the code examples, and, on June 14, a link to buy the book. The book discusses, with many examples, topics such as object-oriented programming, file input/output, networking, widget applications, direct graphics, object graphics, new graphics, external development, and performance.

The book will be available spiral bound and in PDF. I put a set of photos of the book on Flickr which you can see below:

Coyote’s Guide to Traditional IDL Graphics: Using Familiar Tools Creatively by David Fanning is a great resource for users of direct graphics, particularly those using David’s fantastic Coyote Graphics system. It contains discussion and many examples of various types of graphics: line plots, contour plots, surface plots, image display (and even image processing), as well as topics such as PostScript output, raster output, and using the Z-buffer.

The book also serves as a user manual for the Coyote Graphics system with most of the examples using the “cg” routines and a chapter on Coyote Graphics extra features like resizeable graphics windows, loading command lists, saving/restoring visualizations, and layout management.

The book itself is 460 high quality, full color pages, available in softcover or as a PDF.

The book website has ordering information, table of contents, sample chapter download (contour plots), and the required files.

The book is currently on sale through June 6, 2011. After that, it will be available only through Amazon or special order until late July.

Ronn Kling’s Object Oriented Programming with IDL is an excellent introduction to object-oriented programming with IDL. The beginning chapters introduce object-oriented concepts like encapsulation, inheritance, and polymorphism along with IDL’s basic syntax for creating classes. This should be straight-forward for anyone comfortable with writing normal routines in IDL.

Later chapters cover more sophisticated topics like features added in IDL 8.0 like object overloading, garbage collection, and the new syntax for calling methods and instantiating an object. There is also a chapter and appendix dedicated to showing tricks for getting around the lack of object-oriented features in IDL.

Overall, this is a great way to break the ice into object-oriented programming if you have been reluctant. Kling not only gives the basic syntax for IDL, but gives a nice introduction to object-oriented programming itself, as well as a discussion of situations when it can be most useful.

older posts »