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."

398 of 616 comments (clear)

  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 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.

    13. 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.
    14. Re:Programming by KGIII · · Score: 1

      It's gonna be lonely here on Friday.

      --
      "So long and thanks for all the fish."
    15. 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.

    16. 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.

    17. 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.
    18. 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.

    19. 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.

    20. 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.

    21. 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
    22. 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.

    23. 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
    24. 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.

    25. 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.

    26. 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.

    27. 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.

    28. 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.

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

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

      --
      lucm, indeed.
    30. Re:Programming by Darinbob · · Score: 1

      Squirrel!

    31. 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.

    32. 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.
    33. 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.

    34. 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.

    35. 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.

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

      Cool people say "squirrel".

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

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

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

      --
      'Sensible' is a curse word.
    38. 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.
    39. Re: Programming by sribe · · Score: 1

      Otherwise, programming is not very mathematical.

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

    40. 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.

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

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

    42. 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.

    43. 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.
    44. 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.

    45. 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.
    46. 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.
    47. 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.
    48. 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!

    49. 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.

    50. 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.

    51. 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.

    52. 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.

    53. 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.

    54. 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.
    55. Re: Programming by thinkwaitfast · · Score: 1

      I wrote a defenders clone before I had algebra.

    56. 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.

    57. 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.

    58. 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.

    59. 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.
    60. 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.

    61. 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.

    62. 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...
    63. 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.
    64. Re:Programming by glenebob · · Score: 1

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

    65. 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.

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

      Yes! This exactly.

    67. 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.
    68. 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!

    69. 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.

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

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

      --

      -- Cheers!

    71. 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.

    72. 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.

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

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

    74. 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.

    75. 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.

    76. 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.

    77. 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=-
    78. 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
    79. 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.

    80. 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.
    81. 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."
    82. 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.

    83. 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.
    84. 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.
    85. 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.
    86. 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.

    87. 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.

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

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

    89. 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.
    90. 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
    91. 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.

    92. 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
    93. 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
    94. 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.

    95. 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
    96. 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*
    97. 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.
    98. 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."
    99. 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.

    100. 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.

    101. 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
    102. 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.
    103. 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!

    104. 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.

    105. 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.

    106. 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.
    107. 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
    108. 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.

    109. 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
    110. 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.

    111. 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.

    112. 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
    113. 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
    114. 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.
    115. 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.

    116. 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.

    117. 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!
    118. 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!
    119. 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.

    120. 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!

    121. 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

    122. 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).

    123. 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."
    124. 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
    125. Re: Programming by Darinbob · · Score: 1

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

    126. 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."
    127. 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.
    128. 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.

    129. 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.

    130. 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.

    131. 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.
    132. 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.
    133. 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.

    134. 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."
    135. 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.
    136. 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.

    137. 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!
    138. 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.

    139. 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. ;)

    140. 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.

    141. 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.

    142. 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

    143. 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.

    144. 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...

    145. 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*
    146. 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.
    147. 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.

    148. 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.

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

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

    150. 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.

    151. 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.

    152. 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?

    153. 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.

    154. 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.

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

      You're confused.

    156. 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."
  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 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.
    5. 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.
  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).

  5. 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 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.
    3. 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.
  6. 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

  7. 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 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.
    3. 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."

    4. 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.

    5. 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.
    6. 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.

    7. Re:Interesting by mtippett · · Score: 1

      Is there a difference between a programmer, a computer scientist and a software engineer?

    8. 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.

    9. 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!

    10. 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

    11. 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.

    12. Re:Interesting by Anonymous Coward · · Score: 1

      You don't need much if any math to do your job either, do you?

    13. 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.
    14. 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.

    15. 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?

    16. 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.

    17. 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.
    18. 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.
    19. 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.
    20. 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.
    21. 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.

    22. 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.

    23. Re: Interesting by mtippett · · Score: 1

      Is there a difference between a coder, a programmer, a computer scientist, software engineer and a computer engineer?

    24. 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.
    25. Re:Interesting by thinkwaitfast · · Score: 1

      How much math do you need to write a serial line interrupt handler?

    26. Re:Interesting by thinkwaitfast · · Score: 1

      In most cases even non optimal is more than sufficient.

    27. 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?

    28. Re:Interesting by Chrisq · · Score: 1

      How much math do you need to write a serial line interrupt handler?

      Basic binary for masking mostly

    29. 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
    30. 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
    31. 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
    32. 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.

    33. 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.

    34. 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.

    35. 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.

    36. 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.

  8. 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 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.

    2. 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.

    3. 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.

    4. 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
    5. Re:They have it backwards... by thinkwaitfast · · Score: 1

      How much math? Calculus of variations? Differential geometry? Clifford algebra?

  9. 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.

  10. 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"?
  11. 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 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.

    4. 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.

    5. 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.

    6. 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."
    7. 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
    8. 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.

    9. 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."
  12. 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!

  13. 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.

  14. 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
  15. 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 Zontar+The+Mindless · · Score: 1

      Disbelieve all you want, but what Obfuscant describes IS teaching.

      --
      Il n'y a pas de Planet B.
    3. 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
    4. 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.

  16. 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

  17. 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 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.
    2. 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.
    3. 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
    4. 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.
  18. 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 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.
  19. 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 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!!!"

  20. 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 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.

  21. 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!
  22. 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 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.
    2. Re:I was doing it wrong! by konohitowa · · Score: 1

      Picard's method is the Runge-Kutta method. http://i.imgur.com/eDucjAd.png

    3. Re:I was doing it wrong! by thinkwaitfast · · Score: 1

      Wrong Picard

    4. 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.

    5. 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.

  23. 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 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.

  24. 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?!?!

  25. 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
  26. 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.

  27. 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 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.
  28. 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."
  29. 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.

  30. 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.

  31. 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."
  32. 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.

  33. 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.

  34. 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!

  35. 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 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!
  36. 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.
  37. 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.

  38. Too late. by Narcocide · · Score: 1

    JQuery.

  39. 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!"

  40. 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*
  41. 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.

  42. 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.
  43. But... by pubwvj · · Score: 1

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

    But it certainly does help.

  44. 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.`

  45. 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.

  46. 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.

  47. 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 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.
    6. 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.

    7. 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.

    8. 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.
    9. 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.
    10. 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.

    11. 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.
    12. 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?

  48. 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.

  49. 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.

  50. 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.
  51. 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.

  52. 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".

  53. 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.

  54. 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.

  55. 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).

  56. 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!

  57. 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.

  58. 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...

  59. 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.
  60. 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.

  61. 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.

  62. 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.

  63. 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.

  64. 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!

  65. Re:Learning not the issue by thinkwaitfast · · Score: 1

    Don't neglect applied math.

  66. 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?

  67. 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.

  68. Dunning-Kruger by Kohlrabi82 · · Score: 2

    Let's call this style of coding "Dunning-Kruger-coding".

  69. 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.

  70. 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!

  71. 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.
  72. 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.
  73. 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.

  74. 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.
  75. 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
  76. 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

  77. 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)
  78. Good News by ktf52 · · Score: 1

    That's really good news for my son. Will have to show him this. http://www.24hrlocksmithinleic...

  79. 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.

  80. 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.
  81. 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...

  82. 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.

  83. COBAL is a language by Chrisq · · Score: 1

    Yes, there really is a cobal programming language

  84. 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 !
  85. 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.
  86. 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.
  87. 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.

  88. 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.

  89. 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.

  90. 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?

  91. 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.

  92. 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.
  93. 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!

  94. 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
  95. Re:Awww, so cute by wcrowe · · Score: 1

    Excellent point!

    --
    Proverbs 21:19
  96. 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.

  97. 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.
  98. 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
  99. 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!

  100. 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.

  101. 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.

  102. 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!

  103. 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

  104. 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.

  105. 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
  106. 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.
  107. 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.

  108. 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.