Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm gonna be downvoted to hell but start with linear algebra. All the basics will be immediately useful for graphics programming.


Lol, you don't need linalg for graphics programming. All you need is an understanding of geometry. Thinking of a matrix as a system of linear equations has never once helped me. Whereas thinking of a matrix as a combination of rotations and translations has been the only tool I ever needed, pretty much.

Just sayin', if someone is truly not a math person, saying "oh yeah, learn math and then learn graphics programming" is probably just going to discourage them.

ML is supposedly all about math. And sure, I could walk you through a backprop pipeline at this point. But it took me years before that was useful knowledge to me. The practical experience of doing it was way more interesting, and it lead to more knowledge than I would've gotten with a traditional path.


Doesn't linear algebra requires a lot of background/intuition? I have none.


Basic linear algebra can be taught in elementary school. It definitely doesn't require a lot of background.

Most linear algebra courses and textbooks do. Without a lot of background, you'll run into a hard brick well.

A few good starting points

- Project Algebra's Road Coloring curriculum

- 3B1B (on Youtube) has a series on the geometry of linear algebra. You should have the mechanics of adding/multiplying matrices, but not much more

- Game theory is a nice place to explore early

Linear algebra is a many, many year progression. It's quite deep and interesting. But you don't need to start with singular value decompositions and whatnot. Start with those sorts of things, and then apply it in different domains:

- 3D graphics

- Image processing

- Control theory

- Quantum computing

- Data analysis

... and whatever else suits your interests.

After a decade or so, if rather fascinating deep dives, you'll have a deep understanding not just of linear algebra but of some rather interesting domains.


There must be a good ELI5 intro to linear algebra out there that doesn’t assume a ton of background but…

I agree with other comments that linear algebra has limited relevance to learning programming. Your experience with Emacs gives you a far bigger leg up than mastering linear algebra would.


IMHO, programming (the practice) itself doesn't require math.

Problems you solve with programming may or may not require math: the math requirements come from the specific problems.

Every time I've used heavy math in programming, I've figured out the math for the problem in isolation, then programmed that solution.


> IMHO, programming (the practice) itself doesn't require math.

Strictly that is incorrect, but I get what you mean and agree with the point you’re communicating. I suspect it’s largely due to the rather dysfunctional way mathematics is taught in America.

Writing C for example requires knowledge of order of operations, inequalities, boolean arithmetic, and something very much like mathematical induction if you want your loops to terminate. Most programmers with the math optional mindset just don’t think of all the math they’re doing as math. For me the realization was empowering since once I realized I really was using a lot of math it inspired me to start filling gaps in my knowledge.

Edit: This looks interesting: https://pimbook.org/


> order of operations, inequalities, boolean arithmetic, and something very much like mathematical induction if you want your loops to terminate

To a first approximation, this is a substantially more limited set of concepts than even low-grade math.

Iterating counters and loops is the most "general" math I've used on most problems, and for...each or equivalent auto-bounding functions over sized collections removes that.

Can you write a 3D engine without math? No. Can you write a DB engine without math? No. Can you write a general web app without math? Probably.

Point being: if your goal is to put food on the table by programming, a 2-year study plan worth of advanced math is better invested learning elsewhere.


My impression is that everything is introduced along the way and LA gives you intuition instead of expecting it from you. But I've never done any advanced stuff.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: