I really like the book by Leonid Shifrin (http://www.mathprogramming-intro.org/). It does a great job explaining the general principles behind Mathematica's syntax. However it hasn't been updated since 2008. Although I suspect that many of the principles outlined in this book are still valid, it would be nice to have a more up to date reference.

The documentation is also great, but sometimes I feel it is lacking in depth. I also found this question, which also looks outdated. I am asking this in the hope of finding new, modern, sources.

Can you recommend a book with a similar depth to Leonid's, that is more up to date (if there is any)? Thanks.

  • 3
    $\begingroup$ Isn't this enough? :) mathematica.stackexchange.com/q/18/5478 $\endgroup$
    – Kuba
    Nov 26, 2017 at 14:06
  • 1
    $\begingroup$ I still hope to get some time on my hands to update the book, and if I have yet some more, perhaps write another one which would have a deeper coverage and more advanced topics as well. Can't tell when this happens, though, my plate is full for quite a while. $\endgroup$ Nov 26, 2017 at 16:41
  • 5
    $\begingroup$ @LeonidShifrin I am sure a lot of people would be happy if an updated version of your book came out. $\endgroup$
    – becko
    Nov 26, 2017 at 17:04
  • 2
    $\begingroup$ @becko, I put a bounty on the Q&A you indicate wanted updating (it's actually one of the explicit reasons one can check off on the bounty form). Maybe you can get an answer that way, and the answers will stay together. $\endgroup$
    – Michael E2
    Nov 26, 2017 at 19:40
  • 1
    $\begingroup$ @JoséAntonioDíazNavas Trott books are amazing. But if you can understand the code there, then you must be really good! I struggle each time I try to read some of the code there (the more complicated ones). Too advanced for normal users to follow I think. The books contain great graphics. But I think the code could have written in a more easier way to understand for us normal users. $\endgroup$
    – Nasser
    Nov 26, 2017 at 19:46


Browse other questions tagged or ask your own question.