tim: A person with multicolored hair holding a sign that says "Binaries Are For Computers" with rainbow-colored letters (binaries)
Tim Chevalier ([personal profile] tim) wrote2013-12-20 07:46 pm

A random comment about math and programming

A comment on [blogspot.com profile] lambdamaphone's post about obstacles to learning typed functional programming, in which I attempt to dissect the antipathy that some programmers have towards math, encumbered by as little evidence as possible. I wanted to preserve it someplace.
Rank speculation: A lot of people have traumatic experiences associated with math, because math is frequently taught in elementary school (computer science rarely is). In particular, math teachers at that level are usually poorly trained (due to the structural disincentives for people with math education to enter K-12 teaching) and/or lack enthusiasm for the subject.

Moreover, at that time in a person's schooling, it's common for a student to be shamed (publicly or privately) and told they're "not good at math". Because socially, math isn't considered a necessary skill (unlike reading), it's easy for a student to deal with this kind of treatment through avoidance rather than mastery. This is completely understandable for a child who has never been told why math is worth doing and has only been taught that it's a tool that will be used to humiliate them and demonstrate their inadequacy, by the way.

So when many adults -- even adults who have enough analytical reasoning ability to be programmers -- hear the word "math", they think back to those experiences, to the time when they were told "you're no good at this", and they freeze up, or else feel the need to prove why math is some useless ivory-tower theory garbage, because of their own feelings of insecurity to do with the disservice that their school system did them.

This is rank speculation because I didn't go to school until college, but I did tutor high school dropouts for a brief period of time, and over and over I'd run into a student who kept saying "I'm not good at math" even though I was there to help them be better at it.
megpie71: AC Reno crouched over on the pavement, looking pained (about that danger money)

[personal profile] megpie71 2013-12-22 12:27 am (UTC)(link)
My own thing with "math reluctance" (which is how I'd put it for me) is that I know I'm pretty good with numbers, and I enjoy playing with them (I'm the kind of person who plays computer games for the stats... because I love playing around with the various stats, and seeing how they alter from level to level). But I really don't think of myself as a mathematician, because even though I enjoy playing with the numbers on a superficial level, and even though I've discovered quite a fondness for Boolean logic (because it's soluble), when it gets up into the higher realms of algebra and calculus, math loses all the fun for me. The numbers go away, and it all becomes formulas, like physics. And physics is the subject where "I'm bad at it" is a major component of my self-concept.

But then, I also don't really enjoy computer coding all that much, either. It's useful as a way of resolving certain problems, and I can do it without too many hassles because it's all about knocking problems down to small logical steps (which is something I've had to learn how to do in order to cope with Doing Things While Depressed) but I'm finding myself with some major issues about the way the ethics of coding is treated - or rather, NOT treated - at a university and corporate level. Yes, coding is a tool, and yes, just about every tool can be treated as a weapon. But that means the onus is on the person wielding the tool to treat this tool properly and treat it with respect, and consider what they're being asked to do, and whether this could be misused. At least part of the whole mess with the NSA using computers to spy on people is down to programmers pretending their work is ethically neutral at all times, and that if HR or Legal say it's okay, then they're not allowed to argue, even if they can see ways the tools they're making could be misused. But nobody seems to be talking about this.

So, to be honest, even though I'm reluctant when faced with the darker depths of higher mathematics, and prefer splashing around in the numeric shallows, I'm even more reluctant when faced with the complexities of coding for a world like ours.