I'm working through a programming book that includes a long section on topics like combinatorics, positional numeral systems, and discrete mathematics. I'm having a hard time understanding the material and I'm wondering how essential it really is for learning programming fundamentals and writing code. I'm mainly interested in general programming rather than machine learning, game development, or graphics. Is this something I need to master now, or can I treat it as optional and return to it later?
3 Answers
Programming regularly involves encountering ideas you don’t understand at first, but that doesn’t mean you have to study every topic in depth at the same time. Try learning enough to recognize what combinatorics, number systems, and discrete math are used for, and postpone the detailed proofs or formulas until they become relevant. If the book is moving too far ahead of your goals, using a more focused beginner resource is also reasonable.
You probably won’t need much of this math for everyday application or web programming. It becomes more important when you study algorithms, data structures, graphics, cryptography, or other specialized areas. It’s fine to understand the basic ideas and move on, then come back when a project gives the topic some context.
The importance depends heavily on what you plan to build. Web applications often require very little advanced math, while rendering, simulations, game engines, and some algorithm-heavy work can use a lot of it. A practical project can make abstract subjects easier to understand, so you could learn the basics now without expecting to master every formula immediately.

That makes sense. I was mainly confused about why a beginner-oriented book spends so many pages on material that doesn’t seem connected to the programs I want to build.