Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Asking advice about an old book

Is there someone who has read  Roman Maeder's "Programming in Mathematica"? Is it useful or outdated for a user of WM8? Please provide me some comment over this old book.

like image 525
esetlzn Avatar asked Dec 26 '11 11:12

esetlzn


2 Answers

It is still one of the best books on Mathematica programming, emphasizing good programming style and practices (pick the 3rd edition though - was published in 1996). Here you can find my opinion on this book in a bit more extended form.

Just be aware that what you will find in Maeder's book is a very elegant description of the core language, but not of many more modern additions. Important things regarding the core language which you won't find there include:

  • Packed and sparse arrays
  • Integrated string manipulation operations
  • Reap and Sow
  • Modern ways of treating options: OptionsPatern, OptionValue, FilterRules.
  • Mathematica compiler (Compile)
  • Not much advice on performance - tuning (there is some, but this is not heavily emphasized)
  • Not much advice on debugging

Also, the core language aside, it contains no coverage of anything that was added to the language after 1996 (that would include dynamic interactivity, parallel computations - which is ironic since this part has been developed by Maeder, new areas of integrated functionality, new capabilities of Compile, etc).

Nevertheless, I highly recommend this book. In my opinion, it can be called "Zen of Mathematica programming". It is not quite an easy read, and I think I read (parts of) it at least 10 times with each time understanding something that wasn't apparent to me before (may be it is just me being dumb). This is also a great resource for writing packages, and in this capacity probably still unsurpassed. I would not recommend it as a first book on Mathematica, but you will be missing a lot not having read this book.

like image 168
Leonid Shifrin Avatar answered Nov 15 '22 12:11

Leonid Shifrin


This is at least unsatisfactory, that there are no newer books on the core language, as well as even no newer editions of the books by Wagner and Maeder. I read "Programming in Mathematica" 3 years ago only once since I borrowed it for 2 weeks, but my pure impression was that I really needed that top expert's book. Strictly to the question: it is not only useful for a WM8 user, but the more M-functionality gets larger I believe the more one needs read that classic book, since it presents pure M-fundamentals rather than deals with details of specific implementations, which today is still more important for such a comprehensive system.

His (R.Maeder's) another one "Computer Science with MATHEMATICA" is very good and almost 12 years old, but rather not targeted the M core.

I find Sal Mangano's M Cookbook to be good newer one for an intermediate reader, its drawback is that it is a bit mixed up, and its style is not very convenient for deeper understanding.

The third edition of Mathematica in Action by S.Wagon is a really beautiful book, but rather about Mathematica applications. Someone wrote about it that there every page was gold and I am close to that opinion.

An impressive 4-volume book by M.Trott had to be updated with dynamic interactivity and other new functionality in versions 6+, but on its web page one can read "August 2008: Although Mathematica Version 6 has been released, updating the GuideBooks is taking longer than predicted. So, rather than having new versions in Summer 2008, the expected date is sometime in 2009". Up to now there is no newer edition.

Taking all above into account I find Leonid Shifrin's book is very needed to Mathematica community and I hope there will be also paper editions.

I find that in all M-books, chapters about pattern matching and rule-based programming are rather too brief, while the common opinion is that Mathematica fullest potential can be used only with mastering both functional and pattern-based programming, and they both are worthy even a whole monograph.

like image 42
Artes Avatar answered Nov 15 '22 14:11

Artes