Slashdot Mirror


You Don't Have To Be Good At Math To Learn To Code

HughPickens.com writes: Olga Khazan writes in The Atlantic that learning to program involves a lot of Googling, logic, and trial-and-error—but almost nothing beyond fourth-grade arithmetic. Victoria Fine explains how she taught herself how to code despite hating math. Her secret? Lots and lots of Googling. "Like any good Google query, a successful answer depended on asking the right question. "How do I make a website red" was not nearly as successful a question as "CSS color values HEX red" combined with "CSS background color." I spent a lot of time learning to Google like a pro. I carefully learned the vocabulary of HTML so I knew what I was talking about when I asked the Internet for answers." According to Khazan while it's true that some types of code look a little like equations, you don't really have to solve them, just know where they go and what they do. "In most cases you can see that the hard maths (the physical and geometry) is either done by a computer or has been done by someone else. While the calculations do happen and are essential to the successful running of the program, the programmer does not need to know how they are done." Khazan says that in order to figure out what your program should say, you're going to need some basic logic skills and you'll need to be skilled at copying and pasting things from online repositories and tweaking them slightly. "But humanities majors, fresh off writing reams of term papers, are probably more talented at that than math majors are."

616 comments

  1. Programming by fyngyrz · · Score: 5, Insightful

    Programming -- I don't think that word means what she think it means.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Programming by ColdWetDog · · Score: 4, Interesting

      Indeed, she thinks that 'script kiddy' = 'coder'.

      Possibly true for very small values of 'coder'.

      --
      Faster! Faster! Faster would be better!
    2. Re:Programming by Anonymous Coward · · Score: 3, Insightful

      "Me make website red. Me copy and paste hard stuff. Me programmer."

      Why the fuck is this on the front page?

    3. Re: Programming by Anonymous Coward · · Score: 2, Informative

      Saying you can code without Math is like saying you can repair a car without being a certified mechanic.

      Sure you can do some basic programming/logic but just like a backyard mechanic , you will still have limits imposed. Of course, there's no harm in learning but Math is necessary for more advanced programming.

    4. Re:Programming by Obfuscant · · Score: 3, Funny

      She wants her web pages to be red. To her, this is "programming". What color does she want her database to be? Then she can be an SQL programmer!

    5. Re: Programming by ShanghaiBill · · Score: 5, Insightful

      Math is necessary for more advanced programming.

      Linear algebra (matrices) and trig are essential for doing 3D graphics. Calculus and differential equations are need for doing simulations of physical processes. Otherwise, programming is not very mathematical. Web coding just requires enough arithmetic to do the layout, and most business programming doesn't even need that.

    6. Re: Programming by Anonymous Coward · · Score: 1, Informative

      need lots and lots of discrete math all over programming. and gotta be good at doing binary arithmetic and binary decimal conversions in your head.

    7. Re: Programming by geoskd · · Score: 4, Insightful

      Web design these days is less and less about programming, and more and more about aesthetic and design. It has become so much so that the programming parts of it are largely unnecessary to be relatively successful.

      That having been said, almost no one considers a web designer to be a programmer. There is minimal overlap, but the tasks for which one would need a programmer are largely beyond a web designer, and visa-versa.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    8. Re:Programming by presidenteloco · · Score: 3, Funny

      Let's say there wasn't yet a program to allow someone to create and edit and format documents containing words and pictures. (Arguably there still isn't a decent one in common use but that's another story.) Make such a program.

      Or let's say there isn't an efficient and secure peer-to-peer data storage sharing framework, infrastructure, and application. Make me one of those, or, for extra credit, first design and implement a new programming language which will make it easier to build this encrypted, distributed storage layer app, the write the storage thing. Oh and please make it simple to use and extend, performant and highly scalable, multi-platform, and maintainable.

      And I'd like it in red, by next Thursday?

      --

      Where are we going and why are we in a handbasket?
    9. Re:Programming by Jane+Q.+Public · · Score: 3, Informative

      Indeed. You can be a good programmer in most sub-fields without having a good grasp of multi-variate calculus, but you will never be a good programmer without at least some decent math skills.

      You might do okay at coding web sites. But even then: if you don't understand how the encryption works, how do you know what method to use for encrypting the passwords on your website. Should you just take someone's word for it? (Answer: no. And yet that's how bcrypt became popular.)

    10. Re:Programming by Anonymous Coward · · Score: 1

      Why the fuck is this on the front page?

      Because of this: how she taught herself how to code

      samzenpus saw that and realized he could check off his "weekly SJW bait" checkbox early.

    11. Re: Programming by Anonymous Coward · · Score: 5, Insightful

      You're totally wrong. Only complete idiots or actual cryptographers roll their own.

    12. Re:Programming by Anonymous Coward · · Score: 0

      "an SQL" is just trolling me so hard right now.

      I'm one of those "sequel" people, not the "ess kew ell" people.

    13. Re: Programming by Chalnoth · · Score: 4, Interesting

      Sort of. Many specific math classes aren't necessary, but most advanced programming has very close similarities to math. For example, graphs are used extensively in a wide variety of more involved coding, and graph manipulations are pretty mathematical. The thinking processes underlying most other algorithms are extremely closely-related to the thinking processes required for math.

      Also, if you're going to be doing any sort of mathematical calculation using code, there's no way you're going to be capable of properly debugging the code if you don't understand the math.

      I guess I like that she's saying that you can code even if math scares you, but all this says to me is that she had crap math teachers. If you can do a decent job of coding, you can learn math. It's just a question of finding the right learning methods.

    14. Re:Programming by Daniel_Staal · · Score: 1

      Actually using a programming language, instead of a markup language? HTML can be complex, unintuitive and finicky on occasion, but it's not code. (Admittedly many sites these days use JavaScript and such to extend what HTML can do, and that can be code, or it can be just a matter of finding and plugging in the right pre-written program for the job.)

      --
      'Sensible' is a curse word.
    15. Re:Programming by KGIII · · Score: 1

      It's gonna be lonely here on Friday.

      --
      "So long and thanks for all the fish."
    16. Re: Programming by Anonymous Coward · · Score: 0

      That's what I'm thinking.

      A large portion of the people who are "bad at math" are so only because they don't care to be good at it.

      A large part of succeeding is not assuming you're supposed to get it immediately. (I consider myself good at math, and I used to get things immediately but at some point I reached a point where I didn't anymore, but I persevere and continue to learn just fine.)

    17. Re:Programming by Obfuscant · · Score: 1
      You probably used to use futup to get data, and now access it all using hottop or hottopiss and earls pointing to hitmal at sites with names that start with "wuhwuhwuh", right?

      Yeah, I read the moronic comments attached to that comic, too.

    18. Re:Programming by LessThanObvious · · Score: 1

      The actual article basically lays out a journalist needing to have the minimal skills to be a technically capable journalist in the internet age. It isn't suggesting that Google Fu and basic math is a complete path to professional programming. The summary cherry picks some bits as cannon fodder for a volley of sarcasm.

    19. Re:Programming by Ichijo · · Score: 1, Informative

      To her, this is "programming".

      No, to her it is "coding." She never used the word "programming" in her article.

      --
      Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
    20. Re:Programming by Anonymous Coward · · Score: 0

      Entertainment?

    21. Re: Programming by Anonymous Coward · · Score: 1

      You missed graph theory, which isn't trivial, and vital for validating and building powerful, flexible, efficient, and distributed systems of all varieties. I mean, a tree structured thread is staring you in the face as you read this.

    22. Re:Programming by Anonymous Coward · · Score: 0

      Yes however you do not realize that they are not the same thing.... SQL is SEQueL 2.0. It used to be Structured English Query Language. Then people realized that there are places in the world where English is not primary language. And trying to use English grammar context is pretty silly. Hence why SQL was created, it was more international and less dependent on the English language. But both are correct in an abstract sense.

    23. Re: Programming by chipschap · · Score: 2

      This comes back to the ridiculous idea that liberal arts majors are incapable of learning math, and the even worse idea that math is hard for women ... so there should be another way to become a "programmer."

      With decent teaching, the desire to learn, and the willingness to put in the time, math is just as much in reach as philosophy or political science or psychology ... maybe even more in reach, because you actually can solve problems with answers that are verifiably right or wrong.

    24. Re: Programming by Anonymous Coward · · Score: 5, Insightful

      math is the manipulation of symbols in a formal language.

      coding is the manipulation of symbols in a formal language.

      they are the exact same thing. If you can do one well, you can do the other well. Most people can't do either very well.

    25. Re:Programming by Anonymous Coward · · Score: 0

      It's not really about being good at maths, it's more about knowing the concepts behind maths and how to make the computer make it work for you.

    26. Re: Programming by donscarletti · · Score: 2

      I think The Atlantic was trolling slashdot for subscriptions, since you need to subscribe to reply.

      Either that, or a lot of folks on /. have just stumbled upon why their work is misunderstood and unappreciated by those around them.

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    27. Re: Programming by Chalnoth · · Score: 4, Interesting

      Not necessarily just about care. Many people can get pretty bad anxiety about math due to the way they were taught. Especially if they just fall behind a little bit at one point, because math tends to build on previous things, it can become really difficult to catch up. All they need is one bad class and they may never make up for that deficit, with the way education in the US is currently structured.

    28. Re: Programming by amRadioHed · · Score: 1

      This is exactly right. Math is not arithmetic, that is a very minor part of it.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    29. Re: Programming by RightwingNutjob · · Score: 2

      In either case. If they don't have their shit together for some modicum of success in one formal and/or quantitative discipline, they don't make good programmers. You do indeed need to be right every single time in rapid succession when your computer program handles millions of dollars of other people's money, doles out their medications, and keeps their credit card info secure, all to the nth degree if the program touches high voltage, high current, the throttle/brake of a car or the control surfaces of an airplane.

    30. Re:Programming by Darinbob · · Score: 2, Informative

      Good programmers know something other than how to code. People can code while being generally ignorant of all other skills, but that doesn't make them good at it. Math is important, at the very least so that you don't have to go to the next cubicle every ten minutes to ask a stupid question. If you don't know math, then don't even consider the advanced art of floating point and the countless ways that programmers who don't know numerical analysis screw it up. If you don't know abstract math then generally stay away from coding unless you have given highly detailed notes from your boss about every step of what you're doing, otherwise you'll screw it up and make dumb mistakes.

      If your program is going to be involved in some way with physical processes, then damn it you need to learn some physics! If your program is going to be involved some way with mathematical operations, then damn it you need to learn some math! If you're going to use graphics, you need to learn math. If you're going to be dealing with a radio then you need to know some physics and EE. If you're going to write something dealing with health or medicine (heaven forbid the ignorant masses attempt this) then damn it all to hell you need to know some small measure about health or medicine (and not from a tabloid).

      Why is this? Because you will NOT be programming exclusively. There will be times when you need to use your brain. Not the programming part of the brain but the part of the brain that has to deal with the actual problem that the program is solving. If you need to write a control loop then how do you do this without knowing about control theory? Google won't help as you'll spend weeks getting the basics. What normally happens is that these ignorant programmers will waste the time of their coworkers asking questions. Yes, you can't know everything, and yes you will have to ask your coworkers dumb questions, it's just a fact of life. But that college level science and mathematics really does help when you're trying to learn new things or have them explained to you. It applies to the arts and humanities too, not just science and math. Being a well educated person across the board is a huge advantage to a programmer.

      At the very least this ignorance will make one spend all day Googling stuff; something this author seems proud of. Like someone saying arithmetic is a pointless skill because you can use a calculator.

      About the only possible job you can get programming while knowing nothing about anything except programming might be web applications. Surprisingly, this is where most programmers migrate too, especially those who take things like "coding boot camp" courses. Even then you'll stay as an entry level programmer for your entire career.

    31. Re:Programming by Obfuscant · · Score: 1

      And "coding" is not being used as a synonym for "programming"? Funny how the article that quotes her seems to think it is.

    32. Re: Programming by Darinbob · · Score: 5, Insightful

      A lot of this just pushes all the buttons for me. My pet peeves with modern society are with the morons who revel in their own ignorance. There used to be a time when learning stuff was considered important. Even the president of companies would feel the need to learn what their company was about, how their product was made, how it worked, etc. Today ignorance is celebrated. Morons can go on the internet and say "I can code without knowing math", which sort of implies that people who do learn things are wasting their time. Cretins advocate that college can be skipped as a waste of time. Even those in college whine like kindergarteners that stuff is too hard or irrelevant to their future career behind a help desk.

      Ignorance should never be treated as a virtue. And yet that is what is happening and this original post proves that this attitude is still alive.

    33. Re: Programming by Darinbob · · Score: 2

      Even if you never use the stuff you learned in a difficult class in college, it at least has taught you to think better. Steroids for the brain. Someone who skips past all this stuff, taking shortcuts, avoiding theory, taking the easy classes like "math for athletes and web programmers", is going to have a flabby brain. They never learned how to think abstractly, never learned how to handle a complicated problem beyond their capabilities, and never learned how to learn. They're just going to have a glazed look in their eyes at the staff meetings whenever some complex topic is being discussed.

    34. Re: Programming by lucm · · Score: 2

      Apparently someone hasn't found the "Advanced" mode in Windows calculator

      --
      lucm, indeed.
    35. Re: Programming by Darinbob · · Score: 0

      So what? They're in college. Time to suck it up and tackle that anxiety. Even if you never overcome the anxiety about math, at least the effort was made.

    36. Re:Programming by Darinbob · · Score: 1

      Squirrel!

    37. Re: Programming by Anonymous Coward · · Score: 2

      Agreed. I'll take a copy paster over someone naive enough to think he is capable of rolling his own encryption any day of the week. That said, I will give the poster the benefit of the doubt and assume that he was referring which encryption algorithm to use.

    38. Re:Programming by lucm · · Score: 1

      I'm one of those "sequel" people, not the "ess kew ell" people.

      Cool people say "squirrel". Or more accurately, used to say "squirrel", now they say "bees-on".

      --
      lucm, indeed.
    39. Re: Programming by Anonymous Coward · · Score: 3, Insightful

      Graph theory is really under-taught in CS programs. I feel there should be at least one course devoted to it in entirety.

    40. Re: Programming by guestapoo · · Score: 4, Interesting

      My experience base on reading different maths textbooks:

      USA:
      Books aim at advanced students, (not all but almost) are likely encyclopedia. It's not that the material is hard, but the structure of the books is hard to follow, or not explain very well.
      Books for novice, for the masses, the "introduction/dummy" type. To describe this type of book: wordy and dumb. Endless explanations of trivial things, and strip, dump down necessary, important one to make it 'easy'. Beside of that, some 'favorite' authors like to write useless jokes in textbooks (It may be good thing if they do it when they lecture in a class)

      Soviet/European (mostly Soviet textbooks): maths books should be.
      Also, Soviet textbooks for novice are drastically different from USA ones. They use highschool level maths to explain advanced maths. The books are almost black and white, no jokes inside, but interesting read.

    41. Re:Programming by Culture20 · · Score: 1

      It's not programming code. But it is code. It's encoded information, just like medical billing codes, Morse code, genetic codes, QR codes, and Mountain Dew Code Red. Just because it's not code intended to make a multi-purpose computer compute something doesn't mean it's not code.

    42. Re:Programming by Anonymous Coward · · Score: 0

      100% correct. I have never used anything in my degree or maths while programming. There might be a rare algorithm that requires math when designing it, but programming does not. What you need is logic and understanding the programming flow and how to break down the software into buildable components.

    43. Re:Programming by Obfuscant · · Score: 1

      Cool people say "squirrel".

      Nah, cool people say "nosequel", but that only proves how uncool Hollywood execs are.

    44. Re:Programming by Daniel_Staal · · Score: 1

      By that standard, this post is is in code. English code.

      --
      'Sensible' is a curse word.
    45. Re: Programming by Anonymous Coward · · Score: 0

      In either case. If they don't have their shit together for some modicum of success in one formal and/or quantitative discipline, they don't make good programmers. You do indeed need to be right every single time in rapid succession when your computer program handles millions of dollars of other people's money, doles out their medications, and keeps their credit card info secure, all to the nth degree if the program touches high voltage, high current, the throttle/brake of a car or the control surfaces of an airplane.

      Or not

      http://www.bloomberg.com/bw/ar...

    46. Re:Programming by lucm · · Score: 1

      From her twitter picture it appears that she's semi-cute so instead of letting her know what I think of her coding skills, I will spend a lot of time googling her to try and see if she has big tits.

      Just kidding. When I first googled her name, I saw this:

      Olga is a staff writer for The Atlantic, where she covers gender and health.

      And this was my pretty much my reaction:

      https://www.youtube.com/watch?...

      --
      lucm, indeed.
    47. Re: Programming by sribe · · Score: 1

      Otherwise, programming is not very mathematical.

      All programming is discrete mathematics. Every. Single. Line.

    48. Re:Programming by NicBenjamin · · Score: 1

      And "coding" is not being used as a synonym for "programming"? Funny how the article that quotes her seems to think it is.

      It is and it isn't. Khazan's Atlantic article seems to them interchangeably, but Fine's original Slate article doesn't use the word "program" at all. Fine is clearly not talking about shit like C++, but basically saying that anyone with an IQ above room temperature can master enough programming-style tasks to use webscripts, HTML code, etc. effectively; and that if you do you'll be able to function as the lady who translates between baby boomer MBAs and web developers. She's also saying that American white women, in particular, tend to screw themselves over career-wise by not figuring this out, and describes one breaking out in tears when she was told their first day of class they'd write "Hello World!" in HTML.

      Khazan talks about programs a couple times, but she also says:

      People who program video games probably need more math than the average web designer. But if you just want to code some stuff that appears on the Internet, you got all the math you’ll need when you completed the final level of Math Blaster.

    49. Re: Programming by goarilla · · Score: 1

      Got some ISBN numbers for those "good math books" ?

    50. Re: Programming by narcc · · Score: 3, Interesting

      I've done quite a bit of 3D graphics work, and I strongly disagree. You need very little. You say "Linear algebra (matrices) and trig" but you don't need much beyond what matrix operations to apply to achieve some goal (you need to actually understand very little, and far less if you use a matrix library) and soa cah toa on the trig side. Just about every major problem you'd encounter has a near standard solution.

      Calculus and differential equations are need for doing simulations of physical processes

      This is a bit outside my experience, as all I've done there is a 3D physics engine for a game. Even then, I suspect all you need to know are the equations and a few well-understood approaches to integration, actually understanding the math (or the physics) doesn't seem necessary. (Though I'll admit that it is helpful.)

      You can be an excellent programmer without strong math skills, even in some areas where a solid understanding of mathematics would seem essential. I'd even argue against the need for a strong background in logic. If Slashdot is any indication, most developers don't understand even basic logic. They've simply confused their rudimentary understanding of Boolean algebra with a complete understanding of formal logic.

      This isn't to slight developers, on the contrary. It's art, after all, not engineering. Be proud that you've mastered a skillful discipline.

    51. Re: Programming by BarbaraHudson · · Score: 1

      And by using the first thing she saw, which described how to do it with hex values, she didn't find out that you can use colour names as CSS properties instead of hex values in her example. And before she read the example, she didn't know you can do it with hex values either. Expect much more of this as people continue to try making coding a skill for the masses and dumb down so that everyone gets a gold star.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    52. Re: Programming by Anonymous Coward · · Score: 0

      Trigger warning: Involves math.

    53. Re: Programming by shri · · Score: 2

      Hate to say this, but NO, NO and a big NO.

      Designers yes - web designers NO.

      A good web designer needs some fundamental architecture skills that are derived from math or science classes which teach you how to break down a problem into smaller bits, which bits to solve first and some fundamental boolean logic.

      A good web designer is not someone who throws in bootstrap, jquery and some pretty shit on a website. He/She understand how to break down the HTML/JS/CSS into smaller meaningful bits, how to include these bits depending on where and when they're needed. They understand how benchmarking goes (how long does it take a web server to respond, if the stack is sending a 1MB response from Alaska to Brisbane ..).

      I could go on and on about how much I've started to HATE people who copy paste shit, buy a theme, tweak a few colors, find some jquery snippets and animate a headline and go on to call themselves web designers.

    54. Re: Programming by Ol+Olsoc · · Score: 1

      Ignorance should never be treated as a virtue. And yet that is what is happening and this original post proves that this attitude is still alive.

      Ever watch reality TV? A true celebration of stupidity

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    55. Re:Programming by Ol+Olsoc · · Score: 2

      She wants her web pages to be red. To her, this is "programming". What color does she want her database to be? Then she can be an SQL programmer!

      I understand her next project will be to create a national wireless system... After all, how hard can it be to not put up wires?

      also from Dilbert.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    56. Re: Programming by Anonymous Coward · · Score: 0

      I'd definitely agree that trig, linear algebra and the sort of math used in physics are sweet spots for video games. I wonder how much math Notch was thinking about when he wrote minecraft...?

    57. Re:Programming by Ol+Olsoc · · Score: 1

      By that standard, this post is is in code. English code.

      Yes, you are not incorrect.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    58. Re:Programming by Dahamma · · Score: 1

      The article subtitle (and the summary) says "learning to program involves a lot of Googling, logic, and trial-and-error..."

      If you are going to be pedantic, here you go: "to program" is the infinitive verb form of the corresponding gerund "programming". GRAMMAR HAMMER BAM!

    59. Re: Programming by narcc · · Score: 1

      This is a tree, but you don't need to understand anything about graph theory to implement this.

      That's true for quite a bit. You don't need to have any understanding of the why, just a basic understanding of when {thing} should be used. Implementation is typically trivial, so just discovering that {thing} would be a good fit for your problem (thanks to google) you can get away with knowing even less.

      Before you get the wrong idea, I think a strong mathematics background is incredibly helpful. (With a better understanding, there are times when you can go "I can guarantee x, so don't need to account for y so I can simplify this to ..." and net a boost in performance and some simpler code.) Though it's certainly not essential for an absurd majority of developers. Out side a few domains, the hard part is already done and printed in every textbook.

    60. Re:Programming by Anonymous Coward · · Score: 0

      Use ROT13 !!!

    61. Re: Programming by Dahamma · · Score: 1

      I'm going to have to say web "coding" is not coding/programming at all. Which makes the article pointless (though we all knew that). Editing HTML/XML (or IMO even most Javascript) is about as much programming as learning to add oil to your car (Javascript is more like learning to change your own oil). Neither one makes you a mechanic.

    62. Re:Programming by Wycliffe · · Score: 5, Insightful

      Because of this: how she taught herself how to code

      She didn't teach herself to code. She taught herself how to cobble together a website.
      Yes, you can cobble together a website with minimal coding skills by using already created widgets but what if you want a widget that doesn't exist yet?
      If you want to cobble together a website, there are plenty of programs like wordpress that require no coding skills at all.
      True programming doesn't require math as much as it requires you to be able to understand how to take small pieces like if statements and arrays and
      create something with it. I can explain if statements and a flow chart to someone in 10 minutes but the hard part of programming is being about to see
      how you can combine several thousand of those if statements to do something like generate an image. Being able to imagine the end product and plot
      a course to get there through several thousand steps using rudimentary blocks is what makes programming hard. Building a webpage is not programming.

    63. Re: Programming by thinkwaitfast · · Score: 1

      I was doing all that a few years before I took the actual math classes. I learned the math by programming it and creating simulations. I rarely ever use math in my field (engineering), it's mostly about getting two pieces of hardware to talk together (a dozen really). Yeah, I do math, but it's because I like it, but there are many who don't.

    64. Re: Programming by Anonymous Coward · · Score: 3, Insightful

      I failed Calc I and III probably 3 times each in my Computer Science degree. I also have 9 patents, code running on ISS and a few satellites we don't talk about, and have a lead electronic systems architect position at a major space systems company. I passed Calc II with a B on the strength of my spacial intuition alone. In 15 years at a big corporation, I've learned that the mathmeticians on staff do the heavy lifting, the rest is silly algebra that a high school senior can do (or should). Real programming/SW engineering work can be done w/o the math minor demanded by idiotic university programs.

    65. Re:Programming by Ichijo · · Score: 1

      I'm talking about the article, written by Victoria Fine at Slate.com, that talks about how to make a website red. That one doesn't use the word "program" or "programming" anywhere.

      You're referring to Olga Khazan's article in the Atlantic, which mentions Fine's article but again not using the word "programming" in that context. Khazan's article then goes on to refer to another article, this one by Elma Mulqueeny, who uses the word "program" and "programmer" but in the context of, "say you wanted to write a simple code to create a Christmas tree with a countdown to Christmas. You'd use a series of simple 'if this, then that' logic instructions".

      --
      Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
    66. Re: Programming by thinkwaitfast · · Score: 1

      I wrote a defenders clone before I had algebra.

    67. Re:Programming by Anonymous Coward · · Score: 1

      Since this is Slashdot, I'm not going to read the article and I only skimmed the summary. However, I have been coding for 25+ years and while I majored in math at one point, most coding in my experience does not involve math beyond the very basics. Logic, yes. But real math only shows up in rare circumstances, like creating a 3D game engine or a physics simulation. There is nothing wrong with re-using other people's code in these cases - the math-specialized programmers who made it are better than you. As a general programmer you don't need to know how an encryption algo works, you only need to know how to use it, and that it is considered effective by the encryption community. It's better than anything you can come up with by yourself even if you're good at math. I have written 3D engines, physics sims and encryption algorithms by myself, but only because I *wanted to*. If it was a paid project, the first thing I'd do is look for an off-the-shelf solution created by smart people who made their entire career doing that one specific thing.

    68. Re: Programming by Anonymous Coward · · Score: 0

      Forum posting is the manipulation of symbols in a formal language.

      If you can get +5, you can be a rockstar developer!

    69. Re: Programming by Lurking+Zealot · · Score: 3, Interesting

      Ignorance should never be treated as a virtue. And yet that is what is happening and this original post proves that this attitude is still alive.

      Yes, still alive.

      Not to sound like an old fart, but this is a very old problem that won't go away. It's easy to be frustrated by the infinite well of stupidity -- the human fate to play whack-a-mole with idiocy. For all the progress (including amazing tech) there's a tail in our intelligence distribution that is retrograde. Worse yet, there's a fraction in the intelligent part of the distribution that is cynical or lazy or evil.

      To be clear, I agree with you. Stupidity pushes my buttons too. I differ in that I don't think it's a problem exclusive to modern society. I'm pretty sure that there never really "used to be a time when learning stuff was considered important" *in the sense* that most people thought that way. Rather, I think we've been lucky to benefit from the smart and non-cynical people who have, by virtue of their creativity and (perhaps, accidental) generosity, given us pretty usable tools of agriculture, commerce, art and humor to work with. Of course, those tools only work well for some of us and the negative side of those tools can be downright nasty to those without the means of most slashdot readers.

      My point is that in spite of the large number of morons, I don't want to let that sap the infinitesimally small amount of good I just might be lucky enough to do without also, possibly, messing up in some colossal unintended way.

      Peace.

    70. Re:Programming by jrumney · · Score: 0

      You might do okay at coding web sites. But even then: if you don't understand how the encryption works, how do you know what method to use for encrypting the passwords on your website. Should you just take someone's word for it? (Answer: no. And yet that's how bcrypt became popular.)

      In other words, any web developer who has not worked through their own proof of the Fermat-Euler theorum is not qualified to call themselves a good programmer.

    71. Re:Programming by dbIII · · Score: 1

      I've used much less than 5% of what I learned there

      Yes, me too, but really only because I learnt shitloads in the place and my 5% is a bit different to the 5% other people needed. No I don't need to design a gearbox, or a footbridge, or a high conductivity wear resistant material, but I can use those specific cases as a base for general understanding for things I do need to do or even as a process to design other things. One unexpected thing is a segment on optimising models to use on analogue computers applied very well for optimisation in general even though I've never actually used an analogue computer. It gave me a different way of thinking about problems. So the 95% may not be cut and pastable into the specific workplace situation but it can still give an advantage due to being adaptable to a situation with a bit of work instead of having to start from scratch.

    72. Re: Programming by Anonymous Coward · · Score: 0

      For fun... even though I know trig backwards and forwards... made my own 3-D engine with algerbra and no trig or calculus and it worked great... But yes trig makes it easier but its fun to do it different. But yes I used linear algrebra for it.

    73. Re: Programming by pspahn · · Score: 1

      A project I recently worked on involved a retail site that allowed a user to customize the dimensions of the product they were buying. This was by far the most complex bit of math I've ever had to do in ecommerce website development.

      Essentially, the product was sold in dimensions and was composed of several layers. Each layer was a different size and each had it's own pricing formula. The math required to figure all of this out was trivial. Essentially, L x W x $

      At the same time, as a user chose different components and sizes, an image preview would display that showed the item in whatever (to scale) dimensions were entered with the various components in different colors, etc. The math for building the image preview was also trivial (though somewhat convoluted due to business requirements). It was nothing beyond high school geometry.

      There is definitely a skillset required to do this kind of work that resembles one that requires a lot of math. I don't think they are necessarily the same.

      --
      Someone flopped a steamer in the gene pool.
    74. Re:Programming by crioca · · Score: 5, Informative

      But even then: if you don't understand how the encryption works, how do you know what method to use for encrypting the passwords on your website. Should you just take someone's word for it? (Answer: no. And yet that's how bcrypt became popular.)

      As someone who works in the infosec industry, the fact this comment is rated +5 Informative fills me with panic. Yes, you should absolutely take someone else's word for it, specifically you should take NIST's word for it. Because unless you're one of a handful of the most knowledgeable people in the world, you don't know enough about cryptography to judge the merits of a cryptographic hash algorithm.

    75. Re: Programming by Anonymous Coward · · Score: 1

      When I was 15 I learned to program on my own. And I am not talking HTML here.

      Regarding math. You can do a lot in programming without math but not all. There is one programmer that doesn't understand binaries so I have to do those parts for her. 3D programming and game programming requires math and if you have any requirements about hardware you probably need ro calculate memory usage. Max concurrent user amount etc. Also algorithms require a lot of hard math.

    76. Re:Programming by JustAnotherOldGuy · · Score: 1

      Indeed...HTML is not programming by any stretch of the imagination. That word definitely does not mean what she thinks it means.
      --

      --
      Just cruising through this digital world at 33 1/3 rpm...
    77. Re:Programming by pspahn · · Score: 1

      This is precisely it.

      There is a lot of work that needs to be done in this world that does not take a genius to do. It just so happens to involve dealing with code on a regular basis.

      Asshats that proclaim, "You're not a programmer!!! You script kiddie!!" are doing no service to the IT industry as a whole. Everyone always likes car analogies, and the guy up above somewhere said along the lines of "it's like doing a little car work and claiming to be a mechanic". Well, not really, because I know loads and loads of people who are pretty average IQ and are terrific mechanics. You don't have to be a genius as "programmers" want people to see them as. There are very few "code mechanics" right now that are worth a damn. There's plenty of programmers, sure, but that's more of an engineering domain. The world needs more grease monkeys.

      --
      Someone flopped a steamer in the gene pool.
    78. Re:Programming by glenebob · · Score: 1

      Mod parent up. I would if I had the points.

    79. Re: Programming by guestapoo · · Score: 1

      Not all Russian books translate to English are good, because of the translators.
      BEWARE of the 'so-called' translator Richard A. Silverman. He not translated, but edited - literal, destroyed - the original books, even Google translator does better job than him. His 'translated' books problems are not typos, as I said, he typically make 'new version', such as the A. N. Kolmogorov, S. V. Fomin - Introductory Real Analysis 1st _1975 - ISBN 0486612260. There is not such book published by the authors.

      When go to "advanced" level, it is variant, depend on what reader need. But "introduction" levels are the same.
      Here SOME "good" (European/Russian) books at this level:
      A. N. Kolmogorov, S. V. Fomin - Elements of The Theory of Functions and Functional Analysis _ Vol 1. Metric and Normed Spaces 1963 - B0000EGKT5
      A. N. Kolmogorov, S. V. Fomin - Elements of The Theory of Functions and Functional Analysis _ Vol 2. Measure, the Lebesgue Integral, Hilbert Space 1961 - 9998063787
      Note: Unfortunately, these translations base on old Russian versions. I heard that the newer publication of Russian ones are much better.

      Vladimir A. Zorich - Mathematical Analysis I _1st _2004 - 3540403868
      Vladimir A. Zorich - Mathematical Analysis II _1st _2004 - 3540406336

      N. Piskunov - Differential and Integral Calculus 1969 (MIR)

      L.V. Tarasov - Calculus Basic Concepts for High School 1982 - 0828522782

      Miklos Bona - A Walk Through Combinatorics. An Introduction to Enumeration and Graph Theory
      Note: Better at combinatorics, pretty light at graph theory.

      B. V. Gnedenko - The Theory of Probability (AMS Chelsea) 1962 - 082183746X
      Note: Chelsea version is better than MIR version at translation

      B. V. Gnedenko, Ya. Khinchin - Elementary Introduction to the Theory of Probability - B000SJJPE0
      Note: Example of highschool level introduction to probability

      Yes, there are more of other books, but when may be I like those books, I've read them partially, don't know the rest of content good or not, so I don't post here.

    80. Re:Programming by thinkwaitfast · · Score: 1

      Yes! This exactly.

    81. Re: Programming by Anonymous Coward · · Score: 0

      The trouble with the way mathematics is taught in the US is that it's about context free mechanics. Which is to say math curriculum in the US is terrible. A friend that was a piled higher and deeper mathematician told me once, being good at the mechanics part isn't sufficient to 'do math'

      Programming on the other hand, especially for someone that dives in and just tries to solve problems. Is the exact opposite.

    82. Re:Programming by Zontar+The+Mindless · · Score: 2

      Try to program as if you're writing English.

      The converse of this, as I've learnt over the years, is that someone who can't write correct and sensible English* almost always sucks at coding as well.

      (*Placeholder for "coder's native language".)

      --
      Il n'y a pas de Planet B.
    83. Re:Programming by tsa · · Score: 1

      Indeed. I said something similar in a similar conversation years ago and was scolded. But no one could tell me why I need to know about differential equations, imaginary numbers and integrals to program a computer.

      --

      -- Cheers!

    84. Re: Programming by Jane+Q.+Public · · Score: 2

      You're totally wrong. Only complete idiots or actual cryptographers roll their own.

      I think you need to read my comment again. I didn't write ANYTHING about "rolling your own". I just wrote that you should have at least some knowledge of how it works.

    85. Re: Programming by tsa · · Score: 1

      Why? Everybody says that it is but I never read a convincing reason.

      --

      -- Cheers!

    86. Re:Programming by Jane+Q.+Public · · Score: 1

      In other words, any web developer who has not worked through their own proof of the Fermat-Euler theorum is not qualified to call themselves a good programmer.

      You people seem to have some very creative forms of reading -- um -- "comprehension". I didn't write that and I didn't mean that.

      I wasn't trying to imply that you necessarily had to know how elliptical curves apply to public-key cryptography. But you should have a good understanding of key length vs brute-force time, or whether the method being used is vulnerable to rainbow tables, etc. That does require a bit of math. Not PhD level, by any means.

    87. Re:Programming by Jane+Q.+Public · · Score: 2, Insightful
      Well, my comment has been so much misunderstood, I cannot help but think I could have worded it more clearly. I didn't mean what you seem to think I meant. Even so, THIS:

      As someone who works in the infosec industry, the fact this comment is rated +5 Informative fills me with panic. Yes, you should absolutely take someone else's word for it, specifically you should take NIST's word for it.

      ... is such utterly wrong, complete bullshit, I hardly know where to start.

      You're referring to the same NIST that tried to foist Clipper Chip and Skipjack on a mostly-unknowing public in the early 90s? And planned to continue with the plan even though 80,000 negative comments were received during the public comment period, and a mere handful of positive comments? The same Skipjack that was later shown to have serious flaws?

      Or, let's see... wasn't that the same NIST that has been implicated in trying to push a compromised form of elliptical-curve key generation on the businesses and public of the US?

      That NIST?

      It is to laugh.

      No, people should listen to private-sector experts, and not listen to the Government at all, or at least take what it says with a grain of salt the size of a basketball.

    88. Re: Programming by prefec2 · · Score: 1

      She also be thinks that CSS and DOM have nothing to do with math.

    89. Re:Programming by Jane+Q.+Public · · Score: 1

      Because so many people mis-understood my comment (in several seemingly very creative ways), I will clarify what I meant.

      I didn't say you should roll your own. I agree that would be dumb. I didn't mean to imply that you had to know every aspect of every bit of math going on in an encryption algorithm, but you should have at least some grasp of the basics.

      The reason I chose bcrypt as an example is because though it is based on Blowfish, it has not been shown rigorously that the additional key-generation rounds it is using to increase decryption time does not weaken the underlying encryption in any way. It seems like a reasonable conclusion, but reasonable is often not enough in encryption, as history has shown us quite often. The only real assurance we have that bcrypt's key-generation doesn't weaken the underlying encryption is that the developers said they "hope" it doesn't, in their original white paper. Hope is not a good measure to use for encryption.

      On the other hand, there is PBKDF2, which has pretty much all the advantages of bcrypt, but unlike bcrypt has been fully security-audited.

      My main point about the math was just that you should have a good idea of the relative "strength" of the algorithm vs today's computing power, and a basic idea of how it works. But there there are things like: how do I figure out how many bytes my salt should be? Etc.

      Not rocket science. But it's not all 6th-grade math either.

    90. Re: Programming by Anonymous Coward · · Score: 0

      Developing a web application is not web design. Web design is graphics design, like a billboard or pamphlet but on a screen. Developing an application for the web is like developing an application on a server or on a desktop workstation, but the results are displayed on the web.

    91. Re: Programming by robi5 · · Score: 1

      > Web coding just requires enough arithmetic to do the layout,

      Yes, most layouts are pretty trivial. Also, there are solutions for layout that are a good mathematical programming exercise at the library level, and require some understanding of linear systems: e.g. cassowary. Also, web site transitions, particles, physics engines all involve some level of math.

      > and most business programming doesn't even need that

      Yeah, most of it is just the four basic operations, but there are an increasing number of more mathematical areas, such as logistics optimization, option pricing or Monte Carlo methods. Even a histogram requires some understanding of math.

    92. Re:Programming by robi5 · · Score: 1

      Irrespective of this:

      The issue of how much math is needed for various branches of programming, and the issue of learning via Google searches or other means, are independent concerns. There is of course the correlation that anyone with a math background is more likely to be more systematic about learning to program than to do web searches all the time, but again, these are orthogonal issues.

      There are actual people who learned programming without a lot of math background way before Goolge or even Altavista or the internet existed. When I started coding at ten, my math must have been inferior to that of most non-programming graduates of today, yet I could learn stuff just by doing and reading.

      Having said that, and my coding benefitting from various areas of mathematics now, there is a lot of value in being able to quickly type in a search query that leads to relevant hits, for any type of UI work, where the IE browser incompatibilities are more of a trial and error than logic. Also, a color name to hex lookup via Google is just a superior alternative to the older method, which was, open the index pages of a book, find the page and go there.

    93. Re:Programming by Anonymous Coward · · Score: 0

      Sad the article didn’t even mention the early 90s Skipjack / Clipper Chip mess, which was ANOTHER great reason to mistrust NIST. https://twitter.com/eachus/sta...

      Wasn't that the same NIST that has been "implicated" in developing atomic clocks and quantum computers/encryption? That NIST? It is to laugh.

    94. Re: Programming by Calydor · · Score: 1

      Wow.

      I never realized the cure for anxiety of any kind was to just 'suck it up'.

      I would like to read your Ph.D. in Psychology focusing on this method of treatment. Link, please?

      --
      -=This sig has nothing to do with my comment. Move along now=-
    95. Re: Programming by randalware · · Score: 2

      You may not need much math to do web programming (CSS,HTML,PHP).

      But you start using a more robust language like Ruby,Swift,Go, Javascript you will need it.

      Logic & math go hand in hand, without it, you will produce bloated, buggy, slow code.

      It may work, but it will be hard to maintain, even by the original author.

      Every coder should look at code they have written years before (or code by others) to see how much they have learned.

      You "I don't need math" people need to try using C or assembly for a non-trival program, then port it to another system(with a different OS & CPU)

      Spreadsheet macros need math, and those have been a non-programmer computer user activity for decades.

      Pay attention in math class & do your homework.

      I always hated the math teachers that couldn't explain what some math was good for.

      You may not need engineering calculus, but it helps.

      --
      This is my opinion based on what little I know and understand of the rumors and lies Thanks, Randal
    96. Re: Programming by Anonymous Coward · · Score: 0

      Much in the same way you can be an (unlicensed) pharmacist without studying medicine. After all, with some googling and trial and error you can correctly help treat many of the more trivial ailments. Now for brain surgery or resource-heavy distributed computing you will fall woefully short of a solution without the proper training and experience.

    97. Re:Programming by Anonymous Coward · · Score: 1

      To be fair, it's about LEARNING to code. You've got to start somewhere.

      Like many of us old timers, I started by typing in BASIC listings from magazines. That's not significantly different from copy/pasting from a website, just more tedious. In time she will learn which of the code snippets she runs into on Stack Overflow are useful, and which ones are not. (And even if you have coded for decades... can you honestly claim you have never used anything from there to quickly make something "just work" so you can get on with your real job?)

      Also, seriously, it's worth it to get with the times. It's cool to write your own libraries and all that, but often it's pretty pointless nowadays. It's already there. You can use it. It's called progress.

      For her, Googling for answers isn't half bad as a way to learn to code. My 6-year-old daughter likes playing with "Scratch the cat". Are either of them to be taken seriously as programmers, right now? Probably not. But give it a few years, and both may well end up fully understanding what they're doing.

    98. Re: Programming by serviscope_minor · · Score: 1

      but all this says to me is that she had crap math teachers.

      All?

      90% of everything is crap, and that includes maths teachers. Most people have bad maths teachers. Learning to code is a good maths teacher because you end up encouraging yourself to learn the bits you need to get the job done. It, for many people, becomes interesting because you can see something that it is useful for, rather than mindless drudgery of ridiculous "relevant" problems.

      --
      SJW n. One who posts facts.
    99. Re:Programming by Hognoxious · · Score: 3, Insightful

      I've had that conversation too. Then the other person said he couldn't possibly program $_something_complicated_about_signal_processing (or was it $fiendish_mutimodal_supply_chain_optimisation) without all of it.

      Seems some people confuse programming itself with the problem domain or the subject matter. You certainly don't need much beyond highschool level for writing CrapCo's inventory system.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    100. Re:Programming by jrumney · · Score: 1

      I don't know how else you're supposed to come to any conclusion about suitability of encrpytion algorithms without either taking someone else's word somewhere along the line or doing your own full proof.

    101. Re: Programming by serviscope_minor · · Score: 1

      math is the manipulation of symbols in a formal language.,

      No, maths is finding patterns and proving things. That frequently involves manipulations of symbols in a formal language, but that's not what maths is.

      --
      SJW n. One who posts facts.
    102. Re: Programming by Anonymous Coward · · Score: 0

      I doubt you'd recognise a good translation if it bit you in the ass.

    103. Re:Programming by Anonymous Coward · · Score: 0

      If anything, detailed technical knowledge should count against you. The next person to maintain your code might not know every trivial little feature of the language you're using and has no admiration for your cleverness.

      That's fine when you're the person writing from a clean slate. Most programmers are "the next person to maintain" someone else's code, and so most programmers need enough technical knowledge to at least know where to look up the intricate details of the little features that the previous person used.

    104. Re:Programming by Anonymous Coward · · Score: 0

      Yes, because you can trust NSA^WNIST when it comes to cryptography.

      Go home, shill.

    105. Re: Programming by Anonymous Coward · · Score: 0

      you're totally wrong. jqp isn't rolling her own, she's acknowledging the high incidence of collisions in md5 and electing to implement a provably more secure alternative, for example. you assume too much

    106. Re:Programming by wonkey_monkey · · Score: 1

      In other words, any web developer who has not worked through their own proof of the Fermat-Euler theorum is not qualified to call themselves a good programmer.

      I've got a remarkable proof of it, but $('#paragraph').css('margin-left') < 12;

      --
      systemd is Roko's Basilisk.
    107. Re: Programming by Anonymous Coward · · Score: 0

      At school, my disability started to kick in and prevent me from learning maths the way the teacher taught it, which was to show one easy example and then expect us to learn from the textbook.

      His solution to my struggling in maths? Ignore me when I put my hand up for help.

      I complained, nothing happened, I complained again, nothing happened, got some bad marks in my report card, so my parents beat me up for it.

      Worst teacher ever.

    108. Re:Programming by wonkey_monkey · · Score: 1

      By that standard, this post is is in code.

      Syntax error at line 0

      --
      systemd is Roko's Basilisk.
    109. Re: Programming by Anonymous Coward · · Score: 0

      This is just wrong. I have a degree in CS, as well as a severe non-verbal learning disability. I sat (and passed) the computer graphics paper at my university.

      The math you need to know is fairly basic, but you do need to understand what you're doing and why you're doing it. If you don't, knowing the details won't help you a damn. Trust me on this, I'm a fucking expert on reading a formula but not understanding what it means. I've had countless hours of study on individual formulae, which the lack of understanding prevented me from applying. You probably understand much more than you think you do.

      This is a case of the Dunning-Krueger effect, specifically where you feel you're representative of the average person while drastically underestimating your own abilities and knowledge.

    110. Re:Programming by Anonymous Coward · · Score: 0

      Not messing with crypto algorithms if you're not a specialist is a part of this knowledge.

      But Software Engineer who build systems that use cryptography should know what is a difference between one-way hash, and reversible encryption, and what limitations each method implies, what risks are inherent in each method, and what can be done to mitigate them.

      One way to get this knowledge involves a lots of googling and (virtual) hand waving, the other involves algebra and a few hours spent with pen and paper.

    111. Re: Programming by Anonymous Coward · · Score: 0

      Let's improve on this car analogy, shall we? Googling "how make website red" and then saying you taught yourself coding is like pumping your own gas and then saying you taught yourself to be a mechanic. Saying anyone can code with 4th grade math skills is like saying anyone can change an alternator with a Fisher Price hammer.

      HTML is not coding, and neither is copying a script that someone else coded. Even those who understand logic and flow (not exactly 4th grade concepts) but don't get the math are going to produce slow, bloated, hacky code.

      Like many on /., I am a self taught coder and what I have found is that learning to code will inevitably teach you the math you need if you don't already know it. If you say you taught yourself coding but don't know the math, then I say you probably don't know what you're doing.

    112. Re: Programming by guestapoo · · Score: 1

      It's not easy, of course. But there's way to figure out.

      * Reading review at Amazon, Goodread, forum etc at first. This really help me.
      * When reading some first chapters, it could be easily spot stupid errors, or dull expressions, that you would doubt that professors at e.g. MGU could wrote this, and their student could accepted.
      Download a Russian versions (easily to find and download Russian books), base on chapter, section number, use Google translate and dictionary. Frankly, for a proof, or short paragraph, this help.

    113. Re: Programming by Anonymous Coward · · Score: 0

      Coding = writing source code. Source code is the high level language representation of a program. Therefore coding = programming. Nobody calls HTML or CSS source code because they are not compiled to machine code like a program is.

    114. Re:Programming by Anonymous Coward · · Score: 0

      Exactly. Though she is right to a point. But in her world of programming nothing new would ever come into existence. Sure this method of coding is efficient, but it has some serious flaws. For example, if there is a bug in the code you copied, even if it is fixed in a later update it is unlikely that it will be fixed in your code anytime soon or at all, if it is even recognized. In the world she outlined thousands of projects would end up with potential security flaws that would just be copied from one to another. In the end this is a hackers dream environment, because once they find an exploit most everyone has it, so they only need to do a fraction of the work.

      Now for the stuff that she cant comprehend: What if there is no programmed formula for what you need done? What if no one else has done it before, or if they have they are not willing to share their source? What if the code exists but is not compatible with your system? What if the code is in another language? What happens when you need to write code for a fully quantum computer? What if (god forbid) you need to code in a place where there is no internet access? What if there is a serious security venerability in your code that is discovered and the sources you draw from have not fixed it, and you need to get it fixed on a deadline?

      Knowing logic, math, and beyond is important. You think your immune, think again. Your just lucky.

    115. Re: Programming by Anonymous Coward · · Score: 0

      Those are things you can learn on the fly. They are not required to know how programming works.

    116. Re:Programming by Anonymous Coward · · Score: 0

      Why are you so obsessed with numbers, calculus, geometry and all that boring stuff?

      What about the logic, set theory, formal languages, graph theory, type theories, information theory? This is what programming is about, not the numbers.

    117. Re:Programming by Anonymous Coward · · Score: 0

      There is no way even a very-good-at-math-programmer is capable of evaluating the goodness of encryption algorithms. Yes, they may grasp how they work, but that's still far from being vapable of evaluating which one is good and for what reason. Those things are very hard to evaluate with confidence even for expert level mathematicians working on crypto. That being said, yes, programming, and program design relies heavily on math. That doesn't mean you can't do anything without math. You can do many things, but on a very limited scope. IF you think the scope isn't very limited then your perspective is.

    118. Re: Programming by Carewolf · · Score: 1

      math is the manipulation of symbols in a formal language.,

      No, maths is finding patterns and proving things. That frequently involves manipulations of symbols in a formal language, but that's not what maths is.

      So is theoretical Computer Science, and yes, that is how you do math, but when you are taught math or CS on under-graduate levels, which is what we are talking about, you are learning all the basics of various forms of abstracts and the insights they bring.

    119. Re: Programming by Anonymous Coward · · Score: 0

      Connecting components doesn't require much math at all, but if you want to actually program something (devise and algorithm that solves a problem) you'll need a good mathematical thinking. Indeed, if you consider that invoking what an actual programmer wrote and put in a library is programming, then you don't need any mathematical insight at all. But again, I was doing that when I was 9 years old so... I wouldn't consider that a valuable skill.

    120. Re:Programming by Anonymous Coward · · Score: 1

      https://en.wikipedia.org/wiki/Cargo_cult_programming

    121. Re: Programming by Anonymous Coward · · Score: 0

      Wrong. Algorithms are all about math. I'd like you to try building a path finding algorithm without knowing anything about graph-traversal and discreet mathematics. Likewise, parallel algorithms and vectorization are essentially math. Web coding is just connecting components other people wrote, not really programming and indeed not mathematical at all, but kids do that.

    122. Re: Programming by serviscope_minor · · Score: 1

      So is theoretical Computer Science

      Certainly.

      that is how you do math,

      No, it's how you do part of maths. It's how you convey ideas to others and it's how you codify things to check you're right. Last time I did some maths (as in trying to prove something new), it was me, a friend, lots of coffee and most of the time was spent talking or sketching things. the rest was spent manipulating symbols.

      Manipulating symbols is a tool you use in maths to formalise your patterns. But saying that maths IS the manipulation of symbols is like saying woodworking is using a nailgun.

      you are taught math or CS on under-graduate levels, which is what we are talking about

      Actually it wasn't clear to me that we were talking about that. TFA (actually pretty well written though from the comments almost no one read it) was very much not about being taught maths or CS at university.

      , you are learning all the basics of various forms of abstracts and the insights they bring.

      Yes and manipulation of symbols is a tool to do that. But that doesn't mean that maniuplation of symbols is the sum-total of it. That's the way it's taught in schools and it massively sucks.

      --
      SJW n. One who posts facts.
    123. Re: Programming by Anonymous Coward · · Score: 0

      What you're essentially saying is "I don't need to know math if the people who know the math do that part for me!". Well, congratulations, but I wouldn't dare to say I know 3D graphics programming just because I can model and render something in Blender... or should I? I mean, reading the comments of supposed programmers maybe I'm selling myself short.

    124. Re: Programming by Anonymous Coward · · Score: 0

      FYI: Notch is a genius (I mean in the traditional sense, he's really really smart). He might not have a formal education but I can assure you he knows his math.

    125. Re:Programming by TheRaven64 · · Score: 2
      First: NIST? Really? I guess you've not been paying attention for the last couple of years.

      Second: You misunderstand the grandparent. If you don't understand the basic ideas behind a crypto algorithm (or, more importantly, crypto protocols) then you will pick the wrong one. No matter how good a cypher is, or how verified the implementation is, if used incorrectly it will still be insecure.

      --
      I am TheRaven on Soylent News
    126. Re: Programming by Anonymous Coward · · Score: 0

      I just wanted to say that I agree with you 100%, I feel the same and enjoyed very much reading and reflecting on your words. Thank you :-)

    127. Re: Programming by NicBenjamin · · Score: 1

      Coding = writing source code. Source code is the high level language representation of a program. Therefore coding = programming. Nobody calls HTML or CSS source code because they are not compiled to machine code like a program is.

      That may be true in Computer Engineering terminology, but where everyone else lives anything that requires a computer to be read properly is considered code. Which means that even HTML counts, because hex values are not used in Standard American English.

      You're an expert in a relatively advanced field with it's own jargon. Just because you use a term one way does not mean that a) everyone else will, or b) they are wrong for doing so. Just be glad the field's not something that can be frequently used politically, because otherwise everyone'd raid it for potential insults constantly. PoliSci guys in particular have to learn two damn definitions of every word, which are always tangentially related, but generally have completely different connotations, because some asshat politician has decided that's the perfect way to describe some poor schmuck standing between him and a juicy job.

    128. Re: Programming by TheRaven64 · · Score: 3, Insightful

      The one that bugs me the most is the imbalance between how society treats knowledge of humanities and sciences. If a scientist doesn't know about history, then he fits the 'ignorant scientist' cliche and is a figure of fun. If a historian knows far less about the science that his daily life depends on, then he's considered a cultured and well-rounded individual. And, in my experience, the humanities person who is ignorant of science is far more prevalent than the scientist or engineer who is ignorant of humanities.

      --
      I am TheRaven on Soylent News
    129. Re:Programming by Anonymous Coward · · Score: 0

      i believe it's you who doesn't understand what programming is. programming is about "achieving results"

      Pfffffffffff, what a load of BULLS**T!

      the results - by virtue of their success - have absolutely NOTHING to do with the method by which those results are achieved

      Guess what? It has absolutely nothing to do with what you're doing either! Replace programming with

      literally anything else

      and it will be equally true, and as useless as your original statement. What a waste of words...

    130. Re:Programming by TheRaven64 · · Score: 2

      CSS is actually a Turing-complete language these days, though you'd have to be completely insane to try to implement a complex algorithm in it.

      --
      I am TheRaven on Soylent News
    131. Re: Programming by Anonymous Coward · · Score: 0

      No, hipsters say noseequell :)

    132. Re: Programming by Anonymous Coward · · Score: 0

      It's about ethics in programming, right?

      Give me a break - crawl back under your bridge, lamer.

    133. Re:Programming by Anonymous Coward · · Score: 0

      Wow, several paragraphs of semantic nonsense with a lot of quotes. Good job. Moron. Oh and FYI: the method described in the article has "nothing to do with programming whatsoever."

    134. Re:Programming by Anonymous Coward · · Score: 0

      Indeed, mostly because fuckin morons that only know CSS want to use it to the everything, which is insane.

    135. Re:Programming by Anonymous Coward · · Score: 0

      Funny thing is, IMHO that is where the real connection with mathematics comes in. Not doing calculations (that's what computers and assistants are there for, not mathematicians).
      It's how much the
      > combine several thousand of those if statements to do something
      is similar to "combine loads of theorems and other bits of information to make a proof".
      And like in programming, there are horribly convoluted though working ways to do it, and there are good ways to do it.
      Though there is more peer review and good/beautiful ways tend to be more appreciated in mathematics.
      Funnily, "maintenance" is more intuitively understood as valuable there than in programming - though maybe it's mostly the lack of economic pressures and less pressing practical uses.

    136. Re:Programming by Anonymous Coward · · Score: 0

      specifically you should take NIST's word for it

      You must be surely joking. Taking NIST's word for it without understanding it. Just NIST's word? Really?

    137. Re:Programming by Wycliffe · · Score: 1

      Funny thing is, IMHO that is where the real connection with mathematics comes in. Not doing calculations (that's what computers and assistants are there for, not mathematicians).
      It's how much the
      > combine several thousand of those if statements to do something
      is similar to "combine loads of theorems and other bits of information to make a proof".
      And like in programming, there are horribly convoluted though working ways to do it, and there are good ways to do it.
      Though there is more peer review and good/beautiful ways tend to be more appreciated in mathematics.
      Funnily, "maintenance" is more intuitively understood as valuable there than in programming - though maybe it's mostly the lack of economic pressures and less pressing practical uses.

      Yes, there are similarities between proofs and programming but I'm living proof that you don't need to be good at proofs to be a programmer.
      I always had problem with proofs as I would always skip steps or do them in my head and teachers would count off for them.
      You can't skip steps in programming, it's more rigid and straight forward and I enjoy and find programming A TON easier than trying to write
      a proof which I hate and I fail miserably at.

    138. Re: Programming by AmiMoJo · · Score: 1

      I'm pretty good with C, understand compilers well etc. I suck at Perl though, mainly because I only bothered to learn just enough to perform one specific task a year ago and then forgot about it. Well, actually I don't even really know the syntax properly, most of the code is copy/pasted and edited to do what I want... Can you even have multiple files in a project, includes etc?

      I think what you mean is that if you can learn to do one thing you can learn to do similar things. Even then your assertion doesn't really work though. Basic coding is one thing, but developing any kind of complex application needs software engineering skills, which are quite different.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    139. Re:Programming by Sique · · Score: 3, Insightful
      Somehow people are messing up "knowing math" and "knowing enough about math for programming". She never claims that basic math wasn't a necessity, she also doesn't claim that knowing some calculus and linear algebra is superfluous.

      But there is a whole world between being able to do the math necessary to rotate a 3D vector in a 4D space and the proof of the Poincaré-conjecture.

      Also a plumber doesn't need to be able to do the math of the Chapman-Kolmogorov equation to find out when the laminar flow in a water tube turns chaotic. But he should know that changing one parameter (e.g. the length of the tube or the diameter or the flowing speed) will move the limit and can turn the actual flow back to laminar, even though he's not able to write down all the integrals.

      So yes, knowing math is fine for programming, and there are many task in programming which require some special knowledge about some obscure math problem and its solutions, but it is not necessary to study the whole field of mathematics surrounding that math problem, nor is it necessary to be able to solve the math problem on your own.

      --
      .sig: Sique *sigh*
    140. Re: Programming by Anonymous Coward · · Score: 0

      I read a good quote somewhere that most people don't suffer from math anxiety, they suffer from math EXAM anxiety.

      In other words, common fear of math is entirely due to the way it's taught!

    141. Re:Programming by gustygolf · · Score: 1

      Of course the database should be red. Why else would slashdot's logo for databases be a red wheelbarrow?

      --
      "Slow Down Cowboy! It's been 58 minutes since you last successfully posted a comment" -- slashdot, driving users away.
    142. Re: Programming by Anonymous Coward · · Score: 0

      The thought processes between programming and doing math are very similar, but you don't need math to code any more than you need an educational degree to write educational software.

      Yeah, if you're doing 3D graphics or optimizing algorithms or doing simulations you need to know math, but if you had a mathematician sitting next to you to do the math you could just translate it to code the same way you could take an educator's ideas and translate them to code.

      Pulling this out of my ass, but I'd say 90% of all programming done these days involves no math above algebra, and probably jumps to 95% if you include trig. Even when I was optimizing data structures for a 3D modeling project, I didn't "know" most of the math I was using, I just looked it up and learned it as needed.

      The focus on math for programming majors is stupid. Yes, they should have to learn it, but people need to get over this idea that we're basically doing math all day on a computer.

    143. Re:Programming by jcr · · Score: 1

      I use rot 26 and make it twice as secure!!

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    144. Re:Programming by Anonymous Coward · · Score: 0

      Right - Mashing together stuff is a very small part of math. The rest of Math is counting and sifting patterns, abstracting with symbols, , the logical thought processes are very similar, if not the same.

    145. Re: Programming by Anonymous Coward · · Score: 0

      So when you're coding differential equations for numerical orbital calculations you just have a mathemetician write the code, or you implement it from a spec? I mean it's possible to write Runge-Kutta without knowing calculus but tweak one constant by mistake and it *looks* like it's working but your error bounds are totally blown.

    146. Re: Programming by Anonymous Coward · · Score: 0

      and the number of people who program 3d graphics is a miniscule subset of programmers

    147. Re:Programming by Anonymous Coward · · Score: 0

      Ok.. I'll not trust NIST, and instead, I'll trust some random tit called "Jane Q Public" on a random Internet message board.

      Herpington Derpington.

    148. Re: Programming by Anonymous Coward · · Score: 1

      Yes I don't disagree with what you say. But most people do not have High School level Algebra knowledge. These are the people influenced by this type of FUD articles. You can do without calc 1 and 3 for 99% of programming, 2 is probably most widely used in computation, because of Series. But to think you don't need Algebra is flat out wrong. Without Algebra one cannot think in abstract enough sense to do anything useful. BTW I failed Calc 1 twice before I left college and came back ten years later when I was serious about learning, got an A the third time. Failing a course has often nothing to do with your ability to comprehend the subject.

    149. Re: Programming by pruss · · Score: 1

      There are different kinds of mathematics. I wouldn't be surprised if it's possible to be bad at calculus but good at, say, graph theory or formal logic.

    150. Re: Programming by RingDev · · Score: 1

      Math is finding patterns and proving things by manipulation of symbols in a formal language.

      Programming is finding patterns and proving things by manipulation of symbols in a formal language.

      IMO, unless you are into true comp-sci or engineering implementation programming projects, the need for advanced math is overblown.

      The article is still wrong though. The common exercise between ALL programming and math is one fundamental step:

      PROOFS.

      Algebra, being able to look at a problem, break it into smaller pieces, simplify, and implement. Algebraic proofs ARE programming.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    151. Re: Programming by Anonymous Coward · · Score: 0

      Amazing reading comprehension failure.

    152. Re: Programming by Anonymous Coward · · Score: 0

      I do agree with your sentiment, however, it is difficult to fight against the fact that many of the world's top CEOs/Execs/Entrepreneurs achieved everything they did without a college degree.

    153. Re: Programming by Shortguy881 · · Score: 2

      I've never met a good programmer with weak math skills. While your general statement is true, math is not needed to program, mathematics and logic are too tightly coupled to be good at one and bad at the other. The same type of thinking is needed for both.

      Someone inherently good at programming will be inherently good at math and vise versa. Someone who can't understand mathematical concepts will struggle with logical ones. As to your point about engineers, most of the best programmers I know came from fields other than programming that required a higher level of mathematics, like engineering.

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
    154. Re: Programming by Anonymous Coward · · Score: 0

      Cretins advocate that college can be skipped as a waste of time

      Cretin here. College is more a waste of money than time, but that does not imply that you shouldn't educate yourself.

    155. Re: Programming by Anonymous Coward · · Score: 0

      This is Slashdot. We are already under the bridge. Perhaps it is you who ought to jog on.

    156. Re: Programming by Anonymous Coward · · Score: 1

      As an American with a graduate degree in Mathematics, I'd say for lower level (up to, say year 1 and 2 undergraduate courses) you've accurately described Math books.

      For the higher level stuff, IMO there is no generalization one can make...books are all over the place in terms of readability (and I've looked at enough upper level books written by Euro/Russian authors to feel they aren't much different). A lot of grad texts aren't going to be big money makers for the author or publisher...many originate from the actual notes the professor(s) used to teach the subject. In my opinion, this is where you can really see the personality of the author, since the book hasn't been gone over and "fluffed up" by a series of editors/reviewers/bureaucrats.

      The downside is that texts can start to follow the pattern of fiction books, in that one book may really be enjoyed by one person, and not at all by another. For example, I took my first serious Real Analysis class using H.L. Royden's "Real Analysis" book...I consider this one of the best written books I've had the pleasure of using in my studies...however, my friends that took the same class hated the book!

    157. Re: Programming by Anonymous Coward · · Score: 0

      I'll take engineered programs over artful programs any day.

    158. Re: Programming by Anonymous Coward · · Score: 0

      AC here, when you look at it, the gnarly math bits are hard mostly because there's only three guys in the entire company (90,000) that understand what the math's doing, not because they're the only three guys with calc 3. Fortunately, this bit of the code tends to be small versus the whole code base.

      This is where we create the mathematicians a sandbox with well defined inputs and outputs, memory allocations, rule-time rules, etc for them to work in. They play in Simulink, we import it, together we test it. Then the model goes off to be built in C if needed to meet FSW quality rules before getting re-integrated in the product (including final testing against now known-good test vectors).

    159. Re:Programming by Anonymous Coward · · Score: 0

      Is that "sequel" as in Microsoft or as in IBM?

      -- an Oracle/Sybase/Informix/PostgreSQL DBA.

    160. Re: Programming by werepants · · Score: 1

      This is a bit outside my experience, as all I've done there is a 3D physics engine for a game. Even then, I suspect all you need to know are the equations and a few well-understood approaches to integration, actually understanding the math (or the physics) doesn't seem necessary.

      Wait, what? How can you "do" a 3D physics engine, AT ALL, without understanding physics? Unless by that you mean that you are making small modifications to an existing engine, there's no way you could create a physics engine, much less a 3D one, without decent physics understanding. Even something as simple as Mario Brothers had a fairly realistic implementation of gravity, friction, and acceleration - some physics knowledge is absolutely necessary unless you're just leveraging other people's work the whole time, or your application has completely unrealistic movement.

    161. Re: Programming by Grishnakh · · Score: 2

      My pet peeves with modern society are with the morons who revel in their own ignorance.

      Today ignorance is celebrated.

      Ignorance should never be treated as a virtue. And yet that is what is happening and this original post proves that this attitude is still alive.

      Welcome to American society.

    162. Re:Programming by Archangel+Michael · · Score: 1

      My take, is that all encryption is suspect. Maybe not that variation of that method right at the moment, but at some point, sometime in the future, it will have issues. When we get to quantum computers, many, if not all of the encryption techniques we have will fail.

      That being said, we can agree, using informed consensus, what works for today. No, I don't listen to government only, or private sector only, or white hat only, or theoretical math guys only. I listen to all of them, and I apply the system that makes the most sense. I don't need the highest grade crypto service for my forum website. On the other hand, having the Secretary of State have a private email server being run out of a bathroom of a communal flat (apartment complex) with little or no crypto on it is problematic.

      It is all about relative security with regard to the information that is being encrypted. Some shit is worth a lot more than other shit, take appropriate steps to protect the data. Whatever is "appropriate"

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    163. Re: Programming by Anonymous Coward · · Score: 0

      Even for 3D many people can get by just fine with libraries like Three.js or engines like Unity/Unreal and never have to dive into the 3D math at all.

    164. Re: Programming by tehcyder · · Score: 1

      If Slashdot is any indication, most developers don't understand even basic logic.

      You must not be new here.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    165. Re:Programming by Anonymous Coward · · Score: 0

      It's possible that with your educational background, you may not appreciate how much math literacy you take for granted.

      I've been doing software development for about two decades and since I majored in philosophy, I've found my lack of strong math skills to create a ceiling on my own performance--so much so that I designed and completed an ad hoc math program using MIT OCW and Coursera. As an example, I was working on a prototype communication system to be used aboard ships. No math required, right? Well, that was true until they also wanted to be able to communicate location, heading and the lane in which they'll be travelling. Suddenly I found myself neck deep in great circle calculations.

      You might just say, "well, that's just a speed bump, I'll refresh myself on the trigonometry. And anyway, it's less than 5 percent of the system functionality." But since I had neglected taking university level math, what should I have done? Say, "No, it's too hard"? For you, maybe it would have required a couple hours for a refresher. I had to entirely re-learn trig almost from the ground up, spending many late nights with an excel spreadsheet working the math problems just to know that the job was satisfactorily completed.

      I agree that math isn't necessary to _learn_ to code. But to code well, you've got to have that in your tool chest. At some point in a coders career, those are the dues you're going to want to have paid.

    166. Re: Programming by Anonymous Coward · · Score: 0

      What does learning to code have to do with social justice? At this point you're just looking for people to hate.

    167. Re: Programming by werepants · · Score: 2

      I think that whole anti-science attitude comes from insecurity. The thing is, with math and the hard sciences, it can take months or even years of learning to even be able to understand a problem, much less solve it. There's a massive barrier to entry, and what's more, there are objectively right and wrong answers, so you can't B.S. your way through it.

      I briefly enrolled as an English major before I wised up and got a physics degree. The thing about majoring in the humanities is that after a year or two of schooling, I was left feeling no more capable or informed than when I started. I read a bunch of books, and wrote a bunch of subjective papers that were subjectively graded, with no real right or wrong - the question was just if you could churn out a competently assembled essay in the allotted time.

      When I was in physics, however, I would gain a new fundamental understanding or skill on a weekly or even daily basis. You try to do your assignments, get a wrong answer that doesn't make sense, and then try again until you are confident you've mastered the material. This matches coding far better than any amount of essay writing or literature reading ever could.

      To play devil's advocate for a moment though: I also get tired of engineers with the attitude that writing well, understanding philosophical arguments, or appreciating the history and larger context of a field are pointless. There are a lot of folks with a technical background that seem entirely content to be ignorant about everything else out there, which is partly what creates that 'out of touch egghead' stereotype that is easy for insecure people to mock. Ideally both technical and non-technical people would love and respect learning of any sort.

    168. Re:Programming by Anonymous Coward · · Score: 0

      So you lie to get laid? Between lying and paying, I choose the latter which is morally superior.

    169. Re: Programming by tehcyder · · Score: 1

      Alternatively, TFA demonstrates someone willing to have a go at learning something they had previously considered beyond them, relying on their own initiative and freely available information, rather than paying $10K for some bullshit Certified Web Developer course.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    170. Re:Programming by werepants · · Score: 1

      It seems to me that coding without math knowledge is like travelling in unfamiliar territory without a map. You can describe your destination, but you have no big-picture understanding of the scenario, and a limited ability to find the most effective route from A to B. You have to rely on others to give you directions or take routes that have already been established by others.

      On one hand, I appreciate the message that anybody can start learning code without having any particular skillset beforehand. However, I think the subtext (math, computer science, physics, computer architecture are unnecessary knowledge) is deeply misguided. Knowledge of the deeper, more fundamental topics is often what distinguishes a mediocre coder from a true expert.

    171. Re: Programming by nvm_my_comment · · Score: 1

      I disagree: Most student will just forget it in record time. Worst part is they could have given something of equal complexity to study but USEFUL. But they won't. Real application to knowledge or theory is dirty. At least that seem to be the mind set in pure science study I attended. Advanced math is just there to "weed out" weaker student. Nothing more.

    172. Re: Programming by Will.Woodhull · · Score: 1

      If you want to learn to think critically, then learn how to use regular expressions effectively. No math involved, but rigorous exercises in analytics and logic.

      Those who have developed the ability to think critically could easily pick up programming skills through web searches without any formal study of mathematics. The approach would rely on skills in assessing the value of various authorities instead of the skills developed in wading through proofs of theorems and other tediosities. This kind of assessment skill is not easily learned, but it transfers well to other aspects of life, such as evaluating political candidates, potential marriage partners, schools for the kids, etc.

      --
      Will
    173. Re: Programming by Will.Woodhull · · Score: 1

      math is the manipulation of symbols in a formal language.

      coding is the manipulation of symbols in a formal language.

      Well said!

      Critical reading skills, as developed through a conscious effort to become better at googling, are the manipulation of symbols in a natural language. This is a lot tougher than working in a more abstract formal language, but the skills transfer not only to formal languages but to a lot of frequently encountered natural problems. Such as decisions on which political candidates should get your support, or whether the latest "news" about Saint Hillary's email missives actually has any meaning.

      Someone who is a self-taught programmer relying on Google for their course material is likely to be a much more interesting person than most basement dwelling geeks. Just saying.

      --
      Will
    174. Re:Programming by Anonymous Coward · · Score: 0

      I didn't think throwing together HTML via cut and paste was "programming" or "coding" either.

      There are people who engineer elaborate lego sets, build the pieces and the instructions on how to assemble to lego set. Then there are people who put together the lego set (usually children)

      So in this story, the "programmer" is basically a child putting together a lego set (script kiddie). The people writing the posts / articles / info sites that she is googling are the actual engineers.

    175. Re: Programming by Anonymous Coward · · Score: 0

      The good never outweighs the bad. Fuck NIST.

    176. Re: Programming by serviscope_minor · · Score: 1

      Math is finding patterns and proving things by manipulation of symbols in a formal language.

      No, I disagree: it took mathemiticians, or philosiphers as they were known they were known then a few thousand years before figuring out that symobol maniuplation and formal notation could be used.

      Maniuplation of symbols was a huge advance in mathematical technique buy you can (and people did) do maths without it.

      IMO, unless you are into true comp-sci or engineering implementation programming projects, the need for advanced math is overblown.

      Yep.

      I do a fair bit of signal processing, computer vision and other scientific code. You certainly need advanced maths for that. However even whe I was doing that full time, most of the code was support code to make it all work and none of that required advanced maths.

      The article is still wrong though. The common exercise between ALL programming and math is one fundamental step:

      That's not how most people program (and probably explains the existence of so many bugs).

      --
      SJW n. One who posts facts.
    177. Re:Programming by MisterToad · · Score: 0

      personally I reserve the word "programming" to describe activities that include if-then-else, do-while, do-until, and sequence. Most business applications do not go beyond the math of general accounting

      --
      Dick
    178. Re: Programming by Anonymous Coward · · Score: 1

      I'm with you on this one. I'll tell everyone a quick story. I started with basic then Visual Basic to program AOL progs when I was 14, became a sort of prodigy in my school. Teachers asked me to develop lesson plans, maintain computers etc. I thought I was the shit. I was ranked #3 out of 300 kids (GPA) in my graduating class.

      Then came college, programming c++ and learning calc2 and 3 and discrete math. I failed all 3 math courses :( the first time. Took 2 times to pass all 3. I noticed programming was becoming harder, I was no longer a big fish in a small pond, I was just another person in college.

      I became a drug addict in college, popping pills, cocaine, drinking heavily. Basically I wasted 7 years of my life. The 4 years of college and 3 years after. Only good things that happen during that time was I graduated and had a son.

      Fast forward I got clean and wanted to learn to program swift because I had a C backround. I learned the entire syntax without a problem, then came using the language. I quickly learned that my math skills were severely lacking. I didn't have a problem with any of the operators because I knew what they all did. My problem came with writing functions that required some
      Sort of math arithmetic. I quickly found myself dusting off my old college math books. I went to my whiteboard and taught myself the basics. Boy did that help a shit ton. I no longer had to go into deep thought for some task, it was like my brain already knew the outcome and I could implement things much quicker.

      You DON'T need math, but if you know it you have a huge advantage over the next guy(especially for certain domains). I was gullible and didn't think math mattered. It was only until I started writing serious code that I realized why college made me take 6 math courses.

      Just my two cents.

    179. Re:Programming by Anonymous Coward · · Score: 0

      No, people should listen to private-sector experts

      Because if there's one thing for which you can always count on the private sector, it's not having any agendas that run counter to everyone else's best interests.

    180. Re:Programming by slavdude · · Score: 1

      No, people should listen to private-sector experts, and not listen to the Government at all, or at least take what it says with a grain of salt the size of a basketball.

      Sure, because the private sector is always better than the government and never does anything wrong or evil. Man, I should know better than to read Slashdot. It brings out the troll in me too easily.

    181. Re: Programming by Anonymous Coward · · Score: 0

      Im assuming a learning diability. ADD or ADHD?

    182. Re:Programming by Anonymous Coward · · Score: 0

      How much advanced math is required depends a lot on the type of programming you are doing. I worked for years as a text programmer and used very little math beyond the basic four functions. If you are not familiar with text programming, it involves document composition systems, database storage and retrieval, and a front-facing document editing system at a minimum. Documents our process had to handle came from innumerable non-standard text-processing systems (as well as things like Word), often several different ones from the same source. Our contracts required us to convert the text and publish printed books within 90 days. We were doing this when SGML was little more than a notion and our tools were what we had on an IBM mainframe. Things would be easier today, but if you are one who believes this is not programming, then be a good chap and cobble up a composition system, would you? Be able to handle changes in font, columns, font sizes and faces, foot notes, strike-throughs, alternative text (multiple versions of the same numbered section), among other things. Should be no problem. The company I worked for spent tens of millions of dollars to try to get this right.

      Financial applications do not, for the most part, involve math more complex than a four-function calculator could handle, either. It's not the math that makes it difficult.

    183. Re: Programming by Anonymous Coward · · Score: 0

      A self taught programmer is usually a basement geek. That paragraph means nothing. The two are almost always mutually exclusive. The fact that you say they are separate shows you know nothing about the topic and your view of people is highly skewed in the wrong direction.

      Btw fuck /. Post Limit. Wtf does wait a little bit before posting even mean. I posted 5 fucking minutes ago. How longs a little bit? 1 min, 2 min?
      And if you hit the back button at the top of the page it takes u back to the top of the post. So I have to scroll all the way back down to where I was in the comment section. Complete fuck up. So if I change my mind on posting because I don't want to wait, I have to start my comment reading at the top. Lame.

    184. Re: Programming by Anonymous Coward · · Score: 0

      Your both wrong. Yes it is a waste of time for someone to 're-invent the wheel'. But sometimes rolling your own is the best way to handle it. Encryption is the poorest example of this, as few people understand encryption well enough to code their entire PGP library well enough to work correctly without error.

    185. Re: Programming by Anonymous Coward · · Score: 0

      Please mod this up. You are 100% correct.

    186. Re: Programming by Anonymous Coward · · Score: 0

      The fall silly season is starting early this year.

      Posts always get strange in September, as Summer activities end and the kids are not yet back in school mode. Expect more posts like the parent until sometime between Halloween and Thanksgiving, when the freshmen and high school geeks among us get too caught up in homework assignments, beer procurement, and other juvenile activities to bother with trying to be clever on slashdot.

    187. Re:Programming by Actually,+I+do+RTFA · · Score: 1

      Yes, you can cobble together a website with no coding skills by using text and simple markup tags.

      Fixed that for you. A website isn't programming. It's content. Which is fine. Humanities majors should be better at producing content than math majors (with the exception of technical content for other math majors, etc).

      --
      Your ad here. Ask me how!
    188. Re:Programming by Actually,+I+do+RTFA · · Score: 1

      Yes, you should absolutely take someone else's word for it,

      A mathy person knows what problems exist that they need help on. A non-mathy person does not. Therefore, a mathy person will know to look up "how should I salt for an md5 hash." A non-mathy person copies another non-mathy person's code, and boom, rainbow table attack vector.

      --
      Your ad here. Ask me how!
    189. Re:Programming by Anonymous Coward · · Score: 0

      like Macafee ?

    190. Re:Programming by ThatsDrDangerToYou · · Score: 1

      In other words, any web developer who has not worked through their own proof of the Fermat-Euler theorum is not qualified to call themselves a good programmer.

      I've got a remarkable proof of it, but $('#paragraph').css('margin-left') < 12;

      I proved this once, and also P=NP, but I left it in my pocket and it went through the laundry. It's true! You can google it.

    191. Re:Programming by ThatsDrDangerToYou · · Score: 1

      Yes, there are similarities between proofs and programming but I'm living proof that you don't need to be good at proofs to be a programmer.

      ... and where is your proof sir? Otherwise, this is a theory. Ha, gotcha again!

    192. Re: Programming by Evan+Langlois · · Score: 1

      Agreed. Copy/Paste is not programming and html doesn't really with algorithms or variables. IMHO, its not really programming. Algebra came easy to me cause I could program computers before kindergarten (just really simple BASIC stuff, loops, conditions, but I knew what a variable was). Real coding is math

    193. Re: Programming by ThatsDrDangerToYou · · Score: 1

      Someone inherently good at programming will be inherently good at math and vise versa. Someone who can't understand mathematical concepts will struggle with logical ones. As to your point about engineers, most of the best programmers I know came from fields other than programming that required a higher level of mathematics, like engineering.

      Well, I have seen brilliant mathematicians who write the... Worst. Code. Ever. Sure, they can write code that works, but some of them have no experience in making that code readable (read: maintainable by anyone other than the authors).

    194. Re: Programming by Hognoxious · · Score: 1

      Saying you can code without Math is like saying you can repair a car without being a certified mechanic.

      In the sense that they're both true?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    195. Re:Programming by Anonymous Coward · · Score: 0

      You could write something like the Apache web server in C from scratch without knowing much math at all.

      It's simple logic.

    196. Re:Programming by Tom · · Score: 1

      I've used much less than 5% of what I learned there, and probably more like less than 1%.

      Then you went to a horrible university.

      What about logic, never used it, hm? De Morgans Laws? If course, you use them all the time, you're just so used to them that you forgot the name.

      Approximations (numerical mathematics)? All the time. Important as well: Understanding about error margins and how many digits in what calculation you can rely on.

      Calculus, analysis, all the shitty things we hated, we use it. Fragments here and there, that's why mostly we don't notice.

      Algorithms by themselves are pure math, like it or not. Heck, if we go to that level, the very idea of variables is from math.

      I absolutely agree that there is a lot more that goes into a good programmer than just math, but there is a lot in math that we use daily when we write code.

      --
      Assorted stuff I do sometimes: Lemuria.org
    197. Re: Programming by Darinbob · · Score: 1

      Except that real application of computer science theory happens every single day.

    198. Re: Programming by Hognoxious · · Score: 1

      But you start using a more robust language like Ruby,Swift,Go, Javascript you will need it.

      What specific features do they have that require it?

      Perhaps the compilers ask you questions and refuse to continue if you can't say whether one polynomial is a factor of another, or what the integral of x cos(x) is?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    199. Re:Programming by Anonymous Coward · · Score: 0

      Just trust Bruce Schneier. He never needs full vulnerability disclosure because he already knows.

    200. Re: Programming by Shortguy881 · · Score: 1

      Well now we are talking about mathematicians. They have to write their own Integer class because MAX_INT just isn't close enough.

      But more seriously, readability, maintainability and good coding practices are something you learn from experience, not some innate understanding of the concepts. If you had to choose between working code that's unreadable or non-working code that is readable, which would you take?

      Not that that's a good example, most bad programmers I know produce code that doesn't work and is unreadable.

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
    201. Re: Programming by volmtech · · Score: 2

      This is pervasive throughout American education, especaly with disadvantaged minorities. My wife is in nursing school. She is an older student and studies very hard. She is also the top student in her class. Of the 13 students in her class 4 or 5 fail every exam. The teacher then throws out enough of the tough questions so every one can pass or offers extra credit work. Last night the teacher offered a 50% grade bonus for doing the workbook pages for that segment. Some students started whining that there were too many pages, how about enough credit to pass from just a few? These are our future nursing home staff. I plan on dieing at home.

    202. Re: Programming by narcc · · Score: 1

      some physics knowledge is absolutely necessary unless you're just leveraging other people's work the whole time

      It shouldn't be that surprising, as you're using the work of physicists. The implementation is just details after that. You don't need to understand it, all you need are the equations. There are already well-established methods for integration, so you don't need to invent that either, just implement one.

      Here's an easier example: If I asked you to write a t-test function, you'd need to nothing more than look up the equation and implement it. For the parts you don't understand, you can look them up and do the same as well (like the sample mean and the standard deviation). You wouldn't need to know the first thing about statistics. All that work has been done for you.

      Mario Brothers had a fairly realistic implementation of gravity, friction, and acceleration

      You're over complicating that particular problem. All you need there is common experience. When someone jumps, they go up for a bit and then come down. You slide on slippery things. I'll bet a nickle that the developers of Mario Brothers didn't concern themselves with physical accuracy, but how each action felt intuitively.

    203. Re: Programming by ThatsDrDangerToYou · · Score: 1

      Well now we are talking about mathematicians. They have to write their own Integer class because MAX_INT just isn't close enough. But more seriously, readability, maintainability and good coding practices are something you learn from experience, not some innate understanding of the concepts. If you had to choose between working code that's unreadable or non-working code that is readable, which would you take? Not that that's a good example, most bad programmers I know produce code that doesn't work and is unreadable.

      Easy. Readable and coherent non-working code can be fixed. Unreadable working code is going to bite you in the ass one way or another. "Well, we want you to modify it to do X." Then what? I deal with this all the time. Don't you? Bad coders make simple tasks complex and complex tasks impossible.

    204. Re: Programming by Anonymous Coward · · Score: 0

      How about you show us your Ph.D. in psychology and cite some examples where modern psychology has actually solved somebody's problem rather than them solving it for themselves.

    205. Re: Programming by Shortguy881 · · Score: 1

      That's a question of time now vs time later. I would rather have the non working code assuming I have the time to fix it. If we need to meet the deadline I'll take the working code. But as I said, most bad coders produce unreadable non-working code.

      If I had to pick between having a bad coder and an illegible coder, I'd take the illegible one because coding practices are easier to teach than how to code.

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
    206. Re: Programming by Anonymous Coward · · Score: 0

      which sort of implies that people who do learn things are wasting their time

      But they are wasting their time. You can't take it with you; not fortune, not power, not fame, not strength, not intelligence nor knowledge.

    207. Re:Programming by fyngyrz · · Score: 1

      I'm sorry, I tried to read your post, and Culture20's post, with your reasoning in mind, but everything that was written reduced to "words", and then to letters, and then to dots on my display, all the same thing, no meaning remaining at all.

      So I think I'll stay with "coding" and "programming" taken to mean making computers do things for us. Yes, "coding" applies to a markup language. "Programming" does not. From TFS: "Olga Khazan writes in The Atlantic that learning to program involves a lot of Googling, logic, and trial-and-error—but almost nothing beyond fourth-grade arithmetic."

      Now. Let's say you are ejected from school on the first day of fifth grade. You passed 4th grade with flying colors, though. Now you are sent to a desert island with a computer. Alone. No network. No books. No communications. No reference materials on the computer. Just you, an abundance of tropical fruit and fish, your grass hut and a computer, let's say solar-powered. You are not going to be able to program it until, or unless, you figure out a great deal more than "fourth-grade arithmetic."

      Programming. It actually means something more than piddling about with markup language and 4th grade math.

      --
      I've fallen off your lawn, and I can't get up.
    208. Re: Programming by werepants · · Score: 1

      It shouldn't be that surprising, as you're using the work of physicists. The implementation is just details after that. You don't need to understand it, all you need are the equations. There are already well-established methods for integration, so you don't need to invent that either, just implement one.

      Even physicists aren't often invention equations from scratch. Understanding the equations and implementing them, and even understanding that integration is what you need are the parts that math helps you with. If you don't know what in the hell that weird S does and have never taken a calculus course, you won't even have the vocabulary to start researching to help yourself. A person with math or physics experience of some sort is going to do much better with these things.

      When someone jumps, they go up for a bit and then come down. You slide on slippery things. I'll bet a nickle that the developers of Mario Brothers didn't concern themselves with physical accuracy, but how each action felt intuitively.

      How do you make characters move intuitively? By making them inhabit a world that follows physical laws similar to our own. One of the major things that made Super Mario Brothers the groundbreaking success that it was is the fact that their physics engine was so responsive and intuitive. They did this by implementing gravity exactly as it is on Earth - a constant downward acceleration. A jump just gives Mario some initial upward velocity. There are a number of articles out there that have been able to determine exactly what kind of planet Mario must live on by making measurements of his movement in free-fall and therefore calculating the strength of gravity on his world.

      Sonic is another great example. You'll notice that they spent a lot of time dealing with friction in Sonic's world. If you try to reverse direction, it doesn't happen instantly. Instead, Sonic moves himself by a constant horizontal acceleration. When you stop pushing one of the direction buttons, he doesn't stop immediately: he slows down by a constant negative acceleration from friction. How do you make sure that a character follows a realistic, predictable, intuitive parabola through the air when they jump? By implementing realistic 2-dimensional physics, with a constant horizontal velocity and a constant vertical acceleration.

      This isn't tremendously complicated stuff, but if you haven't taken a physics course in high school or college you will have a very hard time building an intuitive movement model for a video game characters. You don't need multivariate calculus for most programming, but there are a lot of software problems that basic calculus and trigonometry solve very cleanly, and without familiarity with math you will struggle when you encounter them as a coder.

      At this point I can only conclude that you either are being dishonest about the work you've done on physics engines, or you dramatically overestimate the math and physics coursework your average humanities major receives.

    209. Re: Programming by Chriscypher · · Score: 2

      It's more important to be useful and productive than to be formally trained.

      This is not an excuse for lack of depth. It's as important to understand your own limitations and to seek expert advice (or to more adequately research) when you know that you do not know the best implementation.

      There are very few experts, even among those who claim to understand a technology.
      Joke: There is a special name given to the person who graduates bottom of their class in medical school: doctor.

      It's turtles all the way down.
      Know your limitations. Embrace your ignorance. Use that knowledge to extend your knowledge, whilst providing usable solutions.

      --
      "You have liberated me from thought."
    210. Re: Programming by Anonymous Coward · · Score: 0

      This is me. Graph theory and other discrete mathematics topics and even algebra are much more intuitive than calculus to me. I wouldn't say I'm bad, because I passed, but it was rough.

    211. Re: Programming by Anonymous Coward · · Score: 0

      Also, if you're going to be doing any sort of mathematical calculation using code, there's no way you're going to be capable of properly debugging the code if you don't understand the math.

      While I pretty much agree with your post, I have to disagree here. If you have a bright enough business user ("business user" in this case being financial risk management expert with a great statistics/calculus background) sitting next to you, you can implement things beyond your own ability.

      It's why I (someone who "stinks at continuous maths beyond geometry" (no algebra/trig/calc skills, but I like the discrete stuff and logic)) was able to build a framework to quadratically interpolate 2 curves from a set of input data, and find the line (more importantly the points where this line intersects the curves) with the minimal distance between them. The real minimum, not a local minimum... banks who get this right can avoid losing "free money" (money that should be yours to no longer lose, once you can do this math).

      I don't get how or why it works, but with clear specs, and someone sitting 5 feet away to go to with a "hey can I have you check this for a bit?", he was able to mostly go about his normal work, while having this stuff coded by someone who can do the framework/etc work much more quickly than himself. The commute from New Jersey to Sao Paulo was a bit rough, but being "tap on the shoulder" close to someone with the knowledge does make this workable...

    212. Re: Programming by ZeroPly · · Score: 1

      You seem to be conflating the subject material being programmed, with the programming per se. As an analogy, it's possible to be an excellent writer without knowing anything about relativity, but you would obviously have to understand relativity thoroughly to write a book about it.

      If you're programming wavelet analysis, of course you need to have advanced math skills. But for the overwhelming majority of programmers, math beyond 9th grade or so is simply not necessary. Those programming 3D graphics or physical simulations are exceptions.

      --
      Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    213. Re:Programming by Anonymous Coward · · Score: 0

      Web Developers are not programmers.

    214. Re: Programming by narcc · · Score: 1

      Understanding the equations and implementing them, and even understanding that integration is what you need are the parts that math helps you with

      The point is that you don't have to understand them to implement them. You actually need to know very little. Yes, it's helpful, but it's far from essential. That's the point. No one is arguing that you're better-off knowing nothing about math or physics, only that it's not that important for developers even when it superficially appears that that understanding is necessary.

      Now we're having a completely different discussion...

      How do you make characters move intuitively? By making them inhabit a world that follows physical laws similar to our own.

      If I remember correctly, in Super Mario you could move left and right while in the air. That is pretty obviously outside the physical laws of our universe. They did this to give the player more control over their jumps. It feels intuitive, even though it's completely different from the laws of the universe we inhabit.

      How do you make sure that a character follows a realistic, predictable, intuitive parabola through the air when they jump?

      By abandoning Newton and developing a system that works well for the game. Give it a try. Write a simple side-scroller that accurately reflects the physics of the natural world. You'll be amazed at how terrible it plays. I did a quick search, and found a number of discussions that seem to support this. I also found a few breakdowns that may interest you: Sonic Physics, Super Mario Galaxy Demystified, Mario Gravity, SMB Physics.

      That second link has a nice quote: "Obviously, real world physics have a place in today's games. However, they take a backseat to psychology when it comes to making real world gameplay"

      Perhaps we can put this issue to rest.

    215. Re:Programming by Actually,+I+do+RTFA · · Score: 1

      no one could tell me why I need to know about differential equations, imaginary numbers and integrals to program a computer.

      Other than signal/image/text processing, graphics, physics simulation, financial modelling, search optimization and ad/content tailoring, (and probably others) you're right.

      Programming in general doesn't require those skills. Programming interesting things does.

      --
      Your ad here. Ask me how!
    216. Re:Programming by NicknameUnavailable · · Score: 1

      Not to say "script kiddie" is a high ranking - but CSS and HTML don't even qualify for it.

    217. Re:Programming by Anonymous Coward · · Score: 0

      "doing" HTML = layout, not programming.

      Nice try, though.

    218. Re: Programming by guestapoo · · Score: 1
      Yes, somewhat I agree with you. And some interesting, too. At the higher level, student/researcher read books like references, not like undergraduate students (go through chapter-to-chapter). Also, students at this level (higher) are rather good at his/her stuff, so the typos, structure, or even style of writing may not affect much how they get the knowledge from books.

      In my opinion, this is where you can really see the personality of the author, since the book hasn't been gone over and "fluffed up" by a series of editors/reviewers/bureaucrats.

      The downside is that texts can start to follow the pattern of fiction books, in that one book may really be enjoyed by one person, and not at all by another. For example, I took my first serious Real Analysis class using H.L. Royden's "Real Analysis" book...I consider this one of the best written books I've had the pleasure of using in my studies...however, my friends that took the same class hated the book!

      That is, I remember when I read reviews of a graduate level book (if I remember correctly, a probability book), many reviewers complain that the author chose to use 'complicated' methods to describe much more simple problems, as they joke he tried to show off with his peers. May be they - the read could understand the stuff but they are not comfortable with reading it. PS: Thank for suggest the title, I will consider read it. ;)

    219. Re:Programming by Anonymous Coward · · Score: 0

      Programming -- I don't think that word means what she think it means.

      Or math. She doesn't seem to know what that is either.

    220. Re:Programming by Jane+Q.+Public · · Score: 1

      At some point you do have to trust somebody. But who?

      Should you trust the coder in the next cubicle over who blindly swallowed stories about the "security" of bcrypt, without any actual evidence?

      Or should you trust the government?

      Or should you trust the private-sector experts, like Schneier or Adelman?

      At some point you have to either study it in-depth yourself, or take someone's word for the ultimate security. But not JUST taking someone's word, and certainly just not coder X at some conference. You can get explanations of how open-source encryption works.

    221. Re:Programming by Jane+Q.+Public · · Score: 1

      See my example above regarding bcrypt vs PBKDF2.

      Both are open-source. Both are completely public. But PBKDF2 has been through a completely public security audit. Bcrypt has not.

      Someone trying to push public encryption standards that wouldn't pass audit won't get very far.

      But government has pushed encryption standards that not only weren't openly audited, but not even publicly available for study.

      Given a choice, which one would you trust? The guy who says "pick one of these", and let's you look at them and pick them up and feel them, or the guy who keeps them in a locked box and won't even show you to them first?

      I know my choice.

    222. Re: Programming by Anonymous Coward · · Score: 0

      You know who else equated cryptographers with complete idiots?

      Hitler.

    223. Re:Programming by Anonymous Coward · · Score: 0

      The ones who program are.

      I can tell you've never tried to build a non-trivial database-backed web application. I bet you'd fuck it up.

    224. Re: Programming by Anonymous Coward · · Score: 0

      How many people think that relational in relational databases has something to do with how tables "relate" to each other?

      Far too many don't have a background in discrete math to understand what a relation is. It is alarming how many people in the field, especially those that work with relational databases, don't have even this basic math background.

      Procedural programming is a mathematical model.

      OOP is a mathematical model. AOP is a mathematical model.

      Functional programming is a mathematical model.

      Logical programming is a mathematical model.

      Arrays, lists, trees, hashes, graphs are all mathematics.

      Neural networks, evolutionary programming, and gasp fuzzy logic are all mathematics.

      Everything in programming is mathematics. Saying that a person can be a programmer(a real one, not a copy/paste script kiddie) without a decent math foundation is like saying an actuary can do his job without a strong statistical background because of(ironically) actuarial software.

      If you can't see the mathematics in programming, you are not a programmer by any rational definition.

      The simple proof is that every program can be run on a Turing machine which is a mathematical model that was used to prove that a mathematical conjecture was not possible.

      If you don't have at least a basic understanding of what is in this book, you are not a professional programmer.

      Or if you are lazy and not too bright: http://www.amazon.com/Good-Mat...

    225. Re:Programming by Anonymous Coward · · Score: 0

      If it doesn't iterate, it's not programming.

    226. Re: Programming by Anonymous Coward · · Score: 0

      Fuck NIST? I'm just saying the good exists. Jane doesn't seem to realize there's more to NIST than Skipjack and Clipper Chip. NIST literally defines time and space for the scientific community and for all of humanity.

    227. Re: Programming by redlemming · · Score: 1

      Calculus and differential equations are need for doing simulations of physical processes

      This is a bit outside my experience, as all I've done there is a 3D physics engine for a game. Even then, I suspect all you need to know are the equations and a few well-understood approaches to integration, actually understanding the math (or the physics) doesn't seem necessary. (Though I'll admit that it is helpful.)

      I suspect that what the original poster is referring to is a bit outside your experience. A lot of simulation involves going far beyond cookie-cutter recipes, and you might have to do quite a bit of work to even get to the point where you can apply the recipe. As the saying goes, if all you have is a hammer (integration would be the hammer) than every problem looks like a nail...

      In general, you can hack together simple models without really understanding math, and for many things that will work well, but you have to expect some serious bugs lurking in the underbrush. Numbers on computers can not necessarily be represented exactly (particularly for scientific or engineering simulation), and this can lead to compounding errors which will sooner or later torpedo your program (the integration will give the wrong answer, and your simulation goes wildly astray).

      To understand and address this issue, you don't necessarily need to be able to read and understand a text on "Numerical Analysis" (which would require being able to read and do proofs, there's no other way to read a true math text), but you at least need to be able to read something like Ronald Mak's book on Numerical Computing (which is a great easy introduction to the topic, using programs to illustrate math ideas in place of proofs).

      Simulation is hard in general, and tends to dive into math pretty quickly.

      You don't necessarily, for example, need a Kalman filter to predict movement, but it sure comes in handy for some applications. If you don't understand how the filter works, you won't be able to assess it's strengths and weaknesses for particular applications. Eli Brookner's book goes into the details and many options, and the math isn't too bad, but it's definitely present.

      This is part of the topic known as "digital signal processing", which is a major engineering specialization in its own right and just loaded with math. A lot of modeling relies on it: many real systems have feedback and understanding some DSP is fundamental to simulating many of those systems (you might have to dip into control theory as well). Richard G. Lyons book is a good start for getting your feet wet on the DSP: he makes the math about as easy as anybody can (and the first edition is probably still freely available from his web site).

      Yet another issue arises from the fact that the real world is non-linear. To model this, you need to understand first what that means, and second how and when to linearize. Only then can you get to the point where an integration can (might!) be appropriate. For an example of this is done for electric circuits, Lawrence Pillage's book is a classic. There are direct techniques for doing non-linear modeling as well (as Thomas R. Turlington's book discusses) but the math gets very dense and these techniques have some major limitations.

      In more general physical simulation situations, you tend to get into differential equations or even partial differential equations. Often the PDEs have no known exact solution technique (you can't come up with an equation that gives the solution, or what is called a "closed form", which means you can't apply your cookie cutter integration), so you'll have to resort to one of the many techniques that mathematicians and scientists have developed to work around that issue.

      Even knowing which technique to pick (in terms of what is likely to succeed for your problem) is likely to involve quite a bit of math, let alone how to successfully implement it on a computer. There are often many possible models

    228. Re:Programming by Anonymous Coward · · Score: 0

      Latex?

    229. Re: Programming by narcc · · Score: 1

      Well, that's my fault. I wasn't terribly clear.

      Put simply, I'm saying that while a strong maths background is useful, it's not essential to be a competent developer, and that there are many instances where a strong math background appears to be essential, but ultimately is not. That second bit frequently misleads developers in to thinking that they're far more numerically literate than they actually are.

      No one is disputing that a strong maths background is essential for some domains. That's perfectly obvious. The argument TFA makes is that, for the most part, developers need very little beyond basic arithmetic.

      I agree with the author. Though she didn't make her case very well, I can't dispute the conclusion. I also understand that it makes some people uncomfortable, as they believe themselves to have a strong mathematics background simply because they're competent developers. I suspect that this false sense of numeracy that programming offers causes a good bit of harm.

    230. Re: Programming by Anonymous Coward · · Score: 0

      Are you under the impression that Perl is a math syntax? Geez, you are clueless.
      Just Google it if you don't know what it is, instead of asking inane questions ("Can you even have multiple files in a project").

    231. Re:Programming by solidraven · · Score: 1

      Math comes in when the going gets tough. For example, you have a big pile of data and you need to extract data from it and do operations on that part and write it back. I had this issue a few months ago. Initial runtime was more than 20 minutes; and that's when you pull out the data processing sledge hammer, Fortran. But even then you need to know what you're doing. The end result is 0.4 seconds. Required a lot of mathematical understanding of what I was trying to achieve, and a good background in system and CPU architecture to find bottlenecks. When is it safe to split up a step in atomic operations, which operations should I avoid, how much accuracy am I willing to sacrifice, ... ? All these things require a good understanding of math. Additionally is your algorithm stable, or will you get oscillations after the filter? These things all require a good grasp of math and systems theory. Yet these idiots claim none of it is necessary...

    232. Re:Programming by Sique · · Score: 1
      Actually, I beg to differ. When the situation pops up that you need that special knowledge, you can always ask someone for help, or you can (as the article describes) just google for a solution. No person since the Early Modern Times and the last polymaths is able to even know everything about what he is working with on a daily basis. No physicists knows all the engineering details of the instruments he is using to perform his experiments, and no engineer knows all about the experiments the physicist is working on with the instruments the engineer is working on. Not even the processor designer knows everything about the design of the south bridge that will connect to his CPU. He might be able to actually get that knowledge, but in most cases it will be more productive that he sits with the south bridge design team on the specs and later works with them on the bugs that appear in the simulator and the first silicon.

      And that's the basic message of the article: Start with what you got, not even math skills are necessary, and whenever you hit a wall, you can always ask someone or teach yourself what you are missing. And no, it's not degrading your honor as a programmer when you google how to turn red the background of a web page.

      --
      .sig: Sique *sigh*
    233. Re: Programming by Anonymous Coward · · Score: 0

      Okay, I am a cryptographer now and I do roll my own. However, I rolled my own when I was involved with GPS/INS navigation. I rolled my own when I wrote some well regarded scientific calculator firmware. In fact I've been rolling my own for a long time with a lot of success. A lot of canned libraries are utter cruft and doing better than them is trivial. Of course some are excellent and besting them is very hard. The skill lies in deciding which is which.

    234. Re:Programming by Anonymous Coward · · Score: 0

      Not sure I'd actually trust NIST these days, but they are along the right track.

      There are plenty of other cryptographic expects I do have some faith in, but even them I'd take with a grain of salt and wait for a general consensus.

    235. Re: Programming by Anonymous Coward · · Score: 0

      Situation: There are two crypto libraries that you consider using in your application. One of them uses 128-bit keys, another uses 512-bit keys.

      Which one would you pick?

      Okay, since you don't know jack shit about crypto, you do the right thing and delegate it to someone who knows. Now, you have two people who seem to know something about the subject and one of them advocates the former and another the latter. Hello, square one.

      Do you have a solution to this problem that doesn't involve learning at least the fucking basics of the subject?

    236. Re:Programming by Anonymous Coward · · Score: 0

      Understanding the basic ideas of an algorithm, the merits and drawbacks, the use case scenarios and knowing the vendor of the library are quite different from being able to do the math yourself.

    237. Re: Programming by Anonymous Coward · · Score: 0

      First, you should learn to recognize mathematics. It's more than just operations involving the real number line and its extensions. These mystical things called algorithms are very much mathematics and they are not necessarily very complicated. Even business logic is maths. Code refactoring is governed by similar rules as rewriting equations and without those skills your business logic will suck.

    238. Re:Programming by Anonymous Coward · · Score: 0

      No one also is claiming that you need a DEEP math skill set. But you need to be able to learn the basics. If learnign how to rotate a vector is too hard for you, you are never going to be a good developer.

    239. Re: Programming by Shortguy881 · · Score: 1

      That explains the ISS toilet failures. You simplified that exponential equation to a straight line.

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
    240. Re: Programming by werepants · · Score: 1

      My contention is not that game physics are 100% real. I am rebutting your point that knowledge about physics is unnecessary for developing a physics engine. You said at one point: "When someone jumps, they go up for a bit and then come down. You slide on slippery things." How do you implement that, non-ambiguously, in an intuitive way?

      You have to have something approximating gravity to make things "go up for a bit and then go down". You have to implement friction to make characters "slide on slippery things". Can it be done without physics knowledge? Sure, anything can be accomplished eventually through brute force and pure persistence, but the programmer with math and physics knowledge is going to do it better and faster, and likely more elegant, because it's hard to find something more elegant than the laws of nature.

      As to the changing velocity in mid-air: you still have a physics model going on there, with acceleration applied based on player input. The only real disconnect with reality is that Mario's character design doesn't have a credible mechanism for propelling himself when he isn't in contact with the ground, but there's nothing non-physical about applying an acceleration midair. That midair acceleration still follows a realistic physics model even if the character designs aren't realistic.

    241. Re:Programming by werepants · · Score: 1

      Start with what you got, not even math skills are necessary, and whenever you hit a wall, you can always ask someone or teach yourself what you are missing.

      This, I agree with. However, I don't agree that the article was clear on that point. Based on the examples given and the general tone, it seemed to me dismissive of learning in math. In my experience, it is a hell of a lot easier to teach yourself programming than it is to teach yourself math - if you stumble across a problem that requires it in the course of your coding job, a background in math or science will be a huge asset.

      Should interested people be encouraged to learn programming regardless of their background? Yes. Should people devalue math education? No.

    242. Re:Programming by slavdude · · Score: 1

      Point taken. At this point, I wouldn't trust either of them.

    243. Re: Programming by narcc · · Score: 1

      How do you implement that, non-ambiguously, in an intuitive way?

      The second link has a bit about that. As it turns out, you really don't want real-world physics. In the case of SMB, much simpler models (see the fourth link), using nothing more than simple arithmetic (in line with TFA), are not only effective, but much simpler to implement on old hardware like the 6502. The iterative process of adding effects and tweaking values until the controls "feel" right. (I can't find the interview i saw earlier, but this should give you a sense of that iterative process, from the developers themselves.)

      Sure, anything can be accomplished eventually through brute force and pure persistence, but the programmer with math and physics knowledge is going to do it better and faster

      No one is disputing that such knowledge is useful. The question here is whether it's essential.

      For games, it's pretty obvious that it's unnecessary, as you admit here. Though I'd like to add, from some of the discussions I ran across, attempting to model real-world physics in games can actually introduce problems that simpler approaches avoid. Again, see the second link. There were a few discussions I ran across yesterday with a quick search that go in to this as well. I can dig them up if you're interested though it shouldn't take you more than a few minutes to find them on your own.

      and likely more elegant, because it's hard to find something more elegant than the laws of nature.

      I keep going back to that second link, but that answers this pretty well (the second page, iirc). Player physics in games are pretty far divorced from reality -- and for good reason. They simply don't work very well for games. Consequently, you'll find no end to the articles discussing the design of player physics. Common to all of them, as mentioned earlier, is the need to iteratively adjust various values until things "feel" right.

      Again, this is a situation where a strong maths background seems essential, but really isn't. Basic arithmetic, and a good aesthetic sense, is sufficient.

    244. Re: Programming by werepants · · Score: 1

      That's the thing though: you seem to think that these models are not realistic physics. They ARE. The fact that the math is simple does not mean that it is the obvious solution to the novice, or that it is unrealistic. I don't think that a downward constant acceleration is going to be obvious at all as a jump mechanic to someone setting out to create their own platformer - acceleration isn't an intuitive idea at all, consider the fact that humanity for thousands of years had it completely wrong.

      You seem to believe that simple implementations are obvious or easy. I think the opposite is true: to get a movement model that is both simple and intuitive, the only real way to do it is to follow the simplicity of nature. I guarantee you that inspired these original models.

      Saying you can program without math and physics is like saying you can build a house without power tools. Completely factually accurate, but completely neglects the fact that power tools allow you to do more complex work, in far less time, with much better results.

    245. Re: Programming by narcc · · Score: 1

      You're arguing against a position I'm clearly not advocating. I'm not sure what you hope to accomplish?

    246. Re: Programming by Carewolf · · Score: 1

      you are taught math or CS on under-graduate levels, which is what we are talking about

      Actually it wasn't clear to me that we were talking about that. TFA (actually pretty well written though from the comments almost no one read it) was very much not about being taught maths or CS at university.

      Under-graduate classes are also taught at universities, typically before post-graduate classes.

    247. Re: Programming by werepants · · Score: 1

      Here's your original contention:

      Even then, I suspect all you need to know are the equations and a few well-understood approaches to integration, actually understanding the math (or the physics) doesn't seem necessary.

      So you don't need to understand math to program, you just need to know about integration and some equations. The statement is its own contradiction. That's why I've been arguing against it.

    248. Re: Programming by narcc · · Score: 1

      You're confused.

    249. Re: Programming by Anonymous Coward · · Score: 0

      Somebody is butt hurt about being bad at math and thus a script kiddie.

    250. Re: Programming by Anonymous Coward · · Score: 0

      Logic == math

      If you can't understand that ALL programming is math, you are a failure.

    251. Re: Programming by Hognoxious · · Score: 1

      As an expert on logic you ought to know what proof by assertion is.

      And you == a fat granny-shagging Alaskan cunt, because I say so, ner!

      Now answer the question, skid.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    252. Re: Programming by Anonymous Coward · · Score: 0

      All programming is math.

      There is no gap between them.

      Your problem is that you are confusing arithmetic with mathematics.

  2. Barbie? by Anonymous Coward · · Score: 1

    "...In most cases you can see that the hard maths (the physical and geometry) is either done by a computer or has been done by someone else..."

  3. Yes, but you SHOULD get good at math by Theovon · · Score: 3, Informative

    Ok, so you can do a lot of coding without knowing math. So what? If you want to do anything really sophisticated, like design games or do high performance computing or any non-superficial use of a computer, you have to know math.

    1. Re:Yes, but you SHOULD get good at math by Kiaser+Zohsay · · Score: 3, Interesting

      Ok, so you can do a lot of coding without knowing math.

      But being able to understand code and coding requires a lot of the same skills that are required to understand math. Ergo, if you can get good at math, there is a high likelihood that you can also get good at programming. And vice versa. You can do long division without knowing a lot of math, but that doesn't make you a mathematician.

      --
      I am not your blowing wind, I am the lightning.
    2. Re:Yes, but you SHOULD get good at math by fustakrakich · · Score: 2

      Who needs fucking math when you can Google?

      Well, at least there's youtube to pull up some Allman Brothers, then fire up the fatty...

      I'm beginning to thank my deity that I'm old...

      --
      “He’s not deformed, he’s just drunk!”
    3. Re:Yes, but you SHOULD get good at math by geoskd · · Score: 2, Interesting

      Who needs fucking math when you can Google?

      There are lots of answers that a professional (read as highly paid) programmer might need math. If you want to make the big bucks, you want to work at google, or do embedded programming, you're going to use advanced math once in a while. A great example is a problem I recently faced. I needed a heating device that consumed 2kwatts average power, and to make it as cheaply as possible, it needed to do so directly from 110V AC. The heater core had a very low resistance, so it needed to be PWM driven, with a sensor to turn it on and off based on the instantaneous line voltage. When the mains were below a certain voltage, it would turn on the current, and when it was above that amount, it would turn off. So now the problem is, for 2kW average power, what is the approximate cut off voltage. This needs to be within about 5 volts plus or minus so that we can pack all of our available sensor range into that small range to get very accurate outputs.

      I could spend a week using trial and error, and blow up several hundred dollars worth of parts getting it wrong, or I could spend 2 hours doing the calculus to get the actual answer (I'm pretty rusty at calc, and came up with an absurd answer on my first attempt). My boss hired me, and I make a lot of money because I could handle problems of this calibre. If all you want is a 35k / year job then not knowing math is fine, but if you want a career with a future, then the math is critical. Math doesn't make products work, it makes them cheaper to build and cheaper to design, and as a programmer, your value to the company is a function of how big a difference your work product makes to the bottom line. The more money the company has at the end of the day because of you, the more money they will pay you to be there.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    4. Re:Yes, but you SHOULD get good at math by Anonymous Coward · · Score: 0

      Um I think your case is about 0.00000000001% of the type of problem that programmers face. You don't need to know math to program.

    5. Re:Yes, but you SHOULD get good at math by Anonymous Coward · · Score: 0

      His/her point was that you need math to make the big bucks.

    6. Re: Yes, but you SHOULD get good at math by BarbaraHudson · · Score: 1

      Enjoy your next integer overflow.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    7. Re:Yes, but you SHOULD get good at math by Anonymous Coward · · Score: 0

      I totally disagree with the tone of the article ... the title should have been "You Don't Have To Be Good At Math To Learn To Code BADLY".

      But I feel that your "But being able to understand code and coding requires a lot of the same skills that are required to understand math" is a bit of an unproven assertion. There may be people who get significant success in real programming because they are good at decomposing tasks and classifying responsibilities, good at naming things, and good at getting to the heart of "what needs to be done".

      There might be a difference between being good at maths and knowing any maths. My brother is a good intuitive mechanic, but hated maths all his life. But when we were chatting about calculus a while back, he got it immediately, once it was presented in familar terms.

    8. Re:Yes, but you SHOULD get good at math by Anonymous Coward · · Score: 0

      I decided to get into programming years ago, even though I was never good at math, because I realized I could have the computer do the math! I just needed to find the right formula and make sure it was programmed in correctly.

    9. Re:Yes, but you SHOULD get good at math by Kiaser+Zohsay · · Score: 1

      There may be people who get significant success in real programming because they are good at decomposing tasks and classifying responsibilities, good at naming things, and good at getting to the heart of "what needs to be done".

      Exactly my point. Those same skills can be applied to learning math, or for that matter auto mechanics. Your brother got the concepts of calculus once they were broken down (abstracted) into terms he was familiar with. He could have learned calculus, but he just never had an effective teacher.

      --
      I am not your blowing wind, I am the lightning.
    10. Re:Yes, but you SHOULD get good at math by Anonymous Coward · · Score: 0

      As a Project Manager, why would I need math at google to make the big bucks?

  4. Take it from me by John+Allsup · · Score: 4, Insightful

    As an obsessive pure mathematician who is obsessed with twisted forms of coding minimalism to stave off boredom and so on, and who did his PhD in arithmetic.

    1. You learn to count from 1 to 100 so well it is effortless.
    2. You do so in a way that is fun (e.g. snakes and ladders).
    3. You learn to code.
    4. When your coding problems require mathematics, you look it up in a book.

    Crucially, if you do it this way, you will have motivation to learn the hard maths. Really, motivation does seriously make a difference here.

    --
    John_Chalisque
    1. Re:Take it from me by TheDarkMaster · · Score: 1

      I also prefer to look for in a book when I have to deal with programming involving unusual mathematics. Usually you do not need to go through the full course (and brain-melting) when all you need is to understand a particular case for a particular use you are programming.

      --
      Religion: The greatest weapon of mass destruction of all time
    2. Re:Take it from me by Darinbob · · Score: 1

      But it can be extremely difficult to understand some piece of mathematics if you skipped all your college level maths or paid your roommate to take your tests. At the very least get a working comprehension of calculus, a working comprehension of boolean logic, a working comprehension of high school algebra, etc. However it is ok if you forget it all a year later! The important thing is that you worked hard to learn this once, you exercised your brain and molded it into a shape that was capable of learning abstract concepts, and are able to use that information later in life when presented with new ideas.

    3. Re:Take it from me by TheDarkMaster · · Score: 1

      Uh... I think I was not clear enough ... I know all that you described, I went through all of these topics. What bothers me is that I have spent a good time memorizing something that I ended up using to nothing, and if I ever needed it I could just get a book about the topic (remember, I know the basics). I have spent too much time studying advanced mathematics when I could have given more attention to logic and more pratical day-to-day topics.

      --
      Religion: The greatest weapon of mass destruction of all time
    4. Re:Take it from me by Ol+Olsoc · · Score: 1

      I also prefer to look for in a book when I have to deal with programming involving unusual mathematics. Usually you do not need to go through the full course (and brain-melting) when all you need is to understand a particular case for a particular use you are programming.

      Yes, one of the awesome fact of this time is that we have amazing access to knowledge today. However, I do not think it makes understanding of the basic concepts irrelevant. you have to know where to look to find what you need to look at.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    5. Re:Take it from me by thinkwaitfast · · Score: 1
      I have a bs in applied math and a bsee, yet have so rarely come across a real math problem in my career despite seeking out jobs where I could put my math training to use. Usually when I did come across a real math problem like with scale numbers, it was trivial and early high school level. This was a big lament from many of my college class mates, so it's not just me.

      One job where I had to do some curve fitting, I was lazy and looked up the answer in my hs math book (this was significant because my manager wanted to patent my process until I brought in the book to show him it had been around for a few hundred years). I did go back later and verify that everything was kosher and not going to overflow some intermediate (scaled) value, but really was unnecessary (and wanted to extend my contract).

    6. Re:Take it from me by Anonymous Coward · · Score: 0

      The important part is knowing there is a book.
      You know how much of a pain it is to find the right stuff if you "only" can think of the term "solving an over-defined linear system" and forgot what you want is called "least-squares solver"?
      If you'd never learned it, would you even think of such a thing existing or would you instead use a crappy, non-optimal, buggy approximation?
      Would you remember that a 3x3 matrix can be inverted fairly trivially or would you just use a full linear solver for it (if it's a library you might get lucky though and they implemented that special case in a good way, possibly even better than the trivial approach)?
      Ok, you don't need these things all that often, but "find the optimal solution to a question" is not that rare, and the answer does tend to either involve brute-force, ad-hoc approximation or mathematics.

  5. No, wrong by Anonymous Coward · · Score: 0

    You do have to learn math, almost all of programming invoices math in some way. Yeah I don't have to understand the inner workings of complex function optimizers to know if I found a minimum when I throw my data into a function, but when stuff breaks down and it only returns a good result I do

    1. Re:No, wrong by Darinbob · · Score: 1

      A problem that I see *often* is in not knowing how to do math on a computer. People have a working model that numbers have infinite range and floating point numbers have infinite precision. Thus you see a lot of "(giantnumber * giantnumber) / tinynumber" and the get an overflow; or worse, it works for their test cases and their customers are the ones to get overflows and bizarre results.

      I knew someone who stored floating point numbers as text (a waste of space), because otherwise the results seemed to be inaccurate when stored as binary. But so many common decimal numbers can not be represented in binary floating point with a fixed number of bits, like "0.1". Occasionally there would still be problems and the person would come to me and ask why two numbers did not compare as equal even though they looked the same when printed out.

    2. Re:No, wrong by FranTaylor · · Score: 1

      A problem that I see *often* is in not knowing how to do math on a computer. People have a working model that numbers have infinite range and floating point numbers have infinite precision. Thus you see a lot of "(giantnumber * giantnumber) / tinynumber" and the get an overflow; or worse, it works for their test cases and their customers are the ones to get overflows and bizarre results.

      I knew someone who stored floating point numbers as text (a waste of space), because otherwise the results seemed to be inaccurate when stored as binary. But so many common decimal numbers can not be represented in binary floating point with a fixed number of bits, like "0.1". Occasionally there would still be problems and the person would come to me and ask why two numbers did not compare as equal even though they looked the same when printed out.

      You don't even need a floating point unit to confound most programmers.

      Overflow of simple integer arithmetic is the #1 source of bugs.

      CPU specific behavior, outside of the realm of the C specification, makes the bugs even bigger and badder.

  6. You know there's a problem... by Anonymous Coward · · Score: 4, Insightful

    ...when you need to google the hex representation of 'red'. *much* better to understand the encoding, and it certainly isn't hard or requires tricky math. it's literally RRGGBB

    1. Re:You know there's a problem... by Anonymous Coward · · Score: 1

      Another problem I noticed is that CSS supports color names, so she could literally done

      style="color:Red"

      or whatever needed to be specified as red and if she doesn't know that, there are bigger problems.

    2. Re:You know there's a problem... by lkcl · · Score: 0, Troll

      ...when you need to google the hex representation of 'red'. *much* better to understand the encoding, and it certainly isn't hard or requires tricky math. it's literally RRGGBB

      you are completely and utterly missing the point, by a long, long margin, and have made a severe judgement error. the assumption that you have made is to correlate "understanding" with "successful results".

      believe it or not, the two are *not* causally linked. for a successful counter-example, you need only look at genetic algorithms and at evolution itself.

      did you know that human DNA contains a representation of micro-code, as well as a factory which can execute assembly-level-like "instructions"? i'm not talking about CGAT, i'm talking about a level above that. to ask how on earth did such a thing "evolve" is entirely missing the point. it did, it has, it works, and who cares? it's clearly working, otherwise we would not be here - on this site - to be able to say "what a complete load of tosh i am writing"!

      what this person has done is to use their creative intelligence as well as something called "inference". they've *inferred* that if enough google queries of "what is hex HTML for red" come up with a particular number and it's always the same number in each result, then surprise-surprise it's pretty much 100% likely that that's the correct answer.

      *later on* they might go "hmmm, that's interesting, when i search for "red" it comes up with FFnnnn, when i search for "green" it comes up with nnFFnn" and then they might actually gain the understanding that you INCORRECTLY believe is NECESSARY to achieve successful results.

      but please for goodness sake don't make the mistake of assuming that understanding is *required* to achieve successful results: it most certainly is not.

    3. Re: You know there's a problem... by BarbaraHudson · · Score: 1

      Maybe because things only work until they don't, and if you don't understand what's going on behind the scenes, you might not even recognize an error, never mind being able to fix it.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    4. Re:You know there's a problem... by Ol+Olsoc · · Score: 1

      ...when you need to google the hex representation of 'red'. *much* better to understand the encoding, and it certainly isn't hard or requires tricky math. it's literally RRGGBB

      you are completely and utterly missing the point, by a long, long margin, and have made a severe judgement error. the assumption that you have made is to correlate "understanding" with "successful results".

      And when people want to go to a webpage that is red and nothing more, your thesis is completely valid.

      Some folks however, want ot see more on a webpage than just......

      red.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    5. Re:You know there's a problem... by Anonymous Coward · · Score: 0

      Part of being a good developer is being *efficient*, and not taking 3+ billion years to produce a result!

      Understanding is not a necessary pre-req for successful results, in a strict sense. But it is most certainly required, above a trivial baseline, for being consistently efficient and productive. If I interviewed a web developer and found they had to Google for every basic color code, I'd be pretty worried about them working on my time. The fact that they hadn't Googled "how do CSS colors work?" in their own time would worry me too!

      I think if you re-read the previous post, you'll see that they said "*much* better to understand...", not "necessary to understand", so I think you may have just been shouting at a straw man. Nobody said "it is impossible for anything to succeed without understanding", which seems to be the tone of your post. But I would contend that constructions produced by people who understand what they are doing will be of consistently higher quality and produced more efficiently than otherwise. Is this controversial?

    6. Re:You know there's a problem... by Anonymous Coward · · Score: 0

      Better how? For her problem domain, she just needs to stick the hex value into a box and click a button. Why does she need to understand the details of hex encoding to do that? Hell most web design systems have color pickers and wheels to basically automate this anyway. Of course, you're not "coding", you're building things. That seems to be the difference the author missed. I'm a troubleshooter, builder, sysadmin, and coder. The coding skills help a fair amount with sysadmin work, a hell of a lot with troubleshooting, but often only a little with building. I sometimes churn out amazing websites people love without writing or even editing a single line of code, what with the WP templates we have nowadays. But God forbid the author ever find herself in a pickle where the theme doesn't do what she wants, because she won't be able to code her way out of it very easily, and will end up outsourcing it - or worse, feeling like she needs to swap out the entire theme for a "better" one because of that one thing, when that really wasn't necessary.

  7. Learning to program by Googling + Trial & Erro by ahbond · · Score: 5, Insightful

    This is why so much poor software exists in the world. I can only imagine what nightmare code is being generated by such efforts. Yes, anyone can code, just as anyone can build a house. Whether or not the house collapses immediately, whether it has any real value, or by any other measure still depends on the skill of the builder, just as in software. Garbage in -> Garbage out, applies to the code as well as the data. -AB

  8. Interesting by Moridineas · · Score: 5, Interesting

    I spoke to a computer science professor about 2–3 years ago who said he had noticed a curious thing over the last few years. The students in his classes didn't seem interested--or even willing to--in solving programming problems. They just expected to be able to come in, download this framework and that framework, find a solution to a tricky problem on Stackoverflow (or wherever), and maybe write some really rudimentary code to just glue the bits together. Many of the "old " assignments--implement three different sorting algorithms and compare their properties just seemed totally archaic to his students--why would you ever want to actually write a sorting algorithm? After all, somebody out there has already done it better, and that's nothing you would ever need to do as real programmer.

    The professor was somewhat alarmed by this, but not totally in disaster mode, because it was probably true that MOST of his students would never need to write a sorting algorithm. Most of his students would never need to implement an algorithm that draws a circle, etc. But still--this was computer science--not community college.

    The writer here seems to fall squarely into this class of learner. Honestly, the first thing this article made me think of was that awful Barbie learns programming book where Barbie gets some other people to write the code for a program she designed, thereby becoming a real computer programmer. Maybe the book wasn't that far off the mark after all...

    1. Re:Interesting by turkeydance · · Score: 2

      exactly. here comes the car analogy....why learn to drive a manual shift car, since an automatic transmission is "out there" and "done it better"?

    2. Re:Interesting by Anonymous Coward · · Score: 0

      Computer Science Profs should not be teaching programming, it's a different discipline.
      Computer Science is about designing and build computers, not software that runs on them.

    3. Re:Interesting by trout007 · · Score: 1

      We have the same thing in engineering. You can design mechanical or electrical systems using McMaster and Digikey and all off the shelf components just hooking them together. I consider it design not engineering, but it can be a cheap and fast way to get a job done. But it won't be optimal. Engineering is required to build custom parts and boards and prove it will work.

      --
      I love Jesus, except for his foreign policy.
    4. Re:Interesting by Anonymous Coward · · Score: 1

      Computer Science is about designing and build computers, not software that runs on them.

      Wrong. Computer science is the "science of computation." What you're thinking of is called "computer engineering."

      "Computer science is to computers what astronomy is to telescopes."

    5. Re:Interesting by Anonymous Coward · · Score: 0

      I dont find Computer Sceince and Community College mutually exclusive. I went to CC for Associates and transferred to 4 year after. In New Jersey there is a law that mandates 4 year school must take ALL your credits if you attained an Associates, so it makes perfect sense. Regardless, I found myself a lot more competent when it came to discrete math (especially proof by induction) than lot of the students who were in the 4 year school since Freshman year.

    6. Re:Interesting by Anonymous Coward · · Score: 1

      I totally agree. So do U.S. buyers: in the U.S. less than 10% of new cars offer manual transmissions. Web programming has turned into the same thing, which is why web development is all about piling a bunch of JS into your page instead of actually programming something that doesn't weigh 300k per page and suck the life out of your browser.

    7. Re:Interesting by Ichijo · · Score: 1

      Is there no difference between a programmer and a computer scientist?

      --
      Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
    8. Re:Interesting by jklovanc · · Score: 1

      The "program three sorting algorithms" is not just about the task at hand. It is designed to do the following;
      1. Show that more than one method can have the same outcome.
      2. Show the value of prototyping.
      3. Show the value of testing and comparisons.
      3. Show the value of optimization.
      The sort is uses because it is a well known problem and can be implemented by beginner programmers in a reasonable amount of time.
      The problem is that many teachers do not tell students why they are doing things. Programming assignments become merely hoops to jump through.

    9. Re:Interesting by mtippett · · Score: 1

      Is there a difference between a programmer, a computer scientist and a software engineer?

    10. Re:Interesting by Anonymous Coward · · Score: 0

      But here comes the hole in the car analogy:

      Automatic transmissions are actually more efficient than manual ones (yes, even you, Mr. I'm-A-Better-Driver-Than-A-Machine-Purpose-Built-For-The-Task-With-Reflexes-And-Awareness-I-Can't-Come-Close-To-Matching).

      Meanwhile, filling a website to the brim with JS libraries is a good way to bring it to a screeching halt. Also, NoScript makes your site a worthless wreck, and I don't trust your code (or, more accurately, someone else's code that you found and hodge-podged into your shitty site). This goes out to, well, pretty much everyone that makes websites anymore.

      And for the record, I'm a software developer. I design and build medium-scale business software that is in use by thousands of people across multiple platforms. It's not "sexy" software, but it sure as hell isn't poorly performing crap, either. I don't shun frameworks. But I also don't superglue them together like they're some kind of cure-all.

    11. Re:Interesting by ZecretZquirrel · · Score: 1

      You don't have to write a production-quality sorter for a CS class, but you ought to learn and understand the algorithms, and having to implement them is a good way of doing that.

      I've never written a compiler professionally, but what I learned by writing one for a compiler design class has had a long-term benefit. Besides taking the mystery out of programming itself, it made it easier to learn new languages, and to write some domain-specific ones of my own.

    12. Re:Interesting by Moridineas · · Score: 1

      I didn't mean the community college thing to be derogatory at all--from what I've seen of computer science classes at community colleges, they do tend to have more of a practical or programming focus than the college programs I'm familiar with. Experiences may vary!

    13. Re:Interesting by Anonymous Coward · · Score: 0

      It should be the other way 'round: Computer Engineering and Software Science.

    14. Re:Interesting by Anonymous Coward · · Score: 0

      Yes there is a difference, but mundanes will use all three interchangeably (along with developer and system administrator).

    15. Re: Interesting by Anonymous Coward · · Score: 0

      Is there a difference between a programmer, a computer scientist, software engineer and a computer engineer?

    16. Re:Interesting by FranTaylor · · Score: 1

      Automatic transmissions are actually more efficient than manual ones

      car analogies are less effective than no argument at all

    17. Re:Interesting by FranTaylor · · Score: 1

      You don't have to write a production-quality sorter for a CS class, but you ought to learn and understand the algorithms, and having to implement them is a good way of doing that.

      I had a job interview once where I was given a piece of chalk and told to write a sort algorithm on the blackboard. I pointed to the interviewer's copy of Knuth on his bookshelf and said that it would save lots of time and effort to just look it up instead. I got the job.

    18. Re:Interesting by Anonymous Coward · · Score: 1

      You don't need much if any math to do your job either, do you?

    19. Re:Interesting by jafac · · Score: 1

      In some professional settings, if you try to re-invent the wheel (ie. "draw a circle"), rather than use the canned library from a framework, you won't just be criticized, you will be dismissed. Ugly fact, but still a fact. It's more about rote memorization of .net namespaces than problem-solving.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    20. Re:Interesting by Harlequin80 · · Score: 1

      How do you figure that an auto is more efficient than a manual? Compared to a concentrating manual driver the automatic transmission will often be in too tall a gear for exiting a corner quickly. It's why they often downshift when you put your foot down. This isn't a failing in their system but a reflection of the fact that automatics have to be reactive where as a manual operator can plan and they are designed to be best at average normal driving.

      Automatics transmissions are also heavier than manuals meaning higher fuel costs and they have a more limited range of engine braking available compared to a manual meaning higher brake wear. In addition to this there is higher power loss in an auto transmission than a manual.

      The main advantage that auto has over manual, outside of driving type, is that they tend to last longer than a manual.

    21. Re:Interesting by Anonymous Coward · · Score: 0

      How do you figure that an auto is more efficient than a manual? Compared to a concentrating manual driver the automatic transmission will often be in too tall a gear for exiting a corner quickly. It's why they often downshift when you put your foot down. This isn't a failing in their system but a reflection of the fact that automatics have to be reactive where as a manual operator can plan and they are designed to be best at average normal driving.

      Automatics transmissions are also heavier than manuals meaning higher fuel costs and they have a more limited range of engine braking available compared to a manual meaning higher brake wear. In addition to this there is higher power loss in an auto transmission than a manual.

      The main advantage that auto has over manual, outside of driving type, is that they tend to last longer than a manual.

      The difference in mileage is pretty minimal these days, a stick-shift version might get 1-2 MPG better on average: big damn whoop. Also plenty of automatics these days with an option (like my shift paddles) to drop gears before the corner when I desire to get sporty but most of the time it's commuting and I just don't feel like bothering with the gears. Anyhow, screw clutches, hate dealing with them and don't care if the computer does that for me.

    22. Re:Interesting by Darinbob · · Score: 1

      Most of the students would never need to write a sorting algorithm. However I think ALL of his students should know how to compare sorting algorithms and understand all of the theory behind it. If what the students really want is a list of library functions to call, they can go to any stupid trade school for this. However if they are paying for an education then they should be prepared to be educated.

      Now there's nothing wrong with being the entry level programmer for life. If you look at an auto company, a few people design the autos while lots and lots of people stand on the assembly line and repeat the same action a thousand times a day. With engineering, some people are technicians and some people are engineers or scientists.

      So it's up to the students. Do they want to set an upper limit for themselves that they will hit very quickly, or do they want to reach for the sky?

    23. Re:Interesting by Darinbob · · Score: 1

      Sadly, computer hardware engineers are just as sloppy much of the time. They can use ad-hoc designs, fudging or guessing on the numbers, utter lack of documenation, and just plain boneheaded errors that make it to the customer before being found. Even in some other areas considered a bastion of proper engineering things are breaking down. Consider the growing numbers of massive cost overruns with large civil engineering projects.

      The goal of fully interchangeable and reusable parts that is the holy grail of software engineering doesn't really exist in the other engineering areas, or at least the scale is different (a resuable component is the 32 bit word, whereas the software engineers seem to want to reuse something equivalent to an entire bridge).

      Software engineering isn't about software or engineering, it's completely about management.

    24. Re:Interesting by meta-monkey · · Score: 2

      "Show me wax the floor! Show me paint the fence! Show me sort the bubble!"

      --
      We don't have a state-run media we have a media-run state.
    25. Re:Interesting by meta-monkey · · Score: 1

      Premature optimization is the root of all evil. Use the standard library to get it working. Then profile and if there's a bottleneck somewhere, optimize that.

      You need to know how to do it if your library doesn't do what you want, but reinventing the wheel when the given wheel works perfectly fine for your needs is dumb.

      --
      We don't have a state-run media we have a media-run state.
    26. Re:Interesting by meta-monkey · · Score: 1

      Nice. God I'd love to work in a place where the interviewer has Knuth on his shelf.

      --
      We don't have a state-run media we have a media-run state.
    27. Re:Interesting by lucm · · Score: 1

      The students in his classes didn't seem interested--or even willing to--in solving programming problems. They just expected to be able to come in, download this framework and that framework, find a solution to a tricky problem on Stackoverflow (or wherever), and maybe write some really rudimentary code to just glue the bits together.

      This is a fair description of many new hires I have to deal with. But to be honest, I prefer that to overeducated/overconfident dullards who insist on using machine learning and/or functional programming even if all you need is a fucking csv export of a list of products stored in Access.

      --
      lucm, indeed.
    28. Re:Interesting by Anonymous Coward · · Score: 0

      A better analogy is knowing how to change a tire. For normal maintenance, you can simply take your car to a mechanic to get your tires changed. However, should you ever find yourself out on a remote highway without cell service and a flat tire, you're walking.

    29. Re:Interesting by narcc · · Score: 1

      Sure there is.

      A programmer writes computer programs. This is the easy part.

      A computer scientist is a mathematician specializing in computer science. (Though there are quite a few people with CS degrees who do not fit that description. That's not their fault, but that of the institution that issued that credential.)

      A software engineer is just a programmer with discipline envy.

    30. Re:Interesting by dbIII · · Score: 1

      Consider the growing numbers of massive cost overruns with large civil engineering projects.

      My favourite along those lines was a pedestrian bridge that was relocated 100 metres downstream by a committee after the pilings were built. The engineer was still blamed for the cost overruns and not the committee that changed it's mind. As an added bonus one of the original pilings was just out the window from a university mechanical engineering building.

    31. Re: Interesting by mtippett · · Score: 1

      Is there a difference between a coder, a programmer, a computer scientist, software engineer and a computer engineer?

    32. Re:Interesting by JBMcB · · Score: 1

      The corollary to this argument is - if you are looking at creating an algorithm to do something, odds are someone smarter than you has already done it better than your version and has put it on the internet.

      This doesn't mean you shouldn't research what they did and have a firm grasp on how it works.

      I've yet to have a programming job that only required you to be an expert in one domain. My last job had me doing statistical analysis on audio, environmental testing, figuring out satellite ephemeral products, reporting, some light DBA, and interfacing with various low-level and high-level buses, amongst other things. Almost none of that stuff was covered in my CS classes. There wasn't a book for a lot of it, either. I usually learned from looking up other people's code online.

      --
      My Other Computer Is A Data General Nova III.
    33. Re:Interesting by thinkwaitfast · · Score: 1

      How much math do you need to write a serial line interrupt handler?

    34. Re:Interesting by thinkwaitfast · · Score: 1

      In most cases even non optimal is more than sufficient.

    35. Re:Interesting by Krishnoid · · Score: 1

      Many of the "old " assignments--implement three different sorting algorithms and compare their properties just seemed totally archaic to his students

      Possibly because they predate the existence of Google. Maybe the professor should come up with situations and algorithms that Google doesn't have an answer for?

    36. Re:Interesting by Chrisq · · Score: 1

      How much math do you need to write a serial line interrupt handler?

      Basic binary for masking mostly

    37. Re:Interesting by Anonymous Coward · · Score: 0

      They just expected to be able to come in, download this framework and that framework, find a solution to a tricky problem on Stackoverflow (or wherever), and maybe write some really rudimentary code to just glue the bits together.

      He should teach some other language besides Java.

    38. Re:Interesting by TheRaven64 · · Score: 1

      why would you ever want to actually write a sorting algorithm? After all, somebody out there has already done it better, and that's nothing you would ever need to do as real programmer.

      This sounds like the assignments were badly designed. Unless your data has an entirely random distribution, with some knowledge of the data that you're sorting you can do a much better job of sorting than any generic comparison-based algorithm. If you're sorting English words, for example (a very common example data set for this kind of thing), then a radix sort implemented by a student will do a better job than a standard library quicksort that's doing a full string comparison on each pair. If the course also asks them to implement a quicksort, and to evaluate both against libc's qsort(), then they should hopefully learn both when it is and when it isn't appropriate to implement their own.

      --
      I am TheRaven on Soylent News
    39. Re:Interesting by Anonymous Coward · · Score: 0

      Well geez. In some setting you SHOULD get dismissed for wasting time making your own circle drawing algorithms instead of using the one the framework offers, and which can be modified if, for some reason, someone figures all circle drawing should be 15% faster. If you want to make circle drawing algorithms go make the framework. You think someone would hire a grave digger who always first builds himself a shovel before actually digging holes on the ground wit hit? You have a factory made shovel(errrr. framework) right there, use it!

    40. Re:Interesting by Anonymous Coward · · Score: 0

      Yep because when I watch people make something with a raspberry pi I can't believe they don't want to learn how to make capacitors, resistors, and diodes from scratch. They just go buy that stuff someone else made. They even by wire instead of rolling their own. Some of them even by batteries in instead if making them from scratch or they buy a power supply instead of wrapper their own transformers. How they'll ever be able to really understand what their making or make really awesome stuff I have no idea.

    41. Re:Interesting by tehcyder · · Score: 1

      In some professional settings, if you try to re-invent the wheel (ie. "draw a circle"), rather than use the canned library from a framework, you won't just be criticized, you will be dismissed. Ugly fact, but still a fact. It's more about rote memorization of .net namespaces than problem-solving.

      One of the things about problem solving is most certainly that you don't waste time re-inventing the wheel or even trying to design a slightly better wheel. In the real world, you do not have infinite time to devote to a problem. If something works off the shelf, then you use it.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    42. Re:Interesting by Anonymous Coward · · Score: 0

      What's ironic here here that the argument you are making that "Engineering is required to build custom parts and boards and prove it will work" is the exact same that EEs gave in their often very vocal opposition to integrated circuits when they were introduced. (Seriously, read any history about early days of the IC that's longer than those little paragraphs sci-tech text book authors like to wedge into the margins). Turns out getting the job done fast and cheap can take you a long way—in the case of IC's, all the way to the Moon.

    43. Re:Interesting by Tom · · Score: 1

      The professor was somewhat alarmed by this, but not totally in disaster mode

      I would be. In fact, I am. This is the reason so much of our current software absolutely sucks. Performance is so pathetic that anyone who wrote software back in C64 days cringes just thinking about the wastefulness. Security is becoming worse, not better, even though we have an unbelievable amount of protections built right into the OS, compiler, VM, everything. And on the main task, solving a problem for a user, don't even get me started. Complexity != usefulness.

      People should understand that there are different ways to sort and what the advantages and disadvantages are. Not for the sorting, but for understanding that there are many ways to solve the same problem. Some of them work better for small data sets, some of them better for large. Some are very fast but require lots of memory, others are light on memory but slow. And so on and so on.

      Only if you understand this, not just by having read it once in a textbook, but by having it seen for yourself, will you be able to pick a proper solution under real-world restrictions.

      --
      Assorted stuff I do sometimes: Lemuria.org
    44. Re:Interesting by LinuxIsGarbage · · Score: 1

      exactly. here comes the car analogy....why learn to drive a manual shift car, since an automatic transmission is "out there" and "done it better"?

      I think having an understanding of something at a lower level, lets you use it at a higher level better. For example with math, I'm very much a fan of initially teaching it without the use of a calculator. In university calculus we were not allowed to use calculators on exams. The coefficients were such that you didn't need a calculator, but you really had to know your shit. Once you actually understand what a derivative is, use MATLAB for real world problems with crazy coeeficents, and large data sets. By comparison for statics we used the program "TKSolver". No one in the class really understood statics, you just kept throwing equations at it till it gave a solution.

      With programming, having a sense of how something works in assembly, and how data structures and sorts work, will then let you make better use of it in a higher level language.

      On the transmission, whether or not you drive it daily, driving a manual forces the driver to understand the concept of multiple gears, where the car generates power, where it runs fuel efficiently, engine braking, etc. While it doesn't have to be done on manual (playing around with manumatic modes can accomplish the same), it's amazing how many drivers don't have the first clue of how their transmission operates (I'm not talking how the solenoids are activated, or how planetary gears work, just the basic relationship of gear ratios, and engine speed). Look at the concept of "Passing gear". WTF? There's no specific designated "passing gear", the car just downshifts into the lowest allowable gear at the current road speed. It could be first, it could be third. Are you going 15MPH or are you going 65MPH? Somehow even though they drove multiple gears on a pedal bike, they didn't make the connection in a car.

      Even driving an automatic, I might kick it over into manumatic and override it if I'm towing a trailer, or if it kicks down I might hold it in the lower gear so I can let up on the gas, then press down again without making it hunt.

    45. Re:Interesting by LinuxIsGarbage · · Score: 1

      How do you figure that an auto is more efficient than a manual?

      On modern cars the auto transmission can pick the most fuel efficient gear better and quicker than the manual driver. On vehicles (including heavy trucks) with a turbo, the auto can usually shift quicker, and without letting off the accelerator. As such the turbo can stay spooled up, and can provide more power, and better acceleration.

      We are also talking about normal driving, and not racing.

      In addition to this there is higher power loss in an auto transmission than a manual.

      With lockup torque converters (which have been around for 25+ years), and the more precise control of electronic automatic transmissions, this is less of an issue.

      The main advantage that auto has over manual, outside of driving type, is that they tend to last longer than a manual.

      Interesting. I always though the simple design of a manual was touted as resulting in better reliability than an automatic. Plus problems could be driven around. A slipping clutch can be nursed, a bad gear can be skipped.

    46. Re:Interesting by Harlequin80 · · Score: 1

      Fair enough. I would be interested to see how it pans out because my car is a c200 mercedes and they quote the auto at 6l/100km and the manual at 5.7/100km. (I own the auto)

      As for the reliability manuals are easier to fix and you can drive around the problems but they are more likely to break, mainly by user error ie riding the clutch / not maintaining it properly and bad gear shifts. Autos tend to just last and last and last but when they do fail you are in trouble.

    47. Re:Interesting by Anonymous Coward · · Score: 0

      As someone with multiple degrees in computer science, you are completely and utter wrong.

    48. Re:Interesting by LinuxIsGarbage · · Score: 1

      Fair enough. I would be interested to see how it pans out because my car is a c200 mercedes and they quote the auto at 6l/100km and the manual at 5.7/100km. (I own the auto)

      I picked a random grocery getter available in manual and auto, the Toyota Corolla. Looking at the EPA's estimates for a 2015 Toyota Corolla, they list the following for city/Highway (US-MPG)
      Manual 6-spd: 28/37
      Auto 4-Speed: 27/36
      Auto CVT: 29/38
      Auto AV-S7: 29/37

      With the exception of the antique 4-speed auto, the more modern autos beat the manual in fuel economy.

    49. Re:Interesting by Harlequin80 · · Score: 1

      Thanks, interesting.

      I always forget the US EPA has those measures.

      That said you couldn't convince me to buy a manual car anyway. Cars for me are just a way to get from point A to B. I will keep my bike as my fun toy.

    50. Re: Interesting by Anonymous Coward · · Score: 0

      Not to mention, a standard library sort is general . a decent computer student should very often be. Able to write a more efficient one if specifics of the problem are known.

  9. Sure by Anonymous Coward · · Score: 0

    You don't have to be good at math to be a shitty coder -- and there are lots of shitty coders that make a decent living, but we hate you for making our jobs suck and driving wages down because management is bad at productivity math. So, if this is your approach just become a manager and stay the fuck away from the code.

    1. Re:Sure by KGIII · · Score: 1

      They are reading your comment and Googling "how to be a manager +red -education" right now.

      --
      "So long and thanks for all the fish."
    2. Re:Sure by Anonymous Coward · · Score: 0

      But that just moves the problem into management--another manager bad at math!
      Just go scrub toilets instead. Lack of logic won't affect the outcome there.

  10. Re:Learning to program by Googling + Trial & E by Anonymous Coward · · Score: 0

    Indeed. Googling to "learn to code" is as stupid as Googling to "learn how to build a house".

    There are books for a reason. People that want to learn things should start reading them. For example, I've learned how to program in grade 7 thanks to C for Dummies and C++ for Dummies and later that year from compiler's reference book. Those books are 10000% more comprehensive than any "googling" blog entries and today there are even books for grownups that deal with how to use algorithms and such things.

    Anyway ....

  11. They have it backwards... by mark-t · · Score: 4, Insightful

    You don't need to be good at math to learn to code...... but as programming at its core *is* mathematics, learning math will almost certainly help you to write better code.

    1. Re:They have it backwards... by Anonymous Coward · · Score: 0

      This can be rephrased as: "You don't need to be good at math to learn to code, but you need to learn math to be good at coding."

    2. Re:They have it backwards... by Anonymous Coward · · Score: 0

      No it's not. At least, not without explicitly expanding the definition of mathematics so that it includes programming.

    3. Re:They have it backwards... by mark-t · · Score: 1

      Only if you don't understand what mathematics is.

      Google "mathematics is programming", and you'll find no shortage of explanations.

    4. Re:They have it backwards... by mark-t · · Score: 1

      I have to say that I like the symmetry of your statement much better than how I put it. Nice.

    5. Re:They have it backwards... by Anonymous Coward · · Score: 0

      This is one of those topics where one answer does not fit all situations. I know there is some code development where strong mathematics skills would be essential. But from my experience of doing it for a living since the late 80's it is more a rare situation, and in general the very basics is enough. I am a living example of it. The little advanced math I once new for the most has left my brain from lack of use. So I can't really agree with your statement about having strong math skills would help you write better code if the code you are writing doesn't require it.

    6. Re:They have it backwards... by mark-t · · Score: 1

      No.... you have it backwards again. It's not so much the strength of your math skills that helps you code better, it's how much you actually learn about math in the first place that helps you code better.

      Discrete mathematics is as foundational to programming and computer science in general as exercise is to being an Olympic athlete. Without the former, there is going to be a much lower limit to how good you can become at the latter, whatever the limit of your innate skill happens to be. With the former, you can surpass that limit and become even better at it than you may have ever imagined possible.

    7. Re:They have it backwards... by JoeCommodore · · Score: 1

      And as you get better at programming your math skills will improve.

      I wasn’t a great math person either but I love programming, a lot of my math skills were developed trying to solve problems. Base conversion binary, etc. are key parts of programming as you get more involved in programming you learn these skills come in handy to create better programs,m adn as you create better programs you see new ways math could help improve what you create and now have the idea on how to apply it so learning it makes a whole lot more sense.

      I feel for some learning to program will encourage them also become better at learning math.

      --
      "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
    8. Re:They have it backwards... by thinkwaitfast · · Score: 1

      How much math? Calculus of variations? Differential geometry? Clifford algebra?

    9. Re:They have it backwards... by Anonymous Coward · · Score: 0

      Let me rephrase that.

      "You don't need complex maths to hack some code together... But as programming at its core *is* mathematics, learning maths will allow you to become a programmer."

      The question is. Can you put some code that works without much maths? Yes, you do. But... does the code you wrote solve the problem you need to solve? Is it solvable? is the code correct? Is using the machine resources efficiently? Is it comprehensible to others? Is the effort put into it proportional to the benefit it will provide? How can you partition the problem so that a group of people can solve it in cooperation? Answering all these questions requires the science and engineering part of programming. And for that maths are a must.

    10. Re:They have it backwards... by Anonymous Coward · · Score: 0

      Algebra is the bare minimum you need to understand how variables work. Of course anyone who does not understand Algebra cannot think in abstract concepts which means he is retarded by today's standards, and thus largely useless for non-manual labor.

  12. Depends on what you're doing by pwizard2 · · Score: 1

    You can build simple apps with only basic math skills (such as adding ints together where necessary, etc.). Stuff like that is mostly logic anyway, and it's more important to know how to plan ahead and when/how to do each subroutine to accomplish the larger job. On the other hand, anything low-level usually requires a far greater math understanding. For instance, you aren't going to invent a new crypto algorithm/implementation without a mastery of the underlying mathematical concepts.

    --
    "It is a denial of justice not to stretch out a helping hand to the fallen; that is the common right of humanity."
    1. Re:Depends on what you're doing by Fwipp · · Score: 1

      Exactly - 90+% of programmers are only writing straight-forward business programs. You don't *need* to understand the intricacies of, say, finite fields unless you're one of the hundred people in the world researching new crypto.

      Even the math that is very important for many programmers (say, relative time complexity of algorithms, or set unions/intersections) is pretty dissimilar to what we Americans teach as "math" to our kids, and can largely be intuited.

      I say this with a minor in math - it's really not that important for coding.

    2. Re:Depends on what you're doing by FranTaylor · · Score: 1

      Exactly - 90+% of programmers are only writing straight-forward business programs.

      things get crazy complex when you add threads into the mix, as so many programming languages make it very easy to do

    3. Re:Depends on what you're doing by dbIII · · Score: 1

      Tell me about it. The guys here have only just got their stuff working in 64 bit, twenty years since we've had some 64 bit stuff on site, and now they are trying to wrap their heads around the idea of multiple processors about a decade after even kids handheld game consoles had more than one core. Enough race conditions to need people to muck out the stables.

    4. Re:Depends on what you're doing by thinkwaitfast · · Score: 1

      I largely grew up in a multithreaded environment (creating tests) and have a math degree. I really don't see a lot of overlap.

  13. Obligatory car analogy by sheetsda · · Score: 2

    need to be skilled at copying and pasting things from online repositories and tweaking them slightly

    This person seems to be confusing the mechanic for the automotive engineer.

    1. Re: Obligatory car analogy by __aaclcg7560 · · Score: 1

      This person seems to be confusing the community college certified mechanic for a journeyman mechanic.

      FTFY

    2. Re: Obligatory car analogy by istartedi · · Score: 1

      Not quite. Mechanics are technicians. The engineer takes a few simple rules and uses them to design complex systems. The technician examines complex systems and attempts to find the simple rule that isn't being followed.

      IMHO, it's somewhat elitist or prejudicial on the part of engineers to look down on technicians.

      It's more like they are confusing a certified mechanic or an automotive engineer with somebody who read a few hotrod magazines.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    3. Re: Obligatory car analogy by Anonymous Coward · · Score: 0

      This person seems to be confusing the mechanic for the automotive engineer

      The world needs a heck of a lot more mechanics than automotive engineers.

      Incidentally, I've heard someone say that computer programming is the automotive assembly plant job of the current day.

      Oh, and Click and Clack of Cartalk were mechanical engineering graduates from MIT. And they ran an automotive repair shop. Also, I met a Swiss guy who was a Mech-E PhD and worked as a mechanic for a few race teams over the years.

    4. Re: Obligatory car analogy by Anonymous Coward · · Score: 0

      Your analogy is retarded. A mechanic maintains something someone else has already designed.

      An automotive engineer combines components readily available from their suppliers(oil filters, bosch motors, relays, hoses, wire, air filters, etc) and designs the plastic injected molded/cast aluminum glue that holds all that shit in to a box.

      The frame/body, suspension, engine, and transmission are the only aspects that require serious customization. Even then: the differential is probably Off-the-shelf, as well as the engine and transmission.

      People who are constantly reinventing the wheel shouldn't work in product development. They should work for the suppliers designing radiators, or writing frameworks. If I had a dollar for every time some autistic programmer decided to make a new framework or write a new programming language I would be very wealthy.

      Most of them go nowhere fast. The theory goes something like:
      "I find this particular aspect of programming tedious in my use-cases! I bet I could abstract away a lot of the headaches with syntax modifications!" so then they make their own custom flavor of sword-chucks. After they're done a bunch of hard, self-indulgent work: they set their Frankenstein loose on the world and start pimping it in the conference circuit hoping that a bunch of automotive engineers in the audience will say "that muffler looks WAY easier to integrate than the one I've been using!".

  14. It's true by Anonymous Coward · · Score: 5, Insightful

    I've been writing software for more than 20 years at this point. While yes, if you're doing anything involving creating algorithms or computer graphics/gaming you will likely need higher level math, the average programmer (making websites, making desktop business apps) does not need to learn anything more than basic mathematics.

    It irritates me when I hear elitist coders or hiring managers harp on about the need to be a PhD Mathematician on the side while also being an expert in coding. Just as you don't need Picasso painting your bathroom, you don't need a rocket scientist to code your shitty business app.

    1. Re:It's true by sverdlichenko · · Score: 1, Insightful

      Then your desktop app works fine with 50 items of whatever it processes but becomes really shitty when loaded with 1000, because there is algorithm inside with quadratic complexity and you do not even know what quadratic is. Been there, seen that.

    2. Re:It's true by KGIII · · Score: 3, Funny

      Umm... I have a PhD in Applied Mathematics. I code like a drunken mentally ill person. The worst part is that I wrote a lot of code... *sighs* I redid a lot of code. I eventually hired professionals.

      "So, David... What exactly do you mean with the "I'm Too Drunk" button nested in the menu under a mysterious label called "Hide and Seek?" She asks, with a determined look to see if I should be committed.

      "Oh that? Yeah. For now it just closes the application. When I get a minute I'm going to tie it into the time clock to punch the user out and send a message to people physically close on the network to have them call a taxi - it will be at company cost." Was the only logical reply. Followed up with, "And this would be done if I had time to learn that API for the time clock."

      "You're not serious, right?"

      "Oh, but I am. Click the button and see."

      Ah, little did she know... The button deleted random database assets. That will teach her to meddle.

      Some of that narrative is fiction.

      --
      "So long and thanks for all the fish."
    3. Re:It's true by Anonymous Coward · · Score: 0

      Fuck off, idiot

    4. Re:It's true by Anonymous Coward · · Score: 0

      Likewise it irks me when some donkey-ass "Data Scientist" develops some piece of code with million nested loops and calls to some external APIs performing O(n^2) operations and wonders why the fuck it runs so slow. Yes sometimes you need to understand math to write code that is not shit.

    5. Re:It's true by Anonymous Coward · · Score: 0

      Indeed, programming is largely about logic more than about math.

    6. Re:It's true by Anonymous Coward · · Score: 0

      I'm bad at math. I know that. I tried studying it as my major at university and failed hard. I can't solve differential equations and I'll run away if you start talking about manifolds. I'm pretty bad at writing formal proofs, because I haven't spent the time to internalize all the little tricks.

      But I do know the basics you learn in school. You can bet your ass I know what quadratic means. I know how to solve equations (or enter them into a CAS), I can integrate and differentiate simple functions (or enter them into a CAS), multiply matrices (or enter them into a CAS) and use trigonometric functions. I know what a polynomial is. That's all stuff you need to know to graduate from school and go to university at all. And it has served me pretty well. I haven't really needed anything much fancier in either my CS studies or for programming. Sure, being better at proofs would've been handy for the more theoretical classes, but that's not programming.

      People saying "you need to study math to be a good programmer" or "you need to be good at math to be a good programmer" always sound very silly to me. A basic understanding like this is all you need for most things.

    7. Re:It's true by sverdlichenko · · Score: 3, Insightful

      Unfortunately, high school math isn't "basic understanding", it's in fact advanced. Most people do not have any idea how to multiply matrix to vector, or that matrix may be multiplied to something, or that matrix isn't just movie title. Or how parabola and hyperbola differ. Basic understanding is fourth-grade arithmetic (mentioned in the article) and this is absolutely not enough.
      Sure one can code without learning math. And one can play in trash movies without learning acting. So much as I can apply a cast to someone's broken leg guided by google search result, but really should not unless we are in the middle of the zombie apocalypse. And I (and most people) should not sing in the opera even in the middle of the zombie apocalypse.

    8. Re:It's true by thinkwaitfast · · Score: 4, Interesting

      I can only count one job out of about 2 dozen in thirty years where I had to multiply vectors. And this includes a few NASA subcontracts that I've been on.

    9. Re:It's true by Anonymous Coward · · Score: 0

      In my last 2 jobs I've multiplied vectors to solve problems. I didn't have to do so but using vector operations significantly simplified my code. I suppose it depends on what you mean by "had" to multiply vectors.

    10. Re:It's true by Anonymous Coward · · Score: 0

      And this is exactly the reason why business apps are so shitty. Morons who coded them did not even have the most basic understanding of the graph theory, ending up implementing stupid and inconsistent input form workflows. It's extremely annoying. These people should not be allowed to ever touch a keyboard. Let the mathematicians do the work.

    11. Re:It's true by Anonymous Coward · · Score: 0

      Some of that narrative is fiction.

      That's the part where you have a PhD, while in reality you are Olga "Hexkludge" Khazan who apparently has had a 6 digit slashdot ID all along :-(

    12. Re:It's true by Fearan · · Score: 1

      If the STL your business app's language (.NET,Java, etc) uses an O(n^2) sorting algorithm you've got bigger problems.

    13. Re:It's true by Anonymous Coward · · Score: 0

      As someone who uses math heavily in my programming work, I agree. Even most of my peers at the company I work at don't do anywhere near as much math as I do. Even still, the work I do is essentially applying methods provided in research papers, so while there's no framework out there that does this stuff automagically for me, I happen to be one of the ones making the frameworks that will make it automagic for others. Unfortunately most of my code is proprietary, so it's not out there, but I've implemented a few interesting algorithms in OSS(mostly related to distributed systems - scheduling, parallel calculations, etc). But the work I do only requires me to have a BS in CS(currently getting a MS). I still use libraries, too, but at least a portion of my work has me implementing these new algorithms by hand.

    14. Re:It's true by Anonymous Coward · · Score: 0

      Here Here!

      I was in the workforce for 3 years before I decided to finish my 4 year degree. I'm taking Calc 1 right now.

      I consider Statistics WAY more beneficial to the programming projects I have been working on. When I have to figure out how fast I'm going: I don't get a functional description of my acceleration that I can integrate: I get a bunch of data points in meters per second per second.

      To find the velocity: I sum my data-points!

      If I have a speed sensor and want to determine my acceleration("instantaneous rate of change") I just subtract datapoint 414 from datapoint 413. Smoothing this with a lowpass filter is probably a good idea since all sensors are noisy, but I sure as hell am not using the chain rule to get there!

      Measuring the standard deviation of my sensors and applying "Bayes law" has been much more useful to me in my projects. Real world data always requires some form of regression analysis to get a functional description that can be manipulated with Calculus. I know enough about polynomials to have a rough idea from the turning points and zero crossings, but that doesn't really benefit me when I have automagical tools which will spit out a least squares optimized result.

      As far as I can tell: Calculus is a hazing ritual used to prevent the various fields of engineering from being flooded with morons. Most problems in Engineering don't require Calculus to solve. The "related rates" word problems from the textbook sound great on paper, but I don't see very many problems where people go to the effort in the real world...

      The world needs more nurse practitioners to dole out Tylenol prescriptions, but the colleges pimp the "Doctor" career path because everyone wants to make the high salary. There aren't enough jobs for all the aspiring dougie housers, so they progressively "thin the heard" by making it artificially difficult to jump through the hoops in a zero sum game of musical chairs.

      Most people think there is a higher purpose to playing the game other than preventing the white collar professions from becoming diluted with cheap labor. Now that we live in a global economy: our University based artificial price controls have increasingly priced domestic labor out of the market.

      I personally think it would be a lot more valuable to society to raise minimum wage high enough to automate the remaining manual labor/customer service jobs and build more diploma mills willing to pump out McDonalds-grade engineers capable of hacking together stackoverflow code and library calls.

    15. Re:It's true by KGIII · · Score: 1

      This being /. well, I suppose you never know. However, for the chance to amuse at least one of us, how about if I say, "Why both, of course."

      No, not even drunk would I dare touch a database server. There are some things mortal men are not meant to do. I stay out of the way of wizards and they leave me alone. DB admins aren't right in the head and I? Well, I can write an SQL query or something. I am not a DB wizard. Honestly, it's kind of strange how those guys envision data. Have you ever asked one about how they thought? It's a cross between Christopher Walken, the Mad Hatter, and Spock.

      I think, before the advent of the modern database, they were probably the guys who did actuarial tables, for fun. I can only assume they'd be rightfully imprisoned in such a society or had some sort of underground cult thing going on. Maybe that's what the Masons really got their start. :/

      But no... Now you made me go and ruin my joke. The joke was that it would teach "her" to delete some of our data by pushing the button. The button existed, it takes too long to explain, and the rest of the story is fairly true but not verbatim - except the deleting the database part. The button also never did anything but I had good plans for it at the time. Had she pushed the button and it deleted data I doubt, very much, that it would "teach her" anything.

      Then again. I'm kind of expecting that I am missing the joke at this point. On the other hand, I'd have loved Google when I was learning to code. I'd have been happy with anything even like a modern search engine. I am a self-taught coder. I've seen professional code, I don''t do that. Given that I know quality when I see it and I'm pretty damned honest about my own ability, well, trust me when I say that (sadly) I'd have done *better* work with cut and paste. Hmm... I code like I type /. comments except I used to do a lot of drugs and drink.

      However, you're safe. I don't think she's a member of the 6 digit UID. I had (have?) a much, much older ID (4 digits maybe 5?) but somewhere along the lines I forgot the nick and never have remembered it. So I was AC for a while and then I grabbed this one which is my usual nick. I have no idea why I didn't use this nick in the first place but it seems likely that drugs or alcohol were involved.

      I really need to sleep. I've reached the babble stage. Woohoo! Insomnia!

      --
      "So long and thanks for all the fish."
    16. Re:It's true by Tom · · Score: 1

      Just as you don't need Picasso painting your bathroom, you don't need a rocket scientist to code your shitty business app.

      Which is largely why so many business apps are shitty. Shoddy coding is very easy to spot, it's the result of people not having enough math education to think in algorithms. Math is not what you can put into your pocket calculator, math is understanding what you put in and why.

      --
      Assorted stuff I do sometimes: Lemuria.org
    17. Re:It's true by sverdlichenko · · Score: 1

      Sorting have nothing to do with it. Such problem can arise every time one chooses between list, vector or set to store data. It is required to know how fast or slow operations on them are, and to understand it one need to know what all this funky math symbols mean.

    18. Re:It's true by Hognoxious · · Score: 1

      A while back I had to fix a billing application that, for each item on a contract, hit the DB to get the billing history of every item on the contract.

      I didn't, at that time, know about O notation. I knew it was wrong, though.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  15. A Million Monkeys on Computers? by Irate+Engineer · · Score: 1

    So humanities majors who trained themselves to crank out large volumes of bullshit text and might occasionally produce something of quality, because probability, will be good programmers because they can train themselves to produce large volumes of spaghetti code and occasionally produce something that compiles and runs, because Google?

    No, this isn't programming. A good knowledge of math and logic and structures is vital. Do you REALLY want somebody cranking out volumes of crap code in the hopes that something of value will eventually be pooped out, or do you want a well thought out, concise, understood solution? The humanities hack probably will code for much less per hour than their mathematical counterpart, but the latter will get you to an understood solution much, much faster, thus being the more economical choice of employee in this application (middle management quarterly math aside).

    --

    Left MS Windows for Linux Mint and never looked back!

    Vote for Bernie in 2016!

  16. Not according to HR by Billly+Gates · · Score: 4, Funny

    These resumes from India all have 10 years of programming experience in html 5 and everyone of them have a degree in mathematics or cs! It is time Americans also had such backgrounds or we can't find enough qualified workers to do differential equations for Adobe Dreamweaver

    1. Re:Not according to HR by Anonymous Coward · · Score: 3, Funny

      Sure, and the last 5 resumes I've seen from over there claimed extensive knowledge of the continuous integration server Jinkins. That's right, they copy-pasted the typo in every resume.

    2. Re:Not according to HR by Anonymous Coward · · Score: 0

      I worked for company that hired one of those suppose experts .... she was suppose to be expert in C++...

      She didn't even know what a header was... kept saying something about how she didn't understand the program we used cause they use something different. That is when she was given MVC ide.

    3. Re:Not according to HR by Anonymous Coward · · Score: 0

      In fairness: that's what every resume coach teaches them to do. "Don't hate the player, hate the game"?

      Maybe we should dispense with resumes entirely and standardize around a social, mobile, & local app which connects job seekers with employers? We could base it on Facebook!

  17. Politicians by Anonymous Coward · · Score: 0

    You don't have to be good at telling fibs to be a politician, but it sure does help!!

  18. Yeah right! Who needs a damn brain?! by fustakrakich · · Score: 2, Insightful

    We have Google!

    Lord, help us!

    --
    “He’s not deformed, he’s just drunk!”
    1. Re:Yeah right! Who needs a damn brain?! by tehcyder · · Score: 1

      We have Google!

      Lord, help us!

      To be fair, this is pretty much how they teach kids in schools everything these days.

      History assignment on the First World War? Copy and paste stuff from Wikipedia into Powerpoint.

      Music essay on Beethoven? Copy and paste stuff from Wikipedia into Powerpoint.

      Science project on the Water Cycle? You guessed it.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  19. Project Euler by Anonymous Coward · · Score: 0

    A person may be able to code a bit without math, but project Euler taught me that there are places I can never go because I don't have the math for it. And even when I Googled the answers, I still didn't always understand what was going on -- Some math is a bit beyond mere Googling.

    1. Re:Project Euler by KGIII · · Score: 1

      It was probably due to your education - specifically learning by rote. The person who decided to teach mathematics by rote needs to be assaulted. It was not until higher levels of education where I had someone properly explain the concepts and give me the tools to visualize the maths that I became able to actually understand. After that, honestly? It was kind of easy. I do think that it may have something to do with the way my head works. Let's just say that it is not normal (I don't think - I used to think it was) and you probably would not be comfortable listening to my thought process.

      --
      "So long and thanks for all the fish."
  20. Learning not the issue by Anonymous Coward · · Score: 0

    You don't have to be good at math to learn to code.

    You do have to be good at math to be good at coding.

    Though 'math' here really means logic and algorithms, not traditional stuff life geometry and calculus.

    1. Re:Learning not the issue by Anonymous Coward · · Score: 0

      I've always found math to be a subset of logic and algorithms rather than logic and algorithms being just part of math. Because, for example, I can make a logical algorithm on the steps to do the dishes, which to me is definitely not doing math. But any math operation that I can think of can be defined using logic and algorithms.

    2. Re:Learning not the issue by narcc · · Score: 1

      You should take a step back in time, to the early 20th century, and have a talk with Russel and Whitehead. They put an awful lot of effort in to producing a completely analytic account of mathematics. You can probably guess how that turned out...

    3. Re:Learning not the issue by thinkwaitfast · · Score: 1

      Don't neglect applied math.

  21. Disagree by erp_consultant · · Score: 2

    This is exactly what is wrong with a lot of modern coding. People become too reliant on "black box" functions and libraries where you simply pass in values and the output magically appears. The problem is that there are a lot of poorly written libraries that simply get used over and over again without a care in the world.

    Yes, it makes it easier for common tasks but it also takes away a lot of the creativity that drew me to programming in the first place.

    1. Re:Disagree by Obfuscant · · Score: 1

      People become too reliant on "black box" functions and libraries where you simply pass in values and the output magically appears.

      I loaned a student my HP calculator to take a quiz one time. I asked him if he knew how to use it and he said "of course". (Enter>=!). The question dealt with the concentration of hydrogen ions in a nearly-neutral solution of something. His answer was "1". "something enter something enter divide" where the second "enter" wasn't supposed to be was his mistake.

      I gave him zero points for that answer, and deducted an additional point for not even thinking about whether the answer made sense.

    2. Re:Disagree by Anonymous Coward · · Score: 0

      No, that is exactly what *is* modern coding. You use libraries for everything from geospatial geometry conversions, to image transformations... you don't write your own compression routines. You don't code your own CRC routines. You don't code your own encryption. And scientists don't waste their time coding their own math routines; they use MATLAB. Oh sure, there's a few math-major PhD types out there who think they can write a better FFT than the MATLAB builtin... and then, after code-delivery, the community-college MIS major who only ever took Algebra-II spends the next two months ripping out all that guys garbage and putting back in the MATLAB calls because they will work regardless of platform, endianness, 32/64 bit, GPU and/or multiple cores. I've seen it a thousand times.

    3. Re:Disagree by Anonymous Coward · · Score: 0

      I gave him zero points for that answer, and deducted an additional point for not even thinking about whether the answer made sense.

      I don't believe you. Any student with half a brain or even less ego would haul your ass in front of the dean for such a stunt. You are not there to abuse the students or judge their personality. You are there to teach and grade work.

      They are customers. Treat them like ones.

    4. Re:Disagree by Zontar+The+Mindless · · Score: 1

      Disbelieve all you want, but what Obfuscant describes IS teaching.

      --
      Il n'y a pas de Planet B.
    5. Re:Disagree by brausch · · Score: 1

      RPN is wonderful.

      --
      "Almost every wise saying has an opposite one, no less wise, to balance it." - George Santayana
    6. Re:Disagree by Obfuscant · · Score: 1

      I don't believe you.

      That's your right. You have a right to be wrong. Even glaringly wrong, just like the student who said "1.0000" was the right answer.

      Any student with half a brain or even less ego would haul your ass in front of the dean for such a stunt.

      It wasn't a "stunt".

      A) The student assured me he knew how to use the calculator, even after I told him it was an HP and not a TI/etc. "I didn't know how to use the calculator", which is never an excuse for wrong answers, is even less of an excuse here.

      B) The answer was SEVEN ORDERS OF MAGNITUDE WRONG. That's off by a factor of TEN MILLION. Were he Mr. Gower making a prescription for you and instead of a concentration of medicine that was 1E-7 he gave you 1E0, you'd probably be dead.

      C) The topic of quiz was buffers and pH. An answer of "1.0000" for a hydrogen ion concentration is so ridiculous in both value and precision that any "student with half a brain or even less" would have known the answer was wrong.

      D) The prof thought it was the right thing to do.

      You are there to teach and grade work.

      I did both. That student will remember not to blindly trust the output of a computing device ever again. That's a lesson well learned. And I obviously graded his work, which included his failure to sanity check a simple answer.

      They are customers.

      They are buying an education. They are not traditional customers in that the phrase "the customer is always right" is patently absurd for them. He got an education.

  22. Let the dumboning begin by nyckidd · · Score: 2

    "In most cases you can see that the hard maths (the physical and geometry) is either done by a computer or has been done by someone else." (Since the author of TFA was too lazy to [sic], I too should follow her example)

    What happens when this become a recursive problem where all programmers rely on the "someone else" programmer who doesn't exist based on this definition?

    "Journalism", yay!

    1. Re:Let the dumboning begin by spatley · · Score: 1

      answer: heartbleed

    2. Re:Let the dumboning begin by Anonymous Coward · · Score: 0

      What I find weird about this quote is that the authors appear to suggest that computers can do hard math at all. Tedious math, yes, but hard math? Perhaps if you run a theorem prover like Mizar.

  23. If you need math, learn it. If not... by Tenebrousedge · · Score: 5, Insightful

    And there's a shit ton of CRUD apps that people want written that don't need anything of the sort. There's a world between high-performance computing and the most superficial use of a computer. Excel macros spring to mind, as an example. We can also draw a line between simple computation and more complex mathematics -- simple calculations are absolutely the computer's job.

    To answer your "So what?": useful shit can be done even without having learned everything that you did. What useful purpose does elitism serve?

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    1. Re:If you need math, learn it. If not... by Anonymous Coward · · Score: 0

      And there's a shit ton of CRUD apps that people want written that don't need anything of the sort.

      ...

      What useful purpose does elitism serve?

      It saves the world from CRUD apps?

    2. Re:If you need math, learn it. If not... by Ol+Olsoc · · Score: 1

      And there's a shit ton of CRUD apps that people want written that don't need anything of the sort.

      Sure. But how much stuff you going to want to know after the crud app is finished?

      I alwys say this to the people who thiink they will just learn one thing, and make a career out of it.

      You won't.

      Now that the nice lady kows how ot cut and past the hex for "red" into the web page she's designing, does this mean she is now qualified to make any web page possible? No she is not.

      Fact is, we have no idea what specific parts we learn will be of any use, forever. Which means the "what I need to know to do some specific job and that only" crowd are going to find themselves unemployed in short order. Just like a coworker that refused to learn about digital photography. Because fil was what she knew.

      I discovered that a long tie ago, when I became interested in a photo chemical compendium from World war two. I perused through it, and soon became a "genius" as I came up with new processing methods to do some very technical photography. That all happened because there was a lot of knowledge in there that was discarded - not important - of no use for the state of photography at the time.

      And then with the advent of digital photography - it all became of little use. But I knew about enough different things that I was still valuable _ hell, i even did computer support for a decent sized institute.

      I had already learned this one pricelss fact. There is no knowledge that is of no use. I suppose I had known that t some level even when I was a child, what with reading the encyclopedia and dictionaries for fun. But my epiphany served me very well.

      So yes, if somoene wants to hire a person who knows how to lookup on Google the hex value of a red background for a web page, there's your person. Of course, that's all they can do. Worth minimum wage if that.

      The problem of course is that people with knowledge will just do that offhand, then move on to an actual engaging task.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    3. Re:If you need math, learn it. If not... by Anonymous Coward · · Score: 0

      The fact that you think it's "elitist" to believe that knowing higher math will make you able to solve harder problems is more than a bit disturbing. Nobody denies that there's a market out there for solving simpler problems--web design barely has any programming content at all any more, for example. Nobody would claim that one needs to be good at, say, calculus to be good at that.

      But there are plenty of difficult problems out there and I dare say it's no longer possible to meaningfully contribute to computer science without knowing math. You can write programs without knowing much math, let alone realizing that programs literally are math (Google the "Curry-Howard correspondence"), but saying that math is unimportant to CS is utter nonsense.

    4. Re: If you need math, learn it. If not... by Anonymous Coward · · Score: 0

      Well it's a good thing no one said that. Or anything close to that.

    5. Re:If you need math, learn it. If not... by Anonymous Coward · · Score: 0

      I think this is the biggest takeaway here. A lot of the comments will be about how you need an extensive knowledge of various mathematical subjects in order to program an AI or a Matrix-level virtual reality simulator, otherwise you're just a stupid web designer or helpless grandma posting cat pictures to Facebook. These posts are of course teeming with elitism because these people dedicated a lot of time and brainpower to mastering any number of mathematical subjects, so obviously there is no way you can be any good at something they do if you didn't go through all the same steps.

      That said, there obviously is an advantage to having decent math skills if you're looking to program something. Honestly though, calculus and linear algebra are pretty much esoteric subjects when it comes to 99% of programming. Algebra, geometry, and statistics are probably the most common maths for the large majority of programming tasks.

    6. Re:If you need math, learn it. If not... by Anonymous Coward · · Score: 0

      I'd guess a false sense of job security.

    7. Re:If you need math, learn it. If not... by Kiaser+Zohsay · · Score: 1

      Applying math skills to programming is all about problem solving. CRUD apps are a solved problem, and can (and should) be done with little or no programming required. In fact, there are entire development suites devoted to cranking out CRUD with as little programming as possible. There are legions of IT professionals that make their living that way.

      But knowing how to use those kinds of tools to generate those kinds of apps is not knowing how to code.

      --
      I am not your blowing wind, I am the lightning.
    8. Re:If you need math, learn it. If not... by Anonymous Coward · · Score: 0

      And there's a shit ton of CRUD apps that people want written that don't need anything of the sort. There's a world between high-performance computing and the most superficial use of a computer. Excel macros spring to mind, as an example. We can also draw a line between simple computation and more complex mathematics -- simple calculations are absolutely the computer's job.

      To answer your "So what?": useful shit can be done even without having learned everything that you did. What useful purpose does elitism serve?

      That bulk of that kind of work is basically low-skill, low-paid scut work that is easily off shored / handed off to H1-Bs or automated away. Why would anyone want to be competing in that pool if you don't have to?

    9. Re:If you need math, learn it. If not... by Tom · · Score: 1

      Excel macros spring to mind, as an example

      Good or bad example? I know entire businesses that run largely on Excel macros, and from a risk perspective, that's just insane. As a compliance manager, I feel physical pain when I hear about it.

      --
      Assorted stuff I do sometimes: Lemuria.org
    10. Re:If you need math, learn it. If not... by Tenebrousedge · · Score: 1

      Good or bad example?

      Yes. While it's hard to condone as good practice for a variety of reasons, as you say many businesses have the majority of their business logic running in Excel. Apparently bad code makes the world go around.

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  24. One of the reasons I got into computer programming by Anonymous Coward · · Score: 0

    ...is that I didn't like math very much. Enter the computer, which could do the math for me with a fraction of the effort!

    I know that algorithms are supposedly a form of math. If you count logic as math, that's true, but you can write lots of useful programs that have very little actual traditional math (arithmetic, algebra, calculus, statistics, etc.) in them. Programming logic may be related to mathematical talent, but it is an independent skill. You can be a very good programmer without being a math genius. You just won't be writing many astronomy applications.

  25. math talent, not math knowledge. SQL is algebra by raymorris · · Score: 5, Insightful

    The author doesn't seem to understand what math IS, how and why programming IS math. The author writes that you don't do a lot of algebra and such in typical web pages. Does your PHP script use SQL? That's algebra, relational algebra. It's not that you need to remember mathematical formulas; it's that have a half decent design for your software, you need mathematical THINKING. If your high school algebra homework was wrong, your sql is probably wrong too.

    The author likes to copy and paste a lot. Yeah, I've seen a lot of that kind of code, mostly while rewriting it to work properly.
    Programmers with a clue #include, they don't copy-paste.

    It's not that you need to write the tangent function from scratch, and purely from memory. It's realizing that tangent() SHOULD be a function, which you should call from libmath. The author managed to copy-paste code that computes a tangent into the middle of the onclick() handler. That's Doing It Wrong.

    1. Re:math talent, not math knowledge. SQL is algebra by narcc · · Score: 1

      Don't been silly. Programming is mathematics is the weakest possible sense. Yes, I've heard the arguments, but you're only going to convince people who don't understand the issue and developers with discipline envy.

    2. Re:math talent, not math knowledge. SQL is algebra by Anonymous Coward · · Score: 0

      Considering that algebra includes addition, it sounds like it is a very small subset of HTML that doesn't have to concern itself with fine tuned CSS layout, or anything much beyond display of static text.

    3. Re:math talent, not math knowledge. SQL is algebra by Anonymous Coward · · Score: 0

      Programming IS mathematics in the most strict sense. Programming is all about formal languages, and mathematics is all about the formal languages. It's not about the numbers, as you probably think.

    4. Re:math talent, not math knowledge. SQL is algebra by TeknoHog · · Score: 1

      The author doesn't seem to understand what math IS, how and why programming IS math. The author writes that you don't do a lot of algebra and such in typical web pages. Does your PHP script use SQL? That's algebra, relational algebra. It's not that you need to remember mathematical formulas; it's that have a half decent design for your software, you need mathematical THINKING. If your high school algebra homework was wrong, your sql is probably wrong too.

      This. Math isn't a set of knowledge to be memorized, it's a way of thinking, and programming is pretty much the same. Studying math will help you think more clearly about a problem, even if you never use the specific math tools.

      I went back to school to study pure math, and I keep having these a-ha moments when I recognize a programming concept in its classical math formulation. The crucial difference is how precisely they are defined, compared to the usual ways of learning programming from examples. It helps understand why many common things in programming are the way they are, and it also gives higher-level perspectives on things. For example, having studied functional analysis, I'm more comfortable manipulating functions with "higher" functions. I imagine proper CS courses will teach the same things, though (my background is in physics).

      OTOH, specific math tools can also be enormously fun and useful, for example complex analysis in image processing (see sig).

      --
      Escher was the first MC and Giger invented the HR department.
  26. Sorry, but some of these "math guys" scare me by mariox19 · · Score: 3, Interesting

    Certainly, not every programmer with a strong background in math is like this. But I've worked with people who are proud of their math ability, and who would be the first to tell you how critical math is to programming, who write terrible code. And I think their math ability may be at the root of the problem. I've decided that the kindest thing I can assume about them is that they're, perhaps, math savants.

    They pride themselves on their "uncommon" ability to keep lots and lots abstract details "in their heads," and in their "analytical" skills. Their ability, I imagine, encourages them to write their programs as one big ticker tape, and their programming suggests they have no idea of how to name variables, much less compartmentalize. Next, they "debug," which translates to running their coughed up hairball of code through the debugger, iteration after iteration, until they've finally straightened it out and "got something working." And, then, that's the end of it for them—program, done.

    I would much rather work with someone of either more modest math ability, or someone who, in addition to their math ability, had some idea of how to communicate (which, I think, is a critically important skill to a good programmer). That person might actually have a chance of writing maintainable code, instead of producing a "class" that's 5,000 lines long with 30 instance variables, and a 7 or 8 methods all marked "static."

    --

    quiquid id est, timeo puellas et oscula dantes.

    1. Re:Sorry, but some of these "math guys" scare me by Anonymous Coward · · Score: 0

      We call them System Engineers or Analysts. They develop algorithms in Matlab and we implement them as efficiently as possible.

    2. Re:Sorry, but some of these "math guys" scare me by sribe · · Score: 1

      That person might actually have a chance of writing maintainable code, instead of producing a "class" that's 5,000 lines long with 30 instance variables, and a 7 or 8 methods all marked "static."

      Hehe, I read that and thought "a class that's 5,000 lines long, that's not that bad, it's not that uncommon for a complex problem to justify a 10-page class, HOLY MOTHER OF GOD NO THAT'S 100 PAGES WHAT THE HELL!!!"

  27. I majored in applied math by Snotnose · · Score: 3, Funny

    Yet have spent most of my career as an embedded programmer. Arithmetic and basic algebra have done fine for me.

    / Only time I use my math degree is when I go off on a tangent
    // Sorry, I'll write an apology and sin it
    /// After I get my boss to cosine it

    1. Re:I majored in applied math by Anonymous Coward · · Score: 0

      For fsck's sake, man.

    2. Re:I majored in applied math by thinkwaitfast · · Score: 1

      Same for me with a few exceptions, but that was because I was looking for them I felt bad that most of my math career was a waste.

  28. Re:Learning to program by Googling + Trial & E by ColdWetDog · · Score: 2

    Yes, anyone can code, just as anyone can build a house. Whether or not the house collapses immediately, whether it has any real value, or by any other measure still depends on the skill of the builder, just as in software.

    If builders built buildings the way that programmers wrote programs, then the first woodpecker that came along would destroy civilization.

    --
    Faster! Faster! Faster would be better!
  29. I was doing it wrong! by GPS+Pilot · · Score: 2

    When I coded up an orbit propagator, a lot of math was involved. Oh how I wish I had consulted with Olga Khazan, to learn her math-less way of doing it.

    --
    That that is is that that that that is not is not.
    1. Re:I was doing it wrong! by Anonymous Coward · · Score: 0

      Unless you were doing something very strange, it wasn't the _programming_ part that required the maths.

    2. Re:I was doing it wrong! by GPS+Pilot · · Score: 1

      Congratulations, you must know Olga's secret!

      But I, for one, don't know how to program an implementation of this stuff: https://en.wikipedia.org/wiki/...

      without getting into the math.

      --
      That that is is that that that that is not is not.
    3. Re:I was doing it wrong! by konohitowa · · Score: 1

      Picard's method is the Runge-Kutta method. http://i.imgur.com/eDucjAd.png

    4. Re:I was doing it wrong! by thinkwaitfast · · Score: 1

      Wrong Picard

    5. Re:I was doing it wrong! by konohitowa · · Score: 1

      It's a screenshot from ST:TNG, "Starship Mine", where we see that Picard has previously cut the rungs off of the ladder.

    6. Re:I was doing it wrong! by konohitowa · · Score: 1

      Okay, I guess more to the point... Yes. I know. That's why it's funny. Apparently too obscure though. Or just not funny. Maybe both.

  30. Queue a thousand /.ers by rsilvergun · · Score: 1

    quickly dismissing this article out of fear. Fact is we're not special, anyone can be trained to do 95% of what we do, the other 5% can be broken off into it's own world and there won't be enough jobs for that 5% as we train up more and more rank and file programmers. Gates & Zuckerberg figured this out, why the hell can't we? If you want a future start asking for protectionism right now. There's a reason Doctors and Lawyers have a Union (AMA/Bar). They're not dumb, and they learned that 95/5 rule I mentioned above centuries ago.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:Queue a thousand /.ers by Jack9 · · Score: 1

      +1

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    2. Re:Queue a thousand /.ers by Anonymous Coward · · Score: 1

      > anyone can be trained to do 95% of what we do

      Lulz. Then why is there always a "shortage"? Why isnt everyone being trained to do it then?

    3. Re:Queue a thousand /.ers by Anonymous Coward · · Score: 0

      Heh. That's not "fear". That's bemusement. Like when a child threatens to "ground" its parents in retaliation for a perceived injustice.

      I can't even hire people who claim to be programmers that are competent at even 50% of what I do. Note that I didn't say "good at", I said "competent at".

      Gates didn't figure out shit. Zuckerberg runs a web company, and web "programming" is barely programming. (Infrastructure is a different matter.)

      And the AMA isn't a union, it's a guild. The bar isn't a union either. It's a state-mandated professional certfication board. And doctors typically have to deal with one of those too. So do engineers. And since software isn't a profession that requires life-safety engineering across all practitioners, we don't need that.

    4. Re:Queue a thousand /.ers by Anonymous Coward · · Score: 0

      +1

      ?

    5. Re:Queue a thousand /.ers by narcc · · Score: 1

      That's easy. Indian programmers are really inexpensive.

      We'll have one hell of an employment crisis once management figures out how to only hire the ones that actually know something about computer programming.

  31. Uhh huh by Anonymous Coward · · Score: 0

    Can I use the phrase "utter fucktardery" on Slashdot? In other news: the creative process requires nothing but copy-paste from many, many, many different sources.

  32. Admire the adaptability by Anonymous Coward · · Score: 0

    I admire the writer's ability to adapt their approach to coding to writing an article.

  33. Well, that was insulting by bobaferret · · Score: 2

    Just because I can change my break pads, or replace the vacuum assist for them, doesn't make me a mechanic. I found that article to be insulting to programmers, men, and women. I can't believe I just read an article that said the only reason math and CS are linked is because they are full of men. Really?!?!

  34. Of interest see "Why tech workers hate their jobs" by Rinikusu · · Score: 1

    Seriously. This person makes me hate working in tech. I bet that asshole makes decent money to google "HEX CODE FOR RED", as well. Fuck this. Fuck this industry.

    --
    If you were me, you'd be good lookin'. - six string samurai
  35. There's programming, and then there's programming by Anonymous Coward · · Score: 0

    Sure, flail away with your 4th-grade math education. Many 4th-graders actually do the kinds of "coding" the articles talk about, on about the same level as an adult with a 4th-grade math education. And if you're an adult and you want to learn to program, you absolutely should.

    If you didn't like math and/or weren't any good at it, you probably don't have or will not enjoy acquiring the symbolic reasoning, persistent mental focus, fastidious attention to detail, and advanced analysis that you must must have and apply fluidly in order to do programming as a profession and to do it well. These are exactly the same things that are required to learn and apply algebra, geometry, calculus, differential equations, and so on. The people who went down the math-heavy track in school are almost without exception the same people who get good at programming.

    The exception to all this is people who were told they were poor at math by a bad teacher, or who stopped at 4th grade math because they had an unrecognized learning disability or matured late or were told they were stupid. These things happen to many people, and that's why no one should shy away from learning to program. You might find you enjoy it, and in the process find that you are good at math, too.

  36. Code... what is code... by Anonymous Coward · · Score: 1

    Yes you don't need math to write a terrible web site. But if you wan't to write anything better than a blog page you certainly better be at least great at algebra. Even things like transitions are at least functions, which you won't understand if you don't know the basic math behind them. Sure its abstracted away but this is exactly how you get unmaintainable and insecure code. Algebra is not that hard, take the time to learn it before trying to program. Linear algebra and calculus I agree can be googled when you need them AS LONG AS IT IS NOT PRODUCTION CODE. In production code if you don't fully understand the math edge cases will destroy your codes reliability and security.

  37. I went into programming with this mindset... by Garridan · · Score: 0

    I hated math in high school. I took a couple of coding classes when I got to college, and soon thereafter got a few jobs programming. I didn't really enjoy what I was doing, so I went back to school.

    Programming taught me how to think rigorously. With a mind geared towards precise thinking, I found math to be a breeze. Now... I'm a mathematician who spends all her time programming -- I can tackle problems that old pencil & paper mathematicians balk at.

    You don't have to be good at programming to do math. You'll just suck.

    Also, math is not just arithmetic and calculus, you incompetent fools.

  38. She's halfway there... by Elf+M.+Sternberg · · Score: 1

    Sounds like she's well on her way to being a full-stackoverflow developer. I know a few of those. I work with a few. Some of them are surprisingly good at their job, as long as their jobs are producing working web-code on a deadline. It's not creative or clever. All of the actual mathematical work is done for them. They're fine people who would be utterly and completely lost if Google and Stack Overflow weren't there to point them in the right direction.

    1. Re:She's halfway there... by __aaclcg7560 · · Score: 1

      I use Google and Stack Overflow to research a programming question before posting it to the Python list. More often or not someone had already asked that particular question and an answer or two was already posted. Most of the time when I do post a question to the Python list, it's because I'm missing a vital keyword for the search engine to provide better search results. If you haven't tried a solution in code and haven't searched the Internet, don't bother asking questions on the Python list until you do.

    2. Re:She's halfway there... by Anonymous Coward · · Score: 0

      ...and you're just like them, so sit your pretentious ass down and shut the fuck up.

    3. Re:She's halfway there... by cyberchondriac · · Score: 1

      IANAP, but the "copy and paste" mentality worries me. I've done basic HTML as a hobby but refused to use javascript unless I understood how it worked. But that's just web stuff. When it comes to real apps, it would be even more critical, especially if more and more programmers start cutting corners. If you don't really know how your program is doing what it's doing, how are you supposed to troubleshoot it?

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
  39. Really??? by Anonymous Coward · · Score: 0

    Try coding in COBAL without decent Math skills thank-you-very-much.

    1. Re:Really??? by kuzb · · Score: 1

      I assume you mean COBOL, since COBAL isn't a language. I wrote stuff in that language before I was even taught in school that half of what I was doing was called "basic algebra".

      A language being old doesn't suddenly mean you're required to be a Math major to do something in it.

      --
      BeauHD. Worst editor since kdawson.
    2. Re:Really??? by Cro+Magnon · · Score: 1

      A language being old doesn't suddenly mean you're required to be a Math major to do something in it.

      Maybe not, but my knowledge of hexadecimal sure came in handy when tracking down 0C7 errors from a memory dump.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
  40. Hey, I do that! by Anonymous Coward · · Score: 5, Interesting

    Math is a tool like a hammer or a screw driver. A carpenter typically does not love their tools, but they sure know which one to use with a nail or a screw.

    Math is being taught wrong. Most math teachers love their subject and do not understand why the students do not also love the subject, when they provide no practical use. Practical uses are many, such as amortization, 3D physics accurate simulation, and robotics.

    For example, I teach typical HIGH SCHOOL students bubble sort, then merge sort using recursion in GCC. We then create a list of 1,000,000 fake names using "rig", and temporarily replace the /usr/bin/sort program with our own, discussing the big O.

    The students typically enjoy these assignments as they begin to understand the GNU tools, and have a practical use for both math and logic. The problem solving process and application of new concepts are valuable whether or not students will ever write a sort program again in their lives.

    1. Re:Hey, I do that! by Anonymous Coward · · Score: 0

      Math teacher (Professor) here.

      You may be right about how in Math we don't have enough cool demonstrations and practical uses. However, its really a hard thing to fix. I'm not going to begin some big-picture philosophical debate, but just relay the facts as I see them.

      Suppose you take a particular topic in say, an Algebra class. I might take a 1 hour lecture and devote that to the topic...quick overview of the background, the basic problem we're trying to solve, explanation of the machinery we'll use, and wrap it all up with some examples.

      Now, suppose we *really* want them to *get* the topic. So after I talk about all the stuff I just did, I start to lecture and show them why its used. I explain how what we did is really something that applies to such-and-such particular situation in (say) physics. We set up and design an experiment where the students can verify this! With there newfound knowledge, I have them solve some real-world problem *on their own* taking the method full circle...great, right?

      Well, here's the problem: Instead of devoting 1 day to the topic, I've now devoted 3 days. So the students now have to take 3 times as many classes just to get the same amount of material under their belt. Do they learn more in the end? Sure! But they invested so much more time! Also, a lot of them don't really want to learn about physics, because they're accounting majors. While maybe you and I can appreciate an application of math regardless of the field, I assure that 20 years of experience tells me many students do not.

      So what are we to do? Well, probably what I do...the "system" requires that students learn a certain amount of material in the class, and that they can graduate in four years. So to make that happen, we cut out applications...I mention them, even discuss some in detail, but as an afterthought really. In a lot of "math" classes, its really about the math...you have to take our word for it that you'll be using it later.

  41. one minor issue by Anonymous Coward · · Score: 0

    Even if we go along with her, I have one minor nit to pick!

    She admitted good logic skills are needed. How does one learn good logic skills? The only actually logic class I had was fairly high up (ok, middle ) in the MATH dept chain of classes. It was at college, so it was after algebra 3/4 sometime. You can't suck too bad at math to get to the 'good logic skills'

    Or are we counting on innate skills? Good logic skills are less common than common sense and....

    WTF is up with coding everywhere by everyone? What the bloody hell are they all going to program? Or is coding refering to more like her example of change the color to red?

  42. Coding != Software Development/Engineering by devforhire · · Score: 2

    Coding is what kids do in their basements and students do in CS class. Coding is to a professional software developer/engineer what skating is to a professional hockey player. The job can't be done without it, but it's only one of many core skills. Yea, it may not require a lot of math, but don't expect to be able to just code and get far.

  43. Math. Coding. What are you doing? by Anonymous Coward · · Score: 0

    I started out as a Comp-Sci (Bs) major in college. Got A's in all the software classes (Pascal, C, Fortran, Modula-II, etc - even that disgusting thing called Java), but just struggled through the math classes. Took me almost a year to get past Calculus 1 (yes, the intro class) with a C-, only because the instructor took pity on me. Turns out the reason why I could not hack my way through the math classes is because all the math profs were 'pure' math majors - not programmers or engineers, with no idea how to explain real-world usage. I learned more in a 10 minute conversation with one of the Engineering students - a conversation about how calculus [specifically, the derivative] actually worked and what it did - than I did in almost a year of struggling in class.

    I've dabbled in OpenFOAM, 3-D graphics, real-time control loops, state-machines, assembly (x86, 65xx, Atmel, ARM, etc), and even taught myself enough COBOL to understand how a supercritical wing design program worked.

    Since graduating with a Cultural Anthropology (Ba) degree, with a linguistic and comp sci minor, I haven't missed much. More than half of the graduating class of CS majors I went to school with ended up working in service jobs. A couple went to Microsoft as testing lackeys. One wrote a cook-book. Supposedly there is one working as an English instructor in Korea.

    Take away of all this:
    1. You don't have to be a math geek to program. What you need to learn, you will pick up. Curiosity is more important.
    2. You need to learn math from someone who knows what math can do - not someone who knows what math is.
    3. Calculus is a virgin.

    1. Re:Math. Coding. What are you doing? by Anonymous Coward · · Score: 0

      We get it. You're a fucking idiot who is incapable of learning basic things without someone sucking your dick through it. Yay you.

  44. Programming by jgotts · · Score: 4, Insightful

    Based upon my three decades of programming experience, programming at rare times may require you to brush up on what you learned in engineering school, but essentially your degree is mostly a worthless piece of paper in terms of career usefulness. I've used much less than 5% of what I learned there, and probably more like less than 1%. My most useful class was software engineering, because it touched on the non-technical aspects of being a programmer.

    There are small subsets of programmers that use geometry and calculus, but even if we only remember the basics those types of programmers don't need to worry about nit picky details because we all use libraries. You'd be absolutely foolish to open up a calculus book and write your own library function, unless you're doing something extremely novel. Novel is bad when you are trying to write maintainable code.

    What is useful to you as a programmer is to understand what big O notation is. It's advanced math beyond calculus, but it always seemed like common sense to me. If you have to do n^2 operations for every n, that's worse than having to do n operations. In 30 years I've never had to worry about little o or logarithms. Google gets specific in interview questions about all of these notations, but I'm telling you what is actually useful.

    What is not useful to you is mastery of the syntactical details of any language. Try to program as if you're writing English. Write software in such a way that you could be doing it in any language. Write software that the next person can read, instantly understand, and begin modifying.

    Programming isn't purely doing Google searches. What I spend most of my time on is seeing how the software I'm working on already solves a problem and to use as similar techniques as possible, so that the next person who works on it will encounter consistency. Every change I make I make for a reason, and I understand every change I make well enough to explain it to my mom.

    Another way of looking at it is the technical interview is almost completely useless. You can ace a technical interview and write the shittiest code I've ever seen. You can perform average on an interview and write the cleanest code I've ever seen. If anything, detailed technical knowledge should count against you. The next person to maintain your code might not know every trivial little feature of the language you're using and has no admiration for your cleverness.

    Write software like Hemingway, not Thomas Hardy, and don't sweat the math.

  45. This must be click bait. by smadasam · · Score: 1

    Is this some kind of click bait? Maybe a joke? If you can Google how to do your job, then your job must be very easy that anyway who knows how to Google and knows basic math can do it. It sounds like the next job to be automated. :) Anyway, I wouldn't hire anyone to work for me as a programmer than has a 4th grade level math understanding or hates math. Anyway, programming and algorithms are math, or at least a sub branch of math...at least up unitl the 50-60s or so when Computer Science was its own thing. ....sigh... Thanks for the reminder of only taking programming jobs that can't (likely) be done by a person like this, or someone who went to a coding boot camp of some kind.

  46. Thus the nearly incompetent. by Anonymous Coward · · Score: 0

    You could get sued for copying someone elses code the way you are going.

  47. Often aren't "math guys" but "arithmetic guys" by mx+b · · Score: 4, Interesting

    Certainly, not every programmer with a strong background in math is like this. But I've worked with people who are proud of their math ability, and who would be the first to tell you how critical math is to programming, who write terrible code ... They pride themselves on their "uncommon" ability to keep lots and lots abstract details "in their heads," and in their "analytical" skills.

    Throughout elementary, middle, high school and even into college (dependent a bit on major), we tell kids that "math" is learning your times tables, balancing a checkbook, and basically arithmetic skills. There's some algebra thrown in there in high school but for the most part, most people think of math as doing arithmetic. I'll give you an example. My mother says "You're so good at math!" whenever she's baking cookies and asks me how much flour to use if she wants to double the recipe and she typically uses 1/3 cup of flour. This isn't unusual; I heard this all through my life, from family, friends and even teachers.

    Mathematics, however, is really just logical thinking. It is the art of logical reasoning about problems. Often applied to numbers, sure, but it doesn't have to be, or at least not in a concrete sense. It's more about reasoning about patterns, abstracting different types of problems (realizing that two problems you thought were different are actually the same type of problem!) There are whole college courses in mathematics I took back in the day where not a single number was written on the board. It was all symbols and functions and proving properties of things (meaning: what can I logically conclude about something based on this list of facts?). Being good at math really means being good at reasoning about problems, abstract away the difficulty, and notice patterns.

    I think the disconnect is that there is a healthy population of people running around that declare themselves "good at math" because everyone they know (family friends teachers) tells them they are good at math... because they did arithmetic and basic algebra well. The end. I've met several people like that. Doing those things at a high school level is more about memorization (think: memorizing times tables, memorizing "FOIL" method for multiplying polynomials, memorizing quadratic formula, etc.) than logical reasoning. You might get a taste of that in high school geometry if you're lucky, but honestly even that seems to mostly be "memorize this proof about geometry" without really building logical reasoning skills that can be applied to other problems. You just do it for the sake of doing it, from the students' perspective.

    The people that are "good at math" you meet that suck at programming are likely the people that fall into this category. They were great at K-12 math classes because they can memorize and hold a lot in their head, and they probably learned programming by the same method -- look at code (in a book, google search, whatever) and memorize the code. They memorize what functions do what, and how to throw things together, but they never really internalized that abstraction and problem solving that a true mathematical mind has. So they never really learned how the code goes together, or why one pattern is better than another. They just memorized an approach that worked in the past. I've seen a lot of that too unfortunately.

    A real college level course in mathematics is really eye-opening (likewise, I think physics majors and a few others also experience this), and I think that ability to reason abstractly really does make a huge difference in how you approach problems. Even if you never directly use your math classes at your job, having gone through those classes permanently change how you think about and approach problems, and I think that is a huge benefit. It's a shame most people -- even the ones "good at math" -- never take one of those classes.

    1. Re:Often aren't "math guys" but "arithmetic guys" by thinkwaitfast · · Score: 1

      How much logic is required to solve a partial differential equation? I've had a few semesters on this subject, but never had to think of problems in the Boolean or number theory sense of logic It's mostly tricks and techniques to manipulate equations to something that's known.

    2. Re:Often aren't "math guys" but "arithmetic guys" by MightyDrunken · · Score: 1

      Oh for mod points. I've had a bucket load for the last few days and when I at last see a good post needing some mods points, they vanish.

      I program all the time and do very little with numbers other than counting. However as others have already said computer languages are actually maths. The problem solving, logic puzzle, abstraction part of maths.
      Well explained mx+b!

  48. Don't have to understand the equations by Anonymous Coward · · Score: 0

    Cargo cult programming.

  49. All mathematical fields are necessary nowaday by guestapoo · · Score: 3, Interesting

    When I was in hobby programming, I was advised that Combinatorics is necessary for learning (at least basic) algorithms, but combinatorics require some set theory, linear algebra, and group theory. Computer graphics, I thought linear algebra is enough. But modern CG requires also calculus, digital signal processing, etc. Digital signal processing require mathematical analysis, probability, calculus. Computer vision requires knowing statistical mathematics, but to understand statistic, one must understand probability, which requires at least mathematical analysis.

    1. Re:All mathematical fields are necessary nowaday by lucm · · Score: 3, Insightful

      I have no idea what is Combinatorics, and I would have to google many of the words in your comment, yet I've been programming for a living since the late 90s.

      Not everyone in IT is coding videocard firmware.

      --
      lucm, indeed.
    2. Re:All mathematical fields are necessary nowaday by guestapoo · · Score: 1

      I know it's a sarcasm ;), but this just example how complicated things today when one comes to real 'advanced programming'. This (mine) is NOT the "ontopic" post, I reply the ShanghaiBill (739463) post, which reply the "advanced maths" post.

      Yes, programming may not require (advanced) maths, but when ever you solve complicated problems, you implicitly/explicitly require maths: at least, logic.

    3. Re:All mathematical fields are necessary nowaday by Anonymous Coward · · Score: 0

      Combinatorics is fucking statistics. Why are you leading us in a mathematical circle?

    4. Re:All mathematical fields are necessary nowaday by Actually,+I+do+RTFA · · Score: 1

      have no idea what is Combinatorics,

      If you've been programming since the nineties, you probably do. Combinatorics is basically what tells you that making quintuple nested for loops scales at the product of the size of each loop. It gets more complex, of course, but basically it's one of the cores of optimization.

      --
      Your ad here. Ask me how!
    5. Re:All mathematical fields are necessary nowaday by sverdlichenko · · Score: 0

      And what are you coding exactly? Anyway, it's okay. There is a lot of actors who are doing it for living and have to google a lot of words about acting too. It is just a pain to watch, but no one have to.

    6. Re:All mathematical fields are necessary nowaday by Anonymous Coward · · Score: 0

      Combinatorics is the study of counting, which is why it is necessary for algorithms - without combinatorics, it is hard to determine the efficiency of algorithms. Also a lot of things can be done more quickly by using combinatorics to reduce redundant calculations. Simple combinatorics covered in an intro probability class include counting the number of ways to arrange n objects or a subset of r objects from a set of n (n! and n!/(n-r)! respectively, where n! = n(n-1)...1 if you are curious). It also includes counting ways to choose an r-set from an n-set (so a 3 member committee from a 20 person department for instance). Combinatorics is often overlooked in the primary school curriculum, but does not really require anything more than high school algebra to get started. More advanced areas start to use sequences and series which are often first encountered in calculus, but could be developed independently. Deep probability requires analysis, but a working knowledge can omit it, just as real statistics requires calculus, but 95% or more of the students taking statistics take a non-calculus based statistics class.

  50. Fourth grade my fuzzy ass by PopeRatzo · · Score: 2

    Apparently this dummy, Olga Khazan (if that is indeed her real name) doesn't realize that there's a difference between "hating math" and not knowing any math beyond that taught in the 4th grade. Shit, I hated math, but I went through Calculus and Real Analysis. Then I married a mathematician so that I could get my partial differential equations solved via the bonds of matrimony. You know, whenever the need arises.

    If you don't know basic algebra, you're not going to code for shit. It's like that Republican legislator from Arizona, Al Melvin, who believes that doing math with letters instead of numbers is a liberal conspiracy.

    https://freethoughtblogs.com/p...

    If you can't do that liberal math with letters instead of numbers, you can't code for shit.

    --
    You are welcome on my lawn.
  51. Output will show it by Vlijmen+Fileer · · Score: 1

    It's probably partly true. But only for the case where the software you are going to write is not big or complex.
    As soon as that aspect comes around the corner, people with a mind trained in logic and structural thinking (mathematicians, physicists), have a very clear advantage, and it will show in the the quality and maintainability of the code.

    1. Re:Output will show it by FranTaylor · · Score: 1

      people with a mind trained in logic and structural thinking (mathematicians, physicists), have a very clear advantage, and it will show in the the quality and maintainability of the code.

      Actually the opposite is true. Skilled niche engineers tend to write frightfully cryptic code. It's totally brilliant stuff that runs fast and works like the dickens but it's just chicken scratch to all of the other engineers.

      It's the younger, novice engineers that tend to over-comment and use the more correct programming idioms that they learned in school. The older more experienced developers picked up this stuff on their own, and they code by their own rules.

  52. Too late. by Narcocide · · Score: 1

    JQuery.

  53. Re:Learning to program by Googling + Trial & E by FranTaylor · · Score: 1

    If builders built buildings the way that programmers wrote programs, then the first woodpecker that came along would destroy civilization.

    The phrase "software engineer" is a horrible joke, they are bumbling fools akin to "Theodoric of York" in the SNL sketch. "more buffering!"

  54. Re:Learning to program by Googling + Trial & E by lkcl · · Score: 0

    This is why so much poor software exists in the world.

    I can only imagine what nightmare code is being generated by such efforts.

    Yes, anyone can code, just as anyone can build a house. Whether or not the house collapses immediately, whether it has any real value, or by any other measure still depends on the skill of the builder, just as in software.

    Garbage in -> Garbage out,
    applies to the code as well as the data.

    -AB

    honestly, i can say that if it gets the desired results, who cares. it's going to be maintainable by that person, because they were the ones that wrote it. now, if this was a team effort, however, that would be a completely different matter. if there was a requirement to have a maintenance contract in place, for the long-term success of the code and the project, that would be, again, an entirely different matter.

    i *do* actually successfully use the technique that the author uses - i have been using it successfully for over 30 years. however, during that time, i have added "unit tests", source code revision control, project management, documentation, proper comments, proper code structure, coding standards and many many more things which make a successfully *maintainable* project.

    whilst such things are most likely entirely missing from the projects that this individual is tackling, the projects that this individual is tackling are also likely to be ones that *don't need* such techniques.

    in essence: none of that de-legitimises the *technique* of "programming by random research". it's a legitimate technique that, i can tell you right now, saves a vast amount of time. understanding comes *later* (if indeed it is needed at all), usually by a process of "knowledge inference". to be able to switch off "disbelief" and "judgement" is something that i strongly recommend that you learn to do. if you've been trained as a software engineer, adding "programming by random research" to your arsenal of techniques will make you much more effective.

  55. Learning HTML and CSS is nothing special by future+assassin · · Score: 1

    its pretty basic and anyone can get it but learning something like Perl or PHP even Javascript you need certain kind of brain to do it. I can do html and css again its as basic as you can get but for me I can't for the life of me write a basic Perl or PHP script no matter how much I try. I can create great graphics, can fix cars with most issues, build hydroponics systems and amaze people with growing plants in them but fuck me I can't get programming.

    --
    by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
    1. Re:Learning HTML and CSS is nothing special by Anonymous Coward · · Score: 0

      its pretty basic and anyone can get it

      Yep. I helped someone learn it. While she was recovering from a brain injury from a car accident. While she was scoring for shit on neuropsych tests of attention and focus and short-term memory. While she was having problems with word selection and verbal comprehension.

  56. Spoken and programming languages by Anonymous Coward · · Score: 0

    While I too would not consider basic Web design true programming, I would agree that for most programming nothing more than basic algebra is required. I myself have learned multivariable calculus and differential equations as part of my degree, I have never used any of it in programming. At most I've used trigonometry and only because I wanted to write my own graphics engines for practice.
    What has been of immense usefulness is learning other languages. I learned to program in several programming languages before learning several spoken languages, and as a programmer it was extremely easy because it's just like using a different syntax. This also goes the other way; understanding the grammar of multiple spoken languages makes it easy to pick up new programming languages, and it has given me a huge edge over my peers by drastically reducing the learning curve. They say if you know 3 or more different (spoken) languages it makes it substantially easier to learn new ones, and I would definitely say that includes programming languages. It's really just an ability to quickly learn new structural rules and templates, which apply equally to programming and spoken languages. Conversely, in my experience people that struggle to write grammatically correct papers also do poorly at programming.

    That being said, knowing how to use a programming language is very little of what it means to be a programmer/software engineer. The ability to properly apply design patterns and create code that not only works but works well and doesn't blow up when subjected to incompetent users is a whole other skill that is specific to engineers and typically is not something you just learn by trial and error.

    1. Re:Spoken and programming languages by Anonymous Coward · · Score: 0

      "While I too would not consider basic Web design true programming..."

      That just tells us you don't know what programming actually is.

  57. Blasphemy by lucm · · Score: 1

    Are you implying that Slashdot editors misrepresent the content of articles in order to generate more activity on the forum?

    Well it doesn't matter. The real purpose of links in Slashdot stories is to take boring people out of the way of a good discussion by leading them to another website. Apparently it doesn't always work.

    --
    lucm, indeed.
  58. But... by pubwvj · · Score: 1

    "You Don't Have To Be Good At Math To Learn To Code"

    But it certainly does help.

  59. True for some things - but physics ... by dbIII · · Score: 1

    That is true for some things, but if you want to do something related to modelling just about anything in the real world a lack of understanding of geometry and calculus is going to get in the way. In other situations a lack of understanding of probability and statistics will mess you up.
    For example, Carmack is considered awesome for (among other things) both understanding what a CPU could do quickly and what he was modelling, thus getting an effective approximation quickly without precision that was not required. You can't do that with 4th grade mathematics.

    1. Re:True for some things - but physics ... by thinkwaitfast · · Score: 1

      99.8% of people are not doing what Carmack did.`

  60. Re:Learning to program by Googling + Trial & E by Puff_Of_Hot_Air · · Score: 1

    It's called "Cargo Cult" and it applies to more than programming. But yes, this is why so many things suck.

  61. Re:Learning to program by Googling + Trial & E by sribe · · Score: 1

    it's going to be maintainable by that person, because they were the ones that wrote it.

    No, actually it won't be. These kinds of programmers write code which even they cannot maintain, not an hour after they wrote it.

  62. LOGIC is not the same thing as MATH by Karmashock · · Score: 1

    Math is a symbolic subset of LOGIC. Math must BE logical but not all things which are logical are also math. That said, anything which is logical should representable as math but just because something isn't represented as math does not make it illogical.

    Coding is not math. If you showed C to a mathematician he wouldn't know how to read it unless he also knew C.

    What is important in coding is LOGIC. Highly logical/rational people do well at coding. People that are good at math are generally also good at logic. However, I've known quite a few math whizzes that were actually pretty bad at logic outside of traditional symbolic mathematics. Why? They were bad at defining variables, operators, etc. They couldn't convert the situation into math. And because they couldn't do that, they couldn't leverage their facility with math to solve the problem.

    And that goes both ways. There are some very very logical people... highly highly rational... that are utter shit at higher math.

    Take a lot of business leaders that do very well year after year. They make BILLIONS by understanding complex systems and relationships and choosing the optimal solution repeatedly so that they make boatloads of money for themselves, their investors, and their companies.

    But do you think these guys are sharper with the math than your average math graduate student? Generally not. Put those two people head to head though in the business world and that veteran business mind is going to prison rape the math graduate when it comes to results.

    Being good at math is not the same thing as being good at logic IN GENERAL. And being good at logic does not make one good at complex mathematics.

    --
    I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    1. Re:LOGIC is not the same thing as MATH by sribe · · Score: 1

      Coding is not math

      Yes, it is ;-)

    2. Re:LOGIC is not the same thing as MATH by Karmashock · · Score: 1

      No it isn't. If I turned in a sheet of lamda calculus code in response to a test question on a math exam, I would get a ZERO.

      That is a math professor judging that my response is not a valid response.

      That you can have MATH in coding is not the same thing as saying that coding is math.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    3. Re:LOGIC is not the same thing as MATH by sribe · · Score: 1

      No it isn't. If I turned in a sheet of lamda calculus code in response to a test question on a math exam, I would get a ZERO.

      That would depend entirely on whether or not the subject of that math exam was the lambda calculus. Your quote makes no more sense than saying that if you "turned in a sheet of partial differential equations in response to a test question on a math exam" you would get a zero. Sure you would, if the test question was on a different branch of math, but so what?

      That you can have MATH in coding is not the same thing as saying that coding is math.

      WHOOSH!

      Every function, every expression, is a formula in the lambda calculus.

      Every programming language is isomorphic to the lambda calculus; so the syntax is different, but the underlying operations are the same.

      I suspect you did not even read the first paragraph of the linked article, but if you did, you might want to try again, more carefully this time...

    4. Re:LOGIC is not the same thing as MATH by Karmashock · · Score: 1

      By this reasoning any language is math. Here you might say "but not all language is rational"... to which I'll say "not all math is correct". I can say 1+1=pineapple... is that math or not?

      You conflating math with language and thus equating all languages to each other.

      My point, sir... is that there is a distinction between MATH as a scholastic subject taught in a university and LOGIC as a philosophical pursuit as taught in university or simply practiced in the school of hard knocks of life.

      My point is self evident.. You have a specific programming language that looks more like math than the others in its syntax? Okay. Good for you. That doesn't mean people coding Java programs are better at it if they mastered some field of higher mathematics or not.

      The point of the article and my comment upon it is that programming and mathematics are cousins in the same philosophical school but neither one is subordinate to the other. They are related but different.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    5. Re:LOGIC is not the same thing as MATH by Anonymous Coward · · Score: 0

      Only the *formal* languages are mathematical. And anyone doing anything with a formal language (e.g., coding) is unavoidably doing math.

    6. Re:LOGIC is not the same thing as MATH by Karmashock · · Score: 1

      No, they're logical... math is a subset of logic.
      https://en.wikipedia.org/wiki/...

      Logic
      ---Mathematical logic
      ---Computational logic
      ---Philosophical logic
      etc.

      All math is logical but not all logic is math. That is how you know that math is a subset of logic and logic is not a subset of math.

      You know this simply by thinking about the question itself LOGICALLY.

      Go through the logic Actually think about it systematically.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    7. Re:LOGIC is not the same thing as MATH by sribe · · Score: 1

      By this reasoning any language is math.

      Absolutely not. That's just 100% a strawman argument pulled out of your...

      You conflating math with language and thus equating all languages to each other.

      Nope. I am not.

      My point, sir... is that there is a distinction between MATH as a scholastic subject taught in a university and LOGIC as a philosophical pursuit as taught in university or simply practiced in the school of hard knocks of life.

      I am discussing math as taught in university, in the math department, by math professors.

      My point is self evident.. You have a specific programming language that looks more like math than the others in its syntax? Okay. Good for you. That doesn't mean people coding Java programs are better at it if they mastered some field of higher mathematics or not.

      Some of them look more like math than others, and that has nothing to do with my point; in fact it's what confuses many people about this point--they are all math, they are all ways of expressing functions in a specific category of math. And, actually, people who understand the math do have a deeper understanding of coding--doesn't necessarily mean they're better in practice.

      The point of the article and my comment upon it is that programming and mathematics are cousins in the same philosophical school but neither one is subordinate to the other. They are related but different.

      Yes, I get that. But you are claiming that an entire field of mathematics is "not math", and that is a completely wrong, silly, even, claim.

    8. Re:LOGIC is not the same thing as MATH by sribe · · Score: 1

      No, they're logical... math is a subset of logic.
      https://en.wikipedia.org/wiki/... [wikipedia.org]

      You know what's really funny? That if you READ that link it talks about the branch of mathematics that analyzes logic.

    9. Re:LOGIC is not the same thing as MATH by Karmashock · · Score: 1

      Your claim of strawman is not based in any reasoned argument. Is this how they taught you to make an argument in "university"?

      I supported my position.

      And by simple logic... you can tell which is a subset of which.

      Is all math logical?

      Yes.

      Is all logic math?

      No.

      Thus Math is a subset of applied logic using standardized symbols.

      The argument presented above to which I responded expanded the definition of math so widely that it encompassed all language which would make any expression in any such language to be math. Nonsense obviously.

      You can beat your chest all you like and say you studied one thing or another anywhere you like. It won't do you any good if you're actually wrong.

      I'm sure you're educated and I'm sure you're smart. But that's like saying you have a tank and training... but someone naked with a rock can still come up behind you and cave your head in if you're not paying attention.

      And that is what happened here. Your citation of education rather than bolstering your position merely shows that you really should know better than to make this argument.

      Its unsurvivable.

      Assuming you want to talk about "formal languages" versus "informal languages"... while programming languages are formal in the sense that they are literal with tightly defined fixed meanings it is a stretch to conflate this with the standard mathematical languages. They are properly logical instructions rather than mathematical representations.

      One could find highly literal languages elsewhere that would be hard to cite as math. Certain aspects of the law for example are effectively formal languages in that they deal with VERY tightly defined meanings of words and terms that are manipulated to create contracts and laws.

      now does that mean the judges or jury or legislators are competent to interpret these laws or that they were very well written in the first place? Saying the law isn't a formal language in this context for that reason is sort of like saying a given programming language isn't a programming language because its compiler is sloppy and operates unpredictably.

      Something isn't a formal language merely because its practitioners or interpreters are not competent to read it. The other issue the law has is definition drift. A term can mean one thing 200 years ago when a law is written and the law appears to mean a new thing today because we have a new interpretation of that word. Which is akin to compiling an old program with modern libraries... chances are the fucking thing is going to bomb out because things change. To understand an old law you have to interpret it using the context of the time it was written so you understand what the law was actually doing. What you want it to now is another matter and you can change the law as you see fit to say whatever you want. But what is relevant with a law is what the law meant at signing into law.

      There is an argument for storing a library of definitions for various legal terms with laws at the time of their signing. Though what legal scholars do in practice is read essays written at the time that discuss the intentions of the law at the time which tends to make clear any discrepancies.

      This is a big problem in the US especially because we have one of the older legal codes in the world with some of our laws going back to 1791... not counting English common law which goes back quite a bit further.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    10. Re:LOGIC is not the same thing as MATH by Karmashock · · Score: 1

      ... you just admitted to not knowing what a subset is.

      https://www.youtube.com/watch?...

      English motherfucker! Do you speak it?

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    11. Re:LOGIC is not the same thing as MATH by binarstu · · Score: 1

      This thread covers topics that are of interest to me, so I've been following it for a while, but you are missing the point so badly here that I now feel compelled to comment. You really, truly, have no idea what you're talking about, do you? Here are four of the most egregious examples.

      1. You said, and I quote you directly, "Coding is not math."

      As sribe has already patiently tried to explain to you (in vain, apparently), that statement is completely, demonstrably false. There is an entire branch of pure mathematics devoted to computation and computability, and it includes formalisms that encompass all programming languages and the statements that can be written in them. Your ignorance of this, and whether you choose to accept it, does not matter -- it is an objective fact.

      2. Your grasp on this subject is so weak you don't understand that you made a really poor strawman argument, even though sribe pointed it out to you. You said,

      Your claim of strawman is not based in any reasoned argument. Is this how they taught you to make an argument in "university"?

      No, sribe explained it perfectly well, regardless of whether you were unable to understand. I'll try to explain it for you again. You claimed that if the lambda calculus means that a programming language is math, than any language must be math, which is false, so it must also be false that programming languages are math. Specifically, you said, "By this reasoning any language is math", and, "You conflating math with language and thus equating all languages to each other." That was the strawman argument that you made. Do you get it now? Besides being a strawman argument, claiming that the lambda calculus means all human languages are math is so bone-headedly stupid that it hardly deserves further rebuttal, so let me just say this: No, it doesn't. Not even close. Again, you have absolutely no clue what you're talking about. Please, learn something about this topic before you embarrass yourself again.

      3. Then, there is this comment you made earlier:

      No it isn't. If I turned in a sheet of lamda calculus code in response to a test question on a math exam, I would get a ZERO.

      You are claiming that the lambda calculus is not math? Seriously? Or what did you mean by "a math exam"? Again, this comment displays such complete ignorance of the subject that I am almost embarrassed for you.

      4. Finally, you keep claiming that math is just a subset of logic, but you contradicted this all by yourself in your very first post, where you said:

      anything which is logical should representable as math

      If anything in logic can be represented as math, than logic must either be a subset of math or equivalent to it.

      You know, it's okay just to admit you were wrong about something. There is nothing wrong with being curious but uninformed, and graciously accepting help when people try to provide it for you. That looks far better than digging in, trying to defend an ignorant viewpoint, and making yourself look even more ignorant in the process.

    12. Re:LOGIC is not the same thing as MATH by Karmashock · · Score: 1

      1. Coding CAN be math but it can also NOT be math.

      Thus coding cannot in general to be said to be "math".

      However, coding is always logical... possibly incompetently written but if it works then it is logical because the compiler was able to accurately interpret it.

      To say all coding is math is to say that all logic is math.

      The problem with that is that once all logic is math by virtue of being able to translate it into symbolic logic... we then run into the problem of how many things can be represented logically and really there are very few things including religions or whatever that can be represented this way and yet... I wouldn't call the bible "math" even if I could represent it that way.

      2. As to the whole thing about formal languages versus informal languages... I actually responded to that point very clearly:
      ""
      My point, sir... is that there is a distinction between MATH as a scholastic subject taught in a university and LOGIC as a philosophical pursuit as taught in university or simply practiced in the school of hard knocks of life.
      ""
      You ironically claim I didn't read or understand what someone was saying but you're so fixated on your own argument that you didn't bother to understand mine.

      This renders your position indifferent to the issue because we're not talking about the same thing.

      It is as if I am saying 1+1=2
      And you keep responding "But bananas are yellow"

      It doesn't matter. Your point does not touch on my point. So say whatever you want on YOUR issue but it isn't MY point. You're not arguing against me with THAT argument. You're arguing against what you want ME to argue against and I won't because that isn't my argument.

      That you claim I strawmanned someone when your entire argument is an unintentional strawman against me is really pretty funny. I don't think you did it on purpose. But you don't understand I'm saying and so you are arguing against something I didn't say. Here you'll likely feel like you can quote me to prove I was saying something. The problem is that you already did that and you took me out of context when you did it and ignored supporting arguments that would have corrected your misunderstanding. It is my belief that rather than correct your position you're going to keep doing that.... effectively doubling down on the strawman. And that's not productive.

      So here's what we're going to do.

      You're going to state your opinion indifferent to anything I've said. Just state YOUR opinion. Fresh. And then lets see if I disagree with your opinion. If I do, then we can engage on that basis. But my guess is that we won't disagree thus revolving the dispute.

      Do you accept? :-)

      I'm not a bad guy. I'm not an idiot. And I'm not ignorant. If you start with that premise then you're going to have problems.

      3. No, I was claiming that it was not formatted in an academically accepted way. The point was that if you accept an arbitrary format that you start to expand the definition of math so radically that it becomes very hard to say anything isn't math. That was my point.

      4. We can't have this discussion if you just comb through my posts to take comments out of context. Even in this quote you missed a very important qualifier that was "should". That was not "must". It was "should". Not the same thing. But more to the point, I addressed this relationship repeatedly when I said that:
      "Not everything that is Logical IS Math, but everything that is Math is Logical." I used that statement to justify math as a subset of logic. And in fact, wikipedia if that matters to you observes the same hierarchy of disciplines.

      Beyond this we know the historic roots of these intellectual pursuits in a chicken and egg fashion... we know which came first. Riddle me this... which came first... logic as expressed in casual common language of formal logic as expressed in ridged formal mathematics? Obviously logic came first. Which means math was developed as a sub discipline of logic. That's

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    13. Re:LOGIC is not the same thing as MATH by binarstu · · Score: 1

      1. Coding CAN be math but it can also NOT be math.

      Thus coding cannot in general to be said to be "math".

      As has been explained to you repeatedly, the lambda calculus encompasses all programming languages and the statements and expressions that can be written in them. So, let's be clear: Are you denying that the lambda calculus is a branch of mathematics?

      2. As to the whole thing about formal languages versus informal languages...

      I didn't say anything about "formal languages versus informal languagues" in my post. Back to my actual second point, let me restate. Here is what you said before (bracket comment added for clarity): "By this reasoning any language is math", and, "You conflating math with language and thus equating all languages to each other." You said those things in response to sribe pointing out that the lambda calculus is a formal mathematical treatment of programming languages and programming. In other words, you claimed that if the lambda calculus means that a programming language is math, than any language must be math. So, are you standing by those statements now, or abandoning them?

      3. No, I was claiming that it was not formatted in an academically accepted way. The point was that if you accept an arbitrary format that you start to expand the definition of math so radically that it becomes very hard to say anything isn't math. That was my point.

      What were you claiming was not formatted in an academically accepted way? And how does this relate to my third point?

      In case you missed my third point, I'll repeat it.

      "3. Then, there is this comment [slashdot.org] you made earlier:

      No it isn't. If I turned in a sheet of lamda calculus code in response to a test question on a math exam, I would get a ZERO.

      You are claiming that the lambda calculus is not math? Seriously? Or what did you mean by "a math exam"?"

      Care to explain?

  63. Yeah, No by Anonymous Coward · · Score: 0

    I would not equate learning HTML with learning to program, and the kind of programming I do requires a lot more than 4th grade math.

  64. Hit the 2nd hand bookshops by dbIII · · Score: 1

    A lot of relatively old calculus textbooks in the USA, UK etc resemble those Russian ones in effectiveness.
    Plain descriptions.
    Examples.
    Lots of exercises.

    Those books of the 50's, 60's and 70's were good enough to get the NASA guys going and that part of mathematics has not changed at all at the textbook level since then. Sure, many kinds of numerical solutions are practical now but the textbooks then and now are about analytical methods.

    1. Re:Hit the 2nd hand bookshops by guestapoo · · Score: 1
      Yes, that style.

      Also, I agree, some *old* books by US authors were good, then the 5th, or 15th received very bad reviews in Amazon, because of *deleting* chapters, *striped* exercises to make new versions so that students must buy them.

      I think there are reason why maths textbooks in Soviet were good. In '80s, Kolmogorov was head of education program. He introduced "advanced maths" teaching for highschool, and the textbooks were written by some of the best mathematicians of the country. I think that why, by these practice, their style must be clear, simple enough, so the highschool pupils could understand.

      Some interesting read here, how USA responded to maths development in Soviet that time:
      http://articles.chicagotribune...

      Initially, the project considered adapting Soviet math books, but quickly realized that it needed an American curriculum that embodied this country's values, he said

    2. Re:Hit the 2nd hand bookshops by dbIII · · Score: 1

      American curriculum that embodied this country's values,

      i.e. Giving a stakeholder a job to write a local version.
      On the other hand I had to memorise stuff from a terrible series of books through high school written by a couple of teachers with political connections and didn't actually get to understand high school calculus properly until university - suddenly it made sense from first principles instead of just regurgitating bits of the textbooks. The library had those old books that didn't muck about.

    3. Re:Hit the 2nd hand bookshops by guestapoo · · Score: 1

      On the other hand I had to memorise stuff from a terrible series of books through high school written by a couple of teachers .... didn't actually get to understand high school calculus - suddenly it made sense from first principles instead of just regurgitating bits of the textbooks.

      :D , my situation may be different than yours but I have the same problem with maths because of bad textbooks, teachers. The quotation above describe nearly what I suffered.

    4. Re:Hit the 2nd hand bookshops by guestapoo · · Score: 1

      On the other hand I had to memorise stuff from a terrible series of books through high school written by a couple of teachers .... didn't actually get to understand high school calculus - suddenly it made sense from first principles instead of just regurgitating bits of the textbooks.

      :D , my situation may be different than yours but I have the same problem with maths because of bad textbooks, teachers. The quotation above describe nearly what I suffered. PS: I cannot post comment properly, so try again.

  65. Ignorance, declaratives and narratives by Anonymous Coward · · Score: 0

    The author of the article has real no understanding of either maths or coding. What matters, however, is clarifying why math is useful for coders. True, there are graphic and simulation applications, but is a much richer reason for math in coding.

    Maths is declarative. Programs have both declarative and narrative.

    The more declarative your program is, the easier your program is to build and maintain. It usually is more performant as well, as processing is replaced by mere assertion.

    If you don't understand this, then there is just a side to programming you don't know about yet.

    How do you program declaratively? Attempt to write as much of your program as possible in the manner of declaratives, so that as much as possible, it resembles a theorem.

    Math isn't what you learned in class. Math is what mathematicians do. Back to you now. Be on the outlook for every opportunity to replace narration with declaration and watch your software shrink in size, communicate what it does with amazing ease, run faster, and have fewer bugs.

    Think like a mathematician. Formalize the invariants. You will be able to solve bugs in days that people have tried for years.

    Also expect resistance as meat heads insist on pounding out useless, slow, and buggy narratives, all the while pounding their chests with pride.

  66. Funny thing by dbIII · · Score: 2

    In Australia the girls are getting better scores at high school mathematics than the boys by a wide margin. There was a bit of an effort in the 1980s to do something about the almost complete non-existence of girls in the advanced maths classes in co-ed schools while the effort to promote mathematics in general was reduced. Over the last few decades it's become a weird cultural thing where mathematics is seen as "girly" by the boys that are trying to be the alpha males via sport and peer pressure discourages the boys just like the girls were discouraged before.

    1. Re:Funny thing by Grishnakh · · Score: 1

      Not a problem. Pretty soon, reproduction won't require men anyway, and we'll have an all-female society as women realize that uneducated, idiot, sports-obsessed men are not an asset in their lives and push them out.

    2. Re:Funny thing by Anonymous Coward · · Score: 0

      In Australia the girls are getting better scores at high school mathematics than the boys by a wide margin. There was a bit of an effort in the 1980s to do something about the almost complete non-existence of girls in the advanced maths classes in co-ed schools while the effort to promote mathematics in general was reduced. Over the last few decades it's become a weird cultural thing where mathematics is seen as "girly" by the boys that are trying to be the alpha males via sport and peer pressure discourages the boys just like the girls were discouraged before.

      Which would tell one with good insight that it is not a male or female issue but one of insecurity of the holders of peanut sized cerebral cortexes.

  67. Logic: Math vs. Philosophy by SilentConsole · · Score: 1

    Whether or not you need to be "good" at math, or even "like" math to be a good programmer really depends on what discipline you believe that logic falls under - a lot of people who are scared of "math" don't think of logic as math. This is also why in Computer Science can be owned by either the Philosophy department or the Math department ( assuming it doesn't have it own. ) If you don't treat high level reasoning and logic as math, then you don't really need ANY math to be a competent programmer. While strict definitions of both math and philosophy might include computer science in them, the lay person doesn't really care about them. A lay person tends to think of numbers and equations when they hear "math".

  68. A program is a proof by plopez · · Score: 1

    That's how I see it. Given inputs produce outputs using logical operations, theorems (e.g. libraries), and lemmas (other code snippets).

    --
    putting the 'B' in LGBTQ+
    1. Re:A program is a proof by sribe · · Score: 1

      Given inputs produce outputs using logical operations, theorems (e.g. libraries), and lemmas (other code snippets).

      Yes, precisely.

  69. Different math from K-12 by pruss · · Score: 2

    It's hard to do almost any programming without understanding boolean operations (both logical and bitwise), and one will be really limited if one doesn't understand binary arithmetic and how hexadecimal works. I don't think this stuff is ordinarily taught in grades K to 4. One isn't going to understand how what integer types in many languages do unless one understands modulo-2^n arithmetic. Again, that's not ordinarily taught in grades K to 4. It may not even be taught in grades 5 to 12 (no doubt depends on school). None of this is *hard* mathematics, but it's mathematics nonetheless.

    Generally speaking, all algorithms should probably be thought of as mathematical entities. So whenever one is trying to figure out an algorithm for a task, one is doing mathematics. It's not the sort of mathematics one typically does in K-12, but it's mathematics nonetheless. And it's not uncommon to have to do a little bit of traditional mathematics on the side to figure out if you're going to run out of memory or take too long.

    And even if you're not trying to understand an algorithm yourself, at least you need to be able to understand statements like "Worst case performance of a merge sort is O(n log n) while the average case performance of a bubble sort is O(n^2)" in order to choose between off-the-shelf ones.

    1. Re:Different math from K-12 by Snotnose · · Score: 1

      Heh, boolean operations are so second nature to me I forgot I had to learn them. I remember spending a couple months on Karnaugh maps, something that was vaguely understood and I've never once used.

      But and/or/nor/xor, learned all that stuff in I think 2 days.

  70. So? by dbIII · · Score: 1

    "covers gender and health"
    So?
    I know a microbiologist that later went into journalism who covered travel and lifestyle for a few years. Then he did political and crime reporting (same thing for a while). Meanwhile the science reporter at that paper was an idiot with a long list of obvious mistakes but he had been in the role for a while. Sometimes the science reporter went on holidays and the microbiologist got to do a few science articles, despite being the "travel and lifestyle" guy.
    Drilling down into sub-specialities of journalism isn't going to do anything other than make you feel smug based on limited information.
    There is enough in the message to attack without going after the messenger. In many cases she's probably right despite the others where it's completely wrong (eg. the reason why I have scientists here churning out crap code that at least does something instead of CS grads that don't even have high school calculus in their heads so would not know where to start).

  71. I'm Hiring! by dark.nebulae · · Score: 1

    I hope she applies, she sounds like a great talent that I'd love to have on board!

  72. Olga Khazan is probably smarter than my dog. by slacka · · Score: 2

    As a programmer for over 20 years, this flies in the face of all my experience. While, there may not be a direct correction to one’s mathematical abilities and one’s programming skills, I have never worked with a *good* programmer who disliked or was poor at math. You need have a strong mathematical background to be a decent programmer.

    The real question here is why the hell a staff writer for The Atlantic who specializes in gender issues writing this article? From this quote: "From my experience, one thing you do need when learning to code is an ability to stifle your rage when computers don’t do what you want. Which is, alas, why I am not a good coder."

    Sounds like she too some online "web coding" class, failed miserably, and decided to turn it into a bullshit, poorly researched story. I mean really "People who program video games probably need more math than the average web designer.” Probably? I mean that's like saying Olga Khazan is probably smarter than my dog. Although with articles this poorly written, maybe that's a bad analogy.

    1. Re: Olga Khazan is probably smarter than my dog. by TheSync · · Score: 1

      "From my experience, one thing you do need when learning to code is an ability to stifle your rage when computers donâ(TM)t do what you want.

      I remember helping out my fellow classmates in the terminal room during my freshman C class [two hints to how old I am in that sentence!]. The biggest impediment I found was that they would get so upset and flustered at the computer that they could not calm down and try to figure out their errors! Once they relaxed, they typically quickly could see the problem.

  73. Re:Learning to program by Googling + Trial & E by Ol+Olsoc · · Score: 1

    Yes, anyone can code, just as anyone can build a house. Whether or not the house collapses immediately, whether it has any real value, or by any other measure still depends on the skill of the builder, just as in software.

    If builders built buildings the way that programmers wrote programs, then the first woodpecker that came along would destroy civilization.

    I've seen those little devils at work, and you are right!

    --
    The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
  74. Monks, and Security by Mondragon · · Score: 1

    This is not programming. It's *definitely* not developing. It *might* be coding, although if that's the case then that should be regarded as an insult to someone.

    "Coding" by googling and copying code is no better than monks who couldn't read who could copy important texts by copying the "pictures" (letters) before the printing press existed. Except this has significantly less value, and more danger - the internet is not magically full of "better" information on writing code than it is about anything else. The vast majority of the answers to the questions you will google will either be flat out wrong, or intentionally naive/trivial, as they are probably (at best) trying to teach a concept outside of the context of whatever you are doing. Without greater understanding you won't be in a position to know that the answer you found isn't the answer you want.

    And of course this is how you write apps with horrible security vulnerabilities.

    Please, deliver me from the legion of "coders" who take this seriously.

  75. In related news... by just+another+AC · · Score: 1

    I don't need math to build a bridge or skyscraper because some googling and youtube how to videos allowed me to do some home renovations.

    Worldwide we are heading for idiocracy.

  76. manual vs automatic by Anonymous Coward · · Score: 0

    you might have been right in 1980 with 3 speed automatics using a hydraulic analog computer to determine shift points.
    Today, with 6,7,8 speed automatic transmissions and electronic controllers, there are VERY few situations (even with a 4 speed auto) that a manual transmission will be more fuel efficient than an auto on the average.

  77. Re:Learning to program by Googling + Trial & E by thinkwaitfast · · Score: 1

    Uh, I built my house from googling. It really was not that difficult. Youtube helped a lot too.

  78. Author is completely ignorant by multimediavt · · Score: 1

    I'm sorry, but if you think that math is not important to coding you're completely ignorant. Not only is math important but the ability to grasp foreign languages is also very important. Computers do math. That's literally all they do! If you don't have a solid grasp of algebra, trigonometry, geometry (proofs et al), statistics, calculus, matrices, vector algebra and beyond you have little use to the coding community other than to do scripting, or as the author points out, rudimentary web site work. FFS, computer science is applied mathematics at its core! Then you get into the linguistics aspects. Yes, I know they're not spoken languages, but programming languages are still functional written languages. They have grammar, syntax and morphology just like any other, so if you're good at picking up foreign languages AND are good at math you can learn to code quite well. If you suck at languages and are good at math you can code, but if you suck at math you're going to suck out loud at coding. The author of that article is a complete idiot, but so are most "journalists" these days. Hell, most of them can't write properly in their own native language let alone code something! Don't believe me, go read some news articles on some major news websites. It's pathetic.

  79. You're kidding right? by gabereiser · · Score: 1

    Oh god help us all! If this is the mentality of "coders" today, just fucking google it, we're doomed. Thanks codeacademy!

  80. not all math is equally important by Anonymous Coward · · Score: 0

    I've been programming since the 90s (mostly Java) and I've gotten the most use from:
    -understanding O notation- this is basically what all data structures and algorithms are explained with- if you don't understand this stuff, knowing which ones are suitable and unsuitable for a particular purpose is very hard
    -understanding binary, including bitwise operators
    -being able to do multiplication and exponential math quickly so I can estimate memory usage quickly
    -ditto for estimating performance

    Even simple 2d graphics requires you to know trig and be able able to do lots of basic math in your head constantly to calculate where to draw pixels. Sure, the program does the calculation, but you still need to know in your head what the computer is supposed to be doing before you write the program.

    And this isn't even touching on stuff like crypto, 3d graphics, solving math problems with programming, etc.

  81. The right tool for the job. by westlake · · Score: 1

    This person seems to be confusing the mechanic for the automotive engineer.

    Do you hire an architect when all you want to do is add on a new room --- or simply chose from a stock set of plans and a local contractor who knows his job?

  82. Re:One of the reasons I got into computer programm by thinkwaitfast · · Score: 1

    I'm pretty good at writing astronomy type applications, but have never written html or sql or a windows, mac or android software. I mostly reuse libraries though. Yes, I've written math libraries in assembly, but it was because I had to. The overwhelming majority of people don't have to.

  83. Sounds like a case of the Dunning–Kruger eff by Anonymous Coward · · Score: 0

    The Dunning–Kruger effect is a cognitive bias wherein relatively unskilled individuals suffer from illusory superiority, mistakenly assessing their ability to be much higher than is accurate.

  84. Dunning-Kruger by Kohlrabi82 · · Score: 2

    Let's call this style of coding "Dunning-Kruger-coding".

  85. Do I need one thousand and two examples? by dbIII · · Score: 1

    99.8% of people are not doing what Carmack did.`

    Do I need one thousand and two examples for the slow and/or lazy who cannot relate to the one I gave?

    Carmack was doing entertainment and not designing a filter for seismic data or a finite element analysis mechanical design tool. My point is that even doing entertainment he has an advantage due to his depth of understanding.

    1. Re:Do I need one thousand and two examples? by thinkwaitfast · · Score: 1
      I have a math degree (and engineering) and work on some pretty cutting edge stuff mostly doing embedded system design work and rarely do anything that I could not have done with a high school education. Basic algebra mostly, if even that. Other system engineers whose responsibility it is to make sure the engines aren't throttled down too quickly are responsible for writing the engine specifications, slew rates, dead bands etc. I know all that stuff too and occasionally work in that position, but ultimately it's not my responsibility on software.

      When doing coding, my responsibility is to make sure that the electronics do what the particular system engineers want (doesn't crash, talks to the correct systems, runs in under 730uS, etc). As such, I don't have to know or understand any of their math. It' can even be discouraged knowing too much about a particular sub system by reading too much into a requirement or making too many assumptions. At best, you can talk to a system engineer to maybe offer suggestions, but often they have a wider visibility into a particular problem than you do and could have reasons for wanting things a certain way,

    2. Re:Do I need one thousand and two examples? by dbIII · · Score: 1
      You answered it yourself with your job not being 100% coding with only a basic high school level maths required:

      I know all that stuff too and occasionally work in that position,

      How many jobs are 100% coding? Most rely on some understanding of what is being worked on in some part of the job or other.

      At best, you can talk to a system engineer to maybe offer suggestions, but often they have a wider visibility into a particular problem than you do and could have reasons for wanting things a certain way,

      Yes but you have enough background to have an idea of what is going on instead of being completely in the dark and of less use.

  86. Same as journalism by rippeltippel · · Score: 1

    A bunch of copy/paste/edit iterations.

    And good luck finding a job in software, by the way!

  87. Yes you do. by Opportunist · · Score: 1

    Sorry, but the line "or it has been done by someone else" alone is enough to dismiss what is said as rubbish.

    There is a lot of things this world needs desperately. Another batch of cargo cult programmers is not among them. You needn't invent the wheel twice but you should know what makes it turn so you don't install it sideways. If you do not understand WHY you do the things you do, at the very least you will end up with very inefficient code. At worst with very insecure code.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  88. Re:Sounds like a case of the Dunning–Kruger by Opportunist · · Score: 1

    For reference, see your CEO at his next speech.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  89. Math.... by Mirar · · Score: 2

    Personally, I think humanities majors should be good at math too. (And, for that matter, journalists and politicians.)

    Of course the level of math you need to have varies. But I don't think you can be a "good" programmer without understanding logic.

    Certainly you don't need the single spearhead knowledge of a single or a few topics that a "math major" gets. And you can probably ignore most of calculus and analytic algebra. But knowing trigonometry and signal theory will most likely make you better and higher paid pretty quickly. Being able to look up and study the math you need at the moment, quite certainly so.

    But that doesn't mean that a lot of girls that think they are bad at math should stay away from trying programming. Girls specifically have a tendency to undervalue their own knowledge. (While guys tend to overvalue.) (I personally think this behaviour is social training.)

    If you think you are bad at math but programming comes easy, you might find that you weren't actually bad at math.

    1. Re:Math.... by Spugglefink · · Score: 1

      If you think you are bad at math but programming comes easy, you might find that you weren't actually bad at math.

      I am very bad at classroom math, but reasonably effective at using math in code to solve actual, tangible problems. User touches here and here at nearly the same time, and I need to figure which touch came first, and what the angle is between the two points... I got there once, and I can't even tell you exactly how I figured it out. Calculus was involved somewhere, I think. Maybe? I don't know how I do it, I just get the problems solved. Usually.

  90. A relevant programmer koan by Opportunist · · Score: 1

    (shamelessly copied from the jargon file)

    Tom Knight and the Lisp Machine

    A novice was trying to fix a broken Lisp machine by turning the power off and on.
    Knight, seeing what the student was doing, spoke sternly: “You cannot fix a machine by just power-cycling it with no understanding of what is going wrong.”
    Knight turned the machine off and on.
    The machine worked.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  91. Depends on the type of work. by polyp2000 · · Score: 1

    You need at least basic algebra and understanding of maths. If your planning on doing analysis, modelling or even 3D graphics youll need to have a decent understanding of higher level concepts.

    --
    Electronic Music Made Using Linux http://soundcloud.com/polyp
  92. hmm by xettera · · Score: 3, Insightful

    You don't have to be good at anything to plagiarize

    1. Re:hmm by MightyDrunken · · Score: 1

      “I am never forget the day I first meet the great Lobachevsky.
      In one word he told me secret of success in mathematics:
      Plagiarize!

      Plagiarize!
      Let no one else's work evade your eyes!
      Remember why the good Lord made your eyes!
      So don't shade your eyes,
      But plagiarize, plagiarize, plagiarize -
      Only be sure always to call it please 'research'."

      [Lobachevsky]”
      Tom Lehrer

  93. Application vs. lib, comp or sys programming by SpaghettiPattern · · Score: 1

    With the nose to the grindstone you can code applications. However, coding libs, reusable components or system software is a completely different ball game.

    Unfortunately, regardless of how hard it is to write libraries and regardless of how much good libraries boot performance and reduce costs, most attention, fame and money reaches the application programmers.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  94. Good News by ktf52 · · Score: 1

    That's really good news for my son. Will have to show him this. http://www.24hrlocksmithinleic...

  95. Re:Learning to program by Googling + Trial & E by Anonymous Coward · · Score: 0

    The people who went to college for a Computer Science degree and then called themselves Software Engineers are, the people who got degrees specifically in Software Engineering aren't. I have an undergrad in one and a graduate degree in the other. Except your intro to programming courses, they are completely different. None of the software engineers I know call their work art. There are specific pros and cons to different design choices and you apply the one that fits the requirements best, requirements you took the time to gather and understand not requirements you made up thinking the customer would think they're awesome.

    Business requirements and budget limits destroy much software quality, but some of us take our work seriously.

  96. Mathematics is not about the boring numbers by Anonymous Coward · · Score: 1

    And another one thinking that mathematics is about numbers. All the code is math and nothing but math, because it's in formal languages.

  97. Re:Of interest see "Why tech workers hate their jo by Anonymous Coward · · Score: 0

    Yup. We had a Pakistani "developer", who proudly showed me that he had googled how to find the center or a div.

    I asked my brother who is a plumber, and who lost interest in coding after "20 GOTO 10" whether he could solve it without googling. He immediately interrupted me, insisting he does not have a clue about programming. Told him to hear me out. When I finished telling him what the guy had done, he said "isn't that just half?".

    But maybe that's unfair - a plumber sometimes does need to drill a hole in the middle of something...

  98. Need not be good at math to learn counting either by gweihir · · Score: 1

    That does not mean you will ever be any good at it or master more "advanced" things like addition. Really, "coding" is not putting basic building blocks together in obvious ways, because that is something any halfway smart and educated person can do.

    Also, WTF has writing HTML to do with coding? Are we now so cretinized that people do not even have a basic understanding of what coding means?

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  99. Fix the documentation by johannesg · · Score: 3, Insightful

    We have Googling and trial&error because documentation of APIs is universally deficient.

    I just spent two days trying to figure out why my OpenGL 3.2 context would not initialize on Linux. In the end I found it was because I was not using a private colormap. It doesn't make any kind of sense to me, even now, and even knowing what to look for I wasn't able to find any kind of warning in what is laughably called a "manual" (it sure looks like a quick list of function calls without any structure and barely any explanation to me, but YMMV).

    How many times do we have to see this:

    int CreateContext (int, void*)

    "this function creates a context. The first parameter is flags. The second is used to pass additional information."

    and are left wondering:

    - what _is_ a 'context', what do I need one for, and what is its lifetime?
    - what flags can I pass? What do they do, _in detail_?
    - what "additional information" can I pass? Is it mandatory? Is it flag-dependent? What structure should it have?
    - can there be errors? How do I see them? How do I decode them into something human-readable?
    - if I delete the context, will it take any associated items with it, or do I need to free those manually?
    - what sort of thread-safety can I expect?

    The problem is not skill level, although it certainly helps to be equipped with knowledge of other APIs and the right level of paranoia. It is, for a very large part, badly designed and even badlier documented APIs. And it really doesn't matter where it comes from, amateurs or pros, open source or closed, it's all painfully bad. The best you can usually hope for is a list of function calls, but almost never any sense of how it hangs together, good explanations of parameters and return codes, and let's not even start about thread safety...

    As an example of good documentation, I'd like to point out Postgres. These guys really work hard on documentation, and it shines as a result. MSDN, assuming you can find what you were looking for to begin with, is not bad either. And on the other end of the scale we have things like OpenSSL, where I believe lack of documentation is in fact part of their business model. That alone should be reason to avoid it...

  100. You can heal without being a wizard in medicine by rp · · Score: 1

    I fell on my knee and cleaned and bandaged the wound all by myself. Anyone can do it with some googling.

  101. COBAL is a language by Chrisq · · Score: 1

    Yes, there really is a cobal programming language

  102. "Humanities majors"? by Anonymous Coward · · Score: 0

    Don't throw them all in a bin. You cannot compare the formal logic and deciphering skills of some "English literature" major with someone specializing on antique languages and philosophy. I mean, some classical Greek sentence running over 1.5 pages in a maze of nesting where the main sentence just happens to be missing a verb, instead using some nominal phrase... That shit is real. And they have a Dual between Singular and Plural and a Medium between active and Passive and an Aorist between presence and past tense and an Optative between Indicative and Conjunctive and not just Nominative, Genitive, Dative, and Accusative but also Vocative and some Locative forms. Something like "you two should have started to feel a little bit ashamed" is a single word (a verb) in antique Greek. Old Arabic is supposed to be harder.

    Whenever I encountered some non-trivial Emacs hacker without a STEM background, it was invariable someone from the older and darker side of the Humanities.

  103. Wrong by Anonymous Coward · · Score: 0

    Logic is a subset of mathematics. Period. Formal languages are all mathematical by definition. Period.

    1. Re:Wrong by Karmashock · · Score: 0

      ... nah, by that logic all language is math and all communication is math.

      You basically just defined MATH = Language.

      Whatever.

      By your logic... this is all math:
      https://www.youtube.com/watch?...

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    2. Re:Wrong by Anonymous Coward · · Score: 0

      *FORMAL* languages.

  104. One does not need to know how the engine works ... by Taco+Cowboy · · Score: 1

    ... to be a driver

    Similarly one does not need to know math to be a data entry clerk

    As for TFA?

    Pfffft !!

    --
    Muchas Gracias, Señor Edward Snowden !
  105. Abstract thinking by codeButcher · · Score: 1

    Most commenters here seem concerned with calculations needed to be done while constructing some software (usually not very much). I think that is maybe the wrong level of thinking about the post.

    One of the fundamental skills needed when programming involves abstract thinking: generalizing algorithms (very basic example: not only detecting the maximum of two ints, but also the maximum when you have 0, 1, or many ints - or any numeric type for that matter). For this you need to be able to recognize patterns - one many levels, not only for a variable number of items, but certain code constructs, all the way up to architectural constructs. (Between a function taking a variable amount of input, and Go4 patterns, there is a range of issues where you might become a much faster/less error-prone programmer if you start constructing utility functions, use generics/streams/lambda functions etc.) Then there is induction ( [correctness of] later results depending on preceding results).

    I believe a lot of these are similar to the disciplines one needs to perform formal algebra, trigonometry, logic, discrete maths, etc. To be sure, mathematics never was my favourite subject, and perhaps one should spend more time thinking about the similarities between programming and maths to make a more rigorous argument and much less "gut-feely" than the previous paragraph. However, I feel that the 3 years of maths training I went through at college was not wasted, even if I never consciously employ any of the concrete fields of study in my job.

    In the same vein, one could also argue that music and maths have similar interplays, e.g. the similarity and differences of "themes" as found especially in classical music, relationships between various pitches, and more. Then there is the concept of concurrency once you start to move beyond a simple melody line....

    In short, I'd certainly recommend formal training in mathematics, as well as at least some music beyond being a consumer, to anyone wanting to become a programmer.

    --
    Free, as in your money being freed from the confines of your account.
  106. Hardly news by Anonymous Coward · · Score: 0

    Whoever said you need maths to code in the first place? Linus Torvalds? True, for some programs that are actually required to do something mathematical like linear algebra then knowing how to do it will save time... But it is not exactly difficult to learn given a resource as rich as the internet. i.e. provided you have a reasonably well developed frontal lobe then you can learn to code. Whether or not you'll enjoy it & not make a total pigs ear of it is another thing.

  107. Re:Of interest see "Why tech workers hate their jo by TeknoHog · · Score: 1

    I think this just shows how IT is basically a service industry. Only a small fraction of coders are needed for the hard, interesting and creative parts -- the rest can just use these via libraries and frameworks.

    --
    Escher was the first MC and Giger invented the HR department.
  108. Better at crosswords by Anonymous Coward · · Score: 0

    I passed some sort of IQ & maths test to become a programmer for the UK Civil Service way back in the 70's but I seem to remember that somebody did some analysis of the effectiveness of the tests and found that there was a very good correlation between those who regularly did cryptic crosswords and good programmers.

  109. by what definition? arithmetic only? by raymorris · · Score: 1

    I'm curious what definition of math you could possibly have that would let you reach that conclusion. Do you think of mathematics as being only arithmetic?

    Here's a reasonable definition / description from Encyclopedia Britannica:
    The science of structure, order, and relation

    If you're not familiar with relations in the mathematical sense, a relation is basically a table. A relation is an (unordered) set of tuples. What specific discipline is concerned with manipulating relations, or tables? That would of course be relational database, like MySQL.

    It says structure. What discipline is concerned with manipulating structures of numbers and other data, like this?:

    struct Person {
          integer height,
          int64 birthdate ...
    }

    That would be programming.

  110. Just when did she code? by Anonymous Coward · · Score: 0

    I thought HTML was a design layout language . It would be closer to art composition than programming.

  111. What I think she's trying to say... by amortis · · Score: 1

    As an English major and failed computer science minor who went on to 20+ yr career in web development, including linux sysadmin, perl/python/javascript/php/asp etc., and db admin, I think that there was a stretch where developing web applications involved a mix of skills and technologies - design, writing, logic, communications, creativity, ability to learn and understand - for which being able to self-teach, communicate with others, and creatively solve problems and integrate technologies was the greatest skill to have, not necessarily a mind for hard sciences that allows one to recall complex formulas and quickly grasp multi-layered abstractions.

    Just like a mind for school doesn't always translate to a mind for work - in the real world you have many chances to get it right, and you have opportunities to figure things out in multiple ways - not be forced to do division using the stick method and show you know it in one test. You test yourself, and turn it in when it's right. That's why I failed C++ 202 but went on to build successful timesheet systems, CMS systems, etc.

    That said, I think that stretch is ending - coding and design is Wordpress, and programming even small web apps is growing more and more like traditional software development.

  112. CSS is an interesting example of set theory by raymorris · · Score: 1

    You mentioned CSS, which is an interesting example. For those who don,t know, in CSS, each expression has two parts, the selector and attributes. The selector is something like "nav link !#subpage ". Which means:
    The intersection of set "nav" and set "link", minus (set difference) the set "subpage". So 100% set theory.

    I set theory is mathematics, CSS is mathematics, because the left side of any CSS statement is pure set theory.

    The right hand side attributes combine in more complex, thoroughly mathematical, ways.

  113. I'm going to scream by DFDumont · · Score: 1

    THIS is exactly why we have so many exploits available in systems today. We have too many 'coders' who have no idea of how the underlying system functions. In the company where I am currently employed, there are individuals who are writing code for new services that don't know what a TCP 3-way handshake is.
    IT is the only profession on the planet which does not have a governing body of any sort. There are no exams, no licensure requirements, no educational requirements. Nothing. Anyone who can convince a hiring manager, who themselves is unlikely to be versed in technology, that they "know what they are doing" can be hired into a position of impact. And we wonder why software written today is so bloated and filled with exploits.
    What did you expect?

  114. here's an example for you by raymorris · · Score: 1

    Here's an example for you. Is this math:?

    The intersection of set "nav" and set "link", minus (set difference) the set "subpage".

    Sounds like set mathematics to me. The author of the article would express that in CSS syntax as:

    "nav link !#subpage ".

    Every statement in CSS begins with such a set expression.

    Programming would be defining a order of functions to evaluate the set expression, in order to apply it to the correct members.

  115. Good for us math geeks by Anonymous Coward · · Score: 0

    When the script kiddies fail at a problem, because they can't solve x in the most basic equations, I get job security.

    I can do linear algebra, calculus, oh and logic too, but in higher-order form, and first-order, but also their primitive kind of logic, that I can hardly believe yields efficient approaches. Oh and a lot of other stuff. I do algebra at home, because its fun you know. Such as inventing new ways of calculating PI. Crazy ways.

    Anyway, I can derive that formula, that makes things work. And they can't copy it, because that formula I derive, just didn't exist before I derived it.

    Because not all problems have been done before. Some math is completely business specific.

    But whatever. Code monkeys code, and I do the fun stuff, which is inventing things, using my head, instead of copy pasting things endlessly.

  116. Bad is relative by Dareth · · Score: 1

    I made a "B' in 2nd level calculus, so hence I am "bad at math".

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
    1. Re:Bad is relative by blue9steel · · Score: 1

      Well, if you only made it to 2nd level you should really spend some time grinding for XP.

    2. Re:Bad is relative by XxtraLarGe · · Score: 1

      I made a "B' in 2nd level calculus, so hence I am "bad at math".

      Maybe you should have tried making integrals...

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
  117. I Worked with a PHD Physicist by Anonymous Coward · · Score: 0

    who had trouble figuring out how to call functions in VB.

    Yeah, all that math helped that guy!

  118. Awww, so cute by Anonymous Coward · · Score: 0

    I bet she's a doctor too. Just a google search away from another self-diagnosis!

    1. Re:Awww, so cute by wcrowe · · Score: 1

      Excellent point!

      --
      Proverbs 21:19
  119. Peeves by DarthVain · · Score: 1

    Ugh. One of my pet peeves. I also do a lot of SQL.

    People always look at me like I am some kind of moron when I say S-Q-L rather then "sequel", however I hold that they are the one bastardizing language, not I!

  120. You don't have to be good at math by Anonymous Coward · · Score: 0

    To solve differential equations, either. But it helps.

  121. Right, sort of. by wcrowe · · Score: 1

    At least she admits at the end of the article that she is not a good coder. Maybe she should have led with that.

    Most coding does not require a great deal of math knowledge, particularly if you're coding in a business environment.

    Several years ago, when my ex-wife and I were still married, she decided that the prospects for jobs for English majors were too poor, so, she thought she would try her hand at web design. We went to the book store and together picked out a book on HTML -- a visual book, that was even simpler than one of those "For Dummies" volumes. She said she would begin using it the next morning.

    The next day I went to work as usual. When I came home that evening, I found the book sitting in the trash bin. "What happened?" I asked. She said, "The first thing it told me to do was to open something called Notepad. I spend FOUR HOURS trying to find f**king Notepad on my computer! I couldn't find it, so I gave up!" I calmly walked up to her pc, clicked Start, Accessories, Notepad. "Here it is," I said. "I have no business doing web design," she responded.

    So yeah, you can try to Google and copy and paste your way through coding, but you kind of need to know how a computer operates first. And then there's the whole problem of troubleshooting when things go wrong. It's like saying, "Hey, all you have to do to be a mechanic is watch Youtube videos on car repair." Well, you might get a clue how to change your oil, but you won't neccessarily have any idea what to do when your car is making a funny noise.

    --
    Proverbs 21:19
  122. Depends what you are doing obvisouly by DarthVain · · Score: 1

    So first off it really depends on what you are doing. Generally speaking, I doubt much math is really required for *most* programming. Sure certain specialized fields will require it, but most do not. I got a CS degree, and the "maths" that were required, however most of them were a waste of time. Perhaps if I worked in the scientific or gaming world, I might have more use for them.

    I think the math "requirement" in universities is a bit of a anarchism from when there were very few programmers and much of what they did was either fundamental CS stuff, or working in academia using something like FORTRAN to solve for some mathematical or scientific problem that would be more difficult to do without use of computers and looping basically.

    Now that "programming" is used more ubiquitously the math component is more of a specialized field.

  123. Good for her, by Anonymous Coward · · Score: 0

    If the woman ends up with decent logic skills, she'll be way ahead of the rest of her gender.

  124. I was in the same boat more or less by Anonymous Coward · · Score: 0

    It lead me to a interest in math and engineering. So much so that I now want to do real engineering and get the fuck out of this god forsaken business all together... Good for her, good for me, stop clicking on flame bait, and stop qualifying yourself by a job your boss is almost too ready to replace you with someone who does it for 1/2 the price...

  125. Re:Learning to program by Googling + Trial & E by strikethree · · Score: 1

    This is why so much poor software exists in the world. I can only imagine what nightmare code is being generated by such efforts. Yes, anyone can code, just as anyone can build a house. Whether or not the house collapses immediately, whether it has any real value, or by any other measure still depends on the skill of the builder, just as in software.

    I dunno. I started programming in C on my Commodore Amiga many many years ago. Bought a book, not much different than Googling nowadays. Eventually learned data structures and algorithms.

    There is code of mine that was started in 1998 and I have not touched since about 2002 that is still running on the internet. It has never crashed, it has never acted poorly, it has always done what it is supposed to do. The source code was distributed and some really nasty hackers did their best to make it choke but the "best" they could do was DDoS it. One DDoS attack took out all of San Diego. Another DDoS attack took down all of Arizona and irc.blackened.com stepped out of the IRC business for a while.

    My code still ran perfectly fine and still does to this day despite no updates for well over a decade.

    --
    "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  126. HTML is a markup language by doggo · · Score: 1

    As a web/system administrator, I would never call myself a coder. A programmer. I've fooled around with coding a bit, and written some shell scripts and SQL, but I wouldn't consider myself a programmer.

    In fact, I wouldn't call even the most hot shit web designer using HTML & CSS coders. Unless they're writing their own original JavaScript scripts.

    That said, even if you don't like math, you can learn enough to do some programming. You may even learn to love math after the fact.

    Go Victoria!

  127. Someone else? by Anonymous Coward · · Score: 0

    I like this quote ... "In most cases you can see that the hard maths (the physical and geometry) is either done by a computer or has been done by someone else."

    Thankfully that "someone else" knew math.

  128. The author is correct by laughingman4929 · · Score: 1

    Yes, you don't need to be good at math to learn to code. It is also true that you don't need to be good at math to learn math.

    However, I think that if you are good at coding or mathematics, it'll make you life easier learning the other.

  129. Programming...NO by Anonymous Coward · · Score: 0

    First of all HTML is not programming. it's word-processing. What you've learned is the modern day version of short hand... yes, in a word you're a secretary or in today's terminology and "administrative assistant". Which is perfectly fine if that is your aspiration.

    That said, this is a prevailing mischaracterization in today's world.

    Even if you were really coding in JavaScript or C# or Java or whatever..... That doesn't make you a software engineer.
    It only means you can translate English instructions into a programatic language. Somewhat a kin to begin able to translate from Spanish to English and that not making you a great author.

    There are millions of developers/programmers who can code in one language or another who aren't particular adept at building great software. Sort of the difference between being a plumber and a hydraulic engineer. Putting in a new toilet in a residence simply doesn't require the expertise of lets say designing the the hydraulic system on a Boeing 777. Both are valuable roles but they are very different.

    1) HTMLers are secretaries. Sorry, I meant to say Administrative Assistant: Job Skills: HTML, MS Word, Excel, etc.

    2) Coders/Programmers are trade school lever translators. Sorry, I'm sure that offends many, but it shouldn't the world needs millions of you. So be pleased it pays as well as it does and keep learning that new set of U/I Javascript libraries, or Cobol, or the next version of MVC web application framework. The pay is good and its a world better than digging ditches for a living.

    3) Software Engineers: design and engineer software solutions that will not only meet business requirements but also achieve very specific engineering characteristics (maintainability, operational behaviors, supportability, etc.), as well as code and program on top of that. They tend to have a deep understanding of hundreds of different technologies and must make choices amongst the set in terms of applicability. They know many languages and many physical platforms and understand how software is created, maintained and evolves. Some have even read and understand Encyclopedia of Algorithms and know where each algorithm might be used. You get the gist....

    In any case, what you learned to do is not to "program". Sorry to pop your bubble.

    Software engineers design systems and also code. Programmers do not necessarily design systems more often than not they just do what there led to do by real software engineers.

  130. Math is More Than Arithmetic by jonathan.p.bailey · · Score: 1

    I am a computer scientist and mathematics is a priori for this. Mathematics is a study of structure, forms, order and most importantly, abstraction. If you can not abstract concepts into their corresponding code space/software entities, you are not an effective developer. Copy and pasting code does not make you a coder.

  131. One of many skills by Anonymous Coward · · Score: 0

    Reading through the comments, I find it interesting how many attempt to criticize the article by reiterating its basic premise, which is that coding up simple web stuff isn't rocket science and doesn't require much in the way of math skill, but other problem domains do.

    Why does anyone even question this? It's absolutely true, the same way that posting a comment on Slashdot doesn't require a comprehensive knowledge of English grammar, or even the ability to spell correctly, but those abilities sure help if you're writing a novel.

    I'm just going to toss this out there, but my 10 years as an IT manager in a university department confirms the author's general premise. At least in my corner of the universe, IT work typically is less about math than it is about communication, following best practices, and understanding the business processes of the organization. And yeah, that includes the programmers in my unit, all of whom have Comp. Sci, degrees. I will also note that my absolute worst staff member, who had terrible communication skills, an ego big as all outdoors, and wrote terrible spaghetti code, also had a PhD in math.

    This isn't to say math is completely unimportant, but just that there are other things I care about a lot more when I'm making hiring decisions.

  132. Programmer's stroking their pathetic egos by Anonymous Coward · · Score: 0

    The only reason this is a contentions subject is that all these programmers want to think of themselves as math whizzes - give me a break. The highest level class that has been thrown around here with any seriousness is DQs. Most bright science track students take that when they are 19 years old, and it wouldn't even remotely be considered an advanced mathematics course. The vast majority of programmers never take Analysis, Abstract Algebra, or Topology - some of the really difficult undergraduate math courses. The truth is, some math is useful for programming in general, and that 'some math' is not very difficult. If you have facility with programming, you can probably muddle your way through calculus the way even an average student often does at the age of 16 in Europe.

  133. You still need a mathematical brain by Anonymous Coward · · Score: 0

    Logic is essential in coding, as is being able to conceptualize ideas and concepts in a well defined manner. These are the same foundations for being able to understand mathematics easily.

    Basically, yes you don't need to be a mathematician to code, but to be a good coder (i.e.: better than average) you need to have the kind of mind needed to become one.

    Granted, we also have a problem where many people would be much better at math (and coding) if they'd just allowed themselves some patience and got over their fear of thinking hard about anything.

  134. HTML == Programming? by JoeDuncan · · Score: 1

    In one of my previous jobs, I was responsible for interviewing and hiring new web app developers.

    Over and over again, I kept seeing people list "HTML" as one of the "programming languages" they knew. I got so annoyed with this, I developed a quick two question filter to get rid of the idiots.

    First, I asked them to confirm whether or not HTML was a "programming language".

    If they said no it wasn't, it was just markup/typesetting, I would then ask them why they included it under programming languages on their resume. Usually they would reply that it was just easier or more convenient etc... They'd lose points for clarity, but ok, no biggie. Occasionally they would say something like "because HR people are idiots and don't understand the difference", fair enough, no problem with that.

    ... BUT *most* of the time, they would emphatically declare that: "yes HTML was a programming language". These people then got my followup question:

    Here's a pen and paper. Show me how to do iteration and conditionals in HTML pseudocode.

    For those people, that was the end of the interview, bye!

    1. Re:HTML == Programming? by Actually,+I+do+RTFA · · Score: 1

      Now I desperately want to interview with you. Because if you're going to be that smartass, I will pull out iteration and conditionals in HTML*

      *Not guaranteed to work cross-browser, does work in certain popular browsers.

      --
      Your ad here. Ask me how!
    2. Re:HTML == Programming? by JoeDuncan · · Score: 1

      ...if you're going to be that smartass,...

      How is it smartass to question the ability of people who can't discern the difference between markup/typesetting and a programming language?

      Sure, my second question to those who failed the first has a certain amount of snark to it, but would you really want to hire someone who truly doesn't understand the difference?

      ...I will pull out iteration and conditionals in HTML*...

      Well, now you are going to have to prove it. Just for clarity, I'll provide you some context, and the criteria I was using. This was back in the late '90s, early aughts, so it was before the advent or wide adoption of DHTML, AJAX, HTML 5 etc... The answer had to be pure HTML4: no javascript, no css, no plugins, no activeX etc...

      If anyone had actually been able to write a for loop or an if branch with those criteria, I would have been impressed and hired them on the spot.

      I await your submission.

    3. Re:HTML == Programming? by Actually,+I+do+RTFA · · Score: 1

      This was back in the late '90s, early aughts, so it was before the advent or wide adoption of DHTML, AJAX, HTML 5 etc... The answer had to be pure HTML4: no javascript, no css, no plugins, no activeX etc...

      Sure. IE 5 through Whatever EOL of IE is had "conditional comments" Because "fuck standards", that's why. So things like <!--[if IE] > were respected by the browser. You couldn't take the negation, of course, because no one else would respect it. But totally worked.

      And yeah, most people are saying HTML not realizing it's a markup language. I totally get that. Just had to throw some snark back!

      --
      Your ad here. Ask me how!
    4. Re:HTML == Programming? by JoeDuncan · · Score: 1

      Sure. IE 5 through Whatever EOL of IE is had "conditional comments"...

      ...which, not being part of the standard, would not count as "pure HTML4", but nice try! :)

      Just had to throw some snark back!

      LOL, np. I firmly believe in "don't dish it out if you can't take it". Snark away!

  135. Need Math? by brunnegd · · Score: 1

    Clerks at fast food restaurants don't need math either. There is no way I could have written programs without knowledge of the math I was solving

  136. coding and higher math by Art+Deco · · Score: 1

    I got my first programming job only knowing basic algebra and trigonometry. I went on to study calculus, statistics and discrete math ending up with a Computer Science degree. There was precious little in any of these math courses that were useful to me as a programmer. I worked in data compression, image and signal processing, and pattern recognition. These fields required higher math but that is what mathematicians were for. They understood the how and why. My job was to determine the requirements and code it in a way that was robust, efficient and maintainable. There were a lot of programs I wrote where I had a general feel for how they worked but the math was way over my head. I say don't try to understand 'em, just rope 'em, tie 'em, and brand 'em.

  137. programming and "programming" by Tom · · Score: 1

    Uh... HTML and CSS aren't programming languages.

    Come back when you've written something non-trivial in a real programming language. Say, some 3D visualisation in C++, without knowing about math (who needs matrix transforms, right?).

    Like in any craft, you can do some simple things with little knowledge. Every idiot with two hands can put up a garden shed. That doesn't make you an architect and it doesn't make you a builder.

    --
    Assorted stuff I do sometimes: Lemuria.org
  138. What is "good" at math anyway? by Anonymous Coward · · Score: 0

    Whenever my kids say something about not being good at math I remind them that one time in their life answering what is 5 + 9 was difficult now you don't even think about it. Then answering what is 5 x 9 was difficult now you don't think about that either. Then answering what is 5^2 was difficult now you don't think about that. The point being, as you spend time learing a concept and practicing it eventually it becomes ingrained and suddenly is rather simple. It's not that you were bad with it before and are good now, it's just you need time to practice and let the concept sink in. it's amazing how helping my kids throught a worksheet with 20 or more questions turns them around from not understanding a concept to being comfortable with it.

    Yes some people grasp the concepts much more quickly than others but in my opinon almost all of the complaints people have about not being good at math is not so much that they truly can't figure it out but rather that they didn't give it enough time. They think because the understanding didn't just automatically appear they are somehow not capable but I suggest most people are capable with more practice. It's not much different than learning music, there are geniuses but most people get good at their instruments through a lot of practice.

  139. Job Value by Anonymous Coward · · Score: 0

    Many more people are going to know how to program, but less are going to be good at math -- which skill do you think will be more valuable?

  140. 3D programming requirements by fyngyrz · · Score: 1

    Linear algebra (matrices) and trig are essential for doing 3D graphics.

    Trig is. Matrices aren't. Translation, rotation, scaling, texturing, light and shadow simulation -- all can be done without matrices. Matrices have nothing inherently linked to 3D about them. They are simply a neat way to concatenate operations and/or factors that can be, but don't have to be, used.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:3D programming requirements by Gestahl · · Score: 1

      Matrices are absolutely *critical* to 3d graphics, and any non-trivial 2d graphics. Those photoshop plugins are *heavily* based on linear algebra.

      The code might not be written in mathematical matrix form, or be hidden behind libraries, but if you have 3-vectors (i.e. points relative to the origin in 3-space), any global linear transformation is represented by a matrix multiplying each vectors. Rotation, skew, scale, projection (shadows and reflections) and scaling are all linear transformations.

      It's like saying matching text doesn't require state machines. It does, you've just never used them in their raw form. Meanwhile, learning the actual theory of how regular expressions and compilers actually work requires that you understand state machines (because that's what lex and yacc actually spit out, or what your higher level language actually dynamically constructs based on the regex). Likewise, understanding the core theory behind computer graphics necessitates learning linear algebra.

    2. Re:3D programming requirements by fyngyrz · · Score: 1

      No. I am one of the primary authors of what might be fairly described as a Photoshop-class application -- one with far more layer modes and built-in filters than Photoshop, as well as a full-bore built-in ray tracer and texturing facility. It is also considerably smaller and faster than Photoshop in the identical system environment. I am also the author of multiple realtime video and arcade games, etc. I'm telling you flat out that matrices are not required. Period.

      Matrices may be the only way you know how to do these kinds of graphics; but they definitely aren't the only way to do it.

      Just to take your example: "if you have 3-vectors (i.e. points relative to the origin in 3-space), any global linear transformation is represented by a matrix multiplying each vectors"

      The correct way to state this is: "if you have 3-vectors (i.e. points relative to the origin in 3-space), any global linear transformation can be represented by a matrix multiplying each vectors." Here is the non-matrix approach (and of course, there's always polar, which can also be easily handled.) This is for 2D points; 2D vectors and 3D points and vectors are all just a further (and trivial) generalizations of the following:

      Translation: X += deltaX; Y += DeltaY
      Rotation: X = X * cos(theta) - Y * sin(theta); Y = Y * cos(theta) + Y * sin(theta);
      Scaling: X *= Xfactor; Y *= Yfactor

      Shadows and reflections can be trivially accomplished with more of the same. Basically: R = 2(V dot N)N - V

      "dot" is just the dot product, which again is a trivial combination of the lowest math primitives. ...and so on.

      You are confusing the fact that matrices can be used to do something with the idea that matrices are the something.

      With algebra, trig, and basic math in hand, the programmer's doors to 2D and 3D graphics are wide open.

      --
      I've fallen off your lawn, and I can't get up.
    3. Re:3D programming requirements by fyngyrz · · Score: 1

      Sigh. Typos in the rotation. Should have been:

      Rotation: X = X * cos(theta) - Y * sin(theta); Y = Y * cos(theta) + X * sin(theta);

      --
      I've fallen off your lawn, and I can't get up.
  141. And in other news, you don't need legs... by hsthompson69 · · Score: 1

    ...to play in the superbowl. It just really really really helps.

    There is a difference between coding, and coding *well*. Math counts, literally.

  142. Mathematics by pesasa · · Score: 1

    Mathematics -- I don't think that word means what she think it means. Mathematics is not same as arithmetic. Mathematics is problem solving, logic, abstract structures etc. That means, most things that are needed for programming.

  143. Nonsense by Anonymous Coward · · Score: 0

    Americans don't need math because they're "coding" nonsense apps and think "Ruby on Rails" is coding. Programmers in the real world need to use C++, and that's why the rest of the world is coding the real stuff.

  144. It's dependent on the TYPE of programming by Anonymous Coward · · Score: 0

    See subject: Depending on WHOM you're coding for, e.g. - engineering &/or scientific dutes (game programming's already covered here apparently) will MOST LIKELY require more math background - & that you really don't need, if someone around you has it (like engineers + scientists you're coding for) to supply the mathematical formulas you change into "computer math" to do the proposed task (usually data analysis/processing for an end result in a report many times).

    I'll tell you 1 thing I've noted in coding professionally since 1994 - I did VERY LITTLE "higher end math" (like I saw in Discrete Math courses that I was required to take in a CS degree) - I did mostly financial or statistical math vs. higher end calc type work.

    That's over a 23++ yrs. long professional career coding primarily around information systems work & reporting, accessing databases of said info. on midranges + mainframes largely, doing the "front-end" clientside work along with the DB work server-side, in a client-server environment.

    APK

    P.S.=> Your mileage may have varied - again, dependent on WHOM you were working for & what you were working on... apk