One thing I don’t think is discussed enough is the process of how self-learners in math get critical feedback. Most advanced level math textbooks do not have solutions to check their work against nor do they have a way to get feedback by an expert and this is essential for learning. Least with programming, you can get immediate feedback and know whether what you did is correct or not.