|
> I understand that countless engineers have this opinion, but really (and bluntly) all it means is that you’re unaware or ignorant of how maths applies to what you’re doing. I disagree. I am aware of trigonometry, for example. Sines, cosines, tangents. Circles, curves, parabolas. Degrees and radians. None of that stuff is even encountered in systems programming. Calculus I know. Derivatives and integrals. Rates of increase and decrease, acceleration, calculating areas and volumes. Totally unnecessary for systems programming. Or is it? Of course, if you're into profiling programs, taking metrics, observing historical trends, then you'll need calculus to make sense out of that type of monitoring data. But if you're slinging code to make an authentication server work, it's irrelevant. Now, the math that I have handled in programs is basically integer operations. Floating-point math is likewise nonexistent in systems programming. Simple arrays in one or two dimensions, usually. Pointer arithmetic and making sure you're dereferencing the right thing. Bitwise logic with AND, OR, XOR. Different numerical bases: binary, octal, decimal, hexadecimal; converting among those formats and reading them in and out. Exponents, certainly. I learned all the powers of two so early in life! Again, my background is in Unix systems programming and text manipulation. You just don't need trig or calc in those domains. Not to put a basic program together and get it debugged and deployed, or hack someone else's code. I think the last time I must have run into trigonometry or floating point in code was in college when I was ftp'ing and installing a bunch of Unix adventure games. Wasn't my code, though; I didn't touch those sections. And an interesting case in point is LOGO: how do you draw a circle in that language? All you need to do is REPEAT 360 [FD 1 RT 1]
Now you may protest that knowing 360 degrees is a tenet of trigonometry, but it seems just like common sense to me. |