I'm a programmer and new to Mathematica. Mathematica is still very mysterious to me. I know there are a lot of tutorials of Mathematica which cover contents of different functions, such as Plot, DSolve, etc. and play these functions to fit some data, solve equations, do symbolic calculations, and so on. However, these are much like a fancy calculator.

I'm curious whether there exist some tutorials suitable for the taste of a programmer. For example, introduce the primitive types and basic data structures in this language and what's the underlying implementation of these data structures(since different implementations have totally different time/space complexities and I may need to do trade-off to use different implementations); how to write interface, class, module, and package; how to import another package of utilities; is the language pass by value or reference; functional programming; compile; how to write optimizing/efficient code (like in Java 2d array is stored as an array of references to anther array, however 2d array in NumPy is stored as C-contiguous, therefore we need to utilize the implementation of the data structure to write an efficient code) and so on. Therefore I want a bottom-up building of knowledge.

Because Mathematica is also a programming language, are there any textbooks/tutorials/lectures which can cover my requirements?

  • $\begingroup$ There probably isn't a single book that will 100% satisfy your requirements, but there are a few which come close. There have been several similar questions asked before, particularly a general one, one oriented towards CS, and one oriented towards learning it fast. $\endgroup$ Apr 10, 2020 at 22:58
  • 1
    $\begingroup$ @LeonidShifrin Thank you so much. $\endgroup$
    – maplemaple
    Apr 10, 2020 at 23:00
  • $\begingroup$ Your request may be a duplicate of one of those I linked, but since I don't know which one, I didn't cast a close vote. You may also want to check this famous Q/A for a huge collection of references, in particular to some useful explanations and answers on this site. $\endgroup$ Apr 10, 2020 at 23:00
  • $\begingroup$ Sure, np. Was glad to help. Please don't delete this question - if this is indeed a duplicate, we will close it, but it will be a useful gateway for others to those previously asked ones. $\endgroup$ Apr 10, 2020 at 23:16
  • 2
    $\begingroup$ There are many. For hardcover, I really liked "Mathematica Navigator" by Heikki Ruskeepaa amazon but there was no update to his book for a very long time. I think he stopped at version 6 or so. $\endgroup$
    – Nasser
    Apr 10, 2020 at 23:17


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.