2 ms·
In theory both programming and mathematics command rigorous and abstract thinking, yet somehow millions of software engineers, or so I guess, find even college-
by hintymad 4y ago
In theory both programming and mathematics command rigorous and abstract thinking, yet somehow millions of software engineers, or so I guess, find even college-level maths hard. My theory is that programming has much less leaky abstractions than math. If I used PyTorch, for instance, I don't really need to understand how chain rule works or how matrix derivatives work for most cases. If I use Netty or NIO in Java , I don't really need to have in-depth understanding of OS, TCP/IP, or any of the algorithms covered in books like The Art of Multiprocessor Programming. In contrast, maths "leak" its abstraction left and right from top to bottom. Let's say I want to learn and use PCA, a quite straightforward concept in entry-level linear algebra, I would have to understand vector, matrix, vector space, coordinate system, eigenvalue, covariance, orthogonality, and etc. Each concept recursively requires more layers to understand, and combining the concepts require other math tools as well.