4 ms·
I'll argue this. my grandfather worked on AT&T System UNIX with what was basically an 8th grade education. if you read "Secrets of Consulting" there's a few r
by indrora 16y ago
I'll argue this.
my grandfather worked on AT&T System UNIX with what was basically an 8th grade education.
if you read "Secrets of Consulting" there's a few rules that my grandfather laid out; one of them is "If you're doing math above elementary level, you're doing it wrong".
I've done many very powerful things with that rule.
- ebneter 16y agoYour grandfather is Gerald Weinberg? His books have been a big influence on me and I recommend them to lots of people!
- gruseom 16y agoIndeed. He has had a massive influence on the profession and on me personally. Secrets of Consulting is a great book and something every software person should read. It's not just about consulting. It's much more useful than that, and so entertaining that it's surprising how profound it also is. However, there are a couple of problems with indrora's comment. First, Jerry Weinberg has a Ph.D.; that's a little beyond 8th grade. I also remember hearing him talk about majoring in physics as an undergrad because computer science didn't exist yet. And I've never heard of him working on Unix. He was an IBM guy after all. More importantly, I doubt that Weinberg ever objected to using advanced math to solve technical problems, including programming problems, when appropriate. What he repeatedly (and rightly) has objected to many times is complex models and metrics that purport to quantify human behavior when in reality they're not measuring anything significant. Weinberg regards this as a form of escapism (my word not his), a way of hiding behind technicality to avoid facing human situations. He wrote a whole book, in fact, called First Order Measurement arguing that simple measurements -- including just plain personal observation -- are the best way to monitor complex systems like a software project. Weinberg was the great humanizer of the software industry. You can see his influence hugely on Agile (the good parts, not the slick parts, which I heard him denounce as early as 2004). I think it took enormous courage for him to talk about Virginia Satir in software circles - or would have, if software people had any idea what Satir did.
- geraldmweinberg 16y agoI probably knew indrora's grandfather, for though I worked for IBM, I consulted with Bell Labs and other parts of ATT for many years, in IBM and as an independent. In fact, I was twice the Bell Labs Distinguished Lecturer, touring all the labs--helping out with C and Unix. As for math, it was one of my majors as an undergraduate, and I am a member of Pi Mu Epsilon, and have published a number of mathematical papers, though not recently. But, I'm a hacker at heart, always have been, always will be. I use math only when it's helpful to solve problems. That's true of any tool I use. Why? Because the higher the math or esoteric the tool, the more you diminish the number of other people who can understand what you're doing. Indeed, that's why I'm now writing fiction that helps people grasp a few mathematical and software concepts. For instance, my mystery novel, "Freshman Murders," has a team of math geniuses as the "detective." And I still write techie stuff, when I have something to say. - Gerald M. Weinberg <http://www.geraldmweinberg.com> http://www.geraldmweinberg.com>
- cullenking 16y agoBasic math is all you need to program, but many times, the cool things you can do with programming will need strong math. For example, just working with mapping data, I need to be able to think pretty extensively about functions for changing coordinate systems, figuring out which tiles I need for a specific zoom level, etc. Of course the actual math itself is basic trig, the abstract concepts are much more difficult, and I'd argue those are math related. Extending the mapping analogy, I built a 3D terrain system with a simple mesh overlay, and drew a 3D route inside of the system. I had to map the route onto the terrain, and to do that I needed to understand a good amount of vector manipulation (cross products amongst others). Maybe this is 8th grade math in Russia, but it certainly isn't taught until College here in the US. So, yes writing a program itself doesn't require math, but many of the cool domains require math.
- RiderOfGiraffes 16y agoIt's perhaps true that if you're doing arithmetic and calculations above the elementary level it's a sign that there's something wrong. But if you observe and prove that two operations commute and that doing them the other way round allows various advantages such as check-pointing or extraction of common sub-expression computation, it's slightly less clear. An anecdote. I once noticed in a web programming context that someone was doing the same calculations over and over. The way the code was organised made it necessary, results couldn't be cached, nor could they be precomputed. I showed that a sub-class of the operations were commutative (that took several pages, and then a 2 day meeting with the chief designer) which allowed some of the loop/function-call orderings to be reversed. Compute time went down by a factor of 100, and scalability was achieved. The problem reminded me of some stuff I'd done in ring theory classes, and had something in common with the idea of groups acting on a topological space. The math wasn't actually directly useful - it just brought it all into focus and gave me a way to think.
- mechanical_fish 16y agoJust because someone has no formal training in math, and doesn't recognize that what they're doing could be called math, (or strategically refuses to apply the word 'math' to what they do, for sound pedagogical reasons) doesn't mean that they aren't doing math. The cult of the Ph.D. is strong, but you don't actually need some kind of license to think logically about abstract concepts, anymore than a musician needs a formal music education or a cat needs a formal gymnastics education.