I have been using Mathematica for almost a year now and I am still learning about functions that make me kick myself for not knowing earlier. For example, I wish I had known about the functions ToString and ToExpression earlier. I would like to take the time to learn as much about the Wolfram language as possible, but I do not know where to start. I am aware of the fact that if the Documentation Center were a single book, it would run over 50,000 pages, so its impossible to learn all of the nearly 6,000 functions in Mathematica. Here are some of my thoughts and goals:
learn the basics of the language. So far I have gone through most of the functions in the documentation center on the Elements of Lists guide, but the problem is that I don't understand how some of the functions would ever serve any practical purpose or how I could use them in my own code.
- For example, I don't understand what an application of SubsetPosition might be.
go beyond the documentation center with any good books meet the following criteria:
- not too hard to understand
- up to date with Mathematica 12 (that is, the oldest I would like to read about is 2 years old)
- free to read. -I found a helpful question at How do I efficiently navigate the Documentation Center? that relates to this question.
I do have some experience with computer science concepts such as downvalues/upvalues, scope, closure, functional programming, procedural programming, object-oriented programming, lazy vs eager evaluation, etc., but I also find it hard to understand the usefulness of the basic functions in the Core Language And Structure Part of the Documentation Center.
I am looking for books like the Mathematica Cookbook (free link: https://math.bme.hu/~jtoth/Mma/Mathematica%20Cookbook.pdf) which I have been enjoying reading online for free in PDF form but it is as up-to-date as I would hope.
I have attended 3 Wolfram University Study Groups (4 if you count the upcoming Differential equations study group) and multiple wolfram university courses recorded on Vimeo such as Data Visualization in the Wolfram Language.
The gist of my goal and question is that I want to be able to take the examples in the Documentation Center and make something with them (especially functions like SubsetPosition that I don't know how to use).
I've spent time at the Wolfram Programming Lab, read the Fast Introduction for Programmers, the Fast Introduction for Math Students, and an Elementary introduction to the Wolfram Language.
I've also participated in the Wolfram Community site and submitted a function to the Wolfram Function Repository called PlanckUnitConversion that was recently published.
I've also completed Wolfram Challenges and got a high speed score on Antipodal City. I want to become more familiar with how to use Mathematica for calculus, the solving of algebraic equations, linear algebra, physics, chemistry, geography, graphics, data representation, natural language input, and computer programming.