Thread: Is it necessary??

  1. #16
    Registered User
    Join Date
    May 2011
    Location
    Around 8.3 light-minutes from the Sun
    Posts
    1,949
    Quote Originally Posted by Salem View Post
    Still need to work on those thread titles, not to mention, putting them in the right forum.
    Quote Originally Posted by Salem View Post
    Still need to work on those thread titles, not to mention, putting them in the right forum.
    Should he work on double posting too?
    Quote Originally Posted by anduril462 View Post
    Now, please, for the love of all things good and holy, think about what you're doing! Don't just run around willy-nilly, coding like a drunk two-year-old....
    Quote Originally Posted by quzah View Post
    ..... Just don't be surprised when I say you aren't using standard C anymore, and as such,are off in your own little universe that I will completely disregard.
    Warning: Some or all of my posted code may be non-standard and as such should not be used and in no case looked at.

  2. #17
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by AndrewHunter View Post
    Should he work on double posting too?
    It's quzah's fault... he broke the data base.

  3. #18
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by juice View Post
    Is it necessary that you be good at mathematics for a career in software developement??
    Elementary algebra probably helps. You should be able to understand and apply "big O" notation, which is elementary algebra + logarithms.

    I'm sure there are many programming specializations which require specializated math, eg, trigonometry for 3D. But I'm also sure there are many more specializations that don't.

    There's a lot of math involved with stuff like encryption and compression, but most programming tasks that require encryption or compression are best done using an existing library, not writing a new one. In which case you don't need to understand the math inside of them.

    The only place I've felt handicapped by a lack of math knowledge is trying to read stuff like Knuth. I can't. This was a minor problem for me "career wise" at a point when I was supposed to custom scramble some data, and after rejecting all my ideas about how to do this, my superior told me, "I don't have time to explain this to you. Go look up something in Knuth." What a crank, lol.

    However, I can read plain language descriptions of Knuth algorithms and then implement them correctly. As it turned out, Knuth's algorithms are no longer used in encryption; my superior was so flustered after learning this he decided to drop the whole requirement. Of course, if I'd had better math, maybe I could have presented something which impressed him in the first or second place, but I'm not completely convinced of that either.
    Last edited by MK27; 09-25-2011 at 06:30 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  4. #19
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Many algorithms are described in heavily mathematic language, especially on Wikipedia. It may be a good idea to be familiar with it, but certainly not a requirement. I will bet that 99% of programmers simply go look for sites which explain things in easy terms instead of trying to be smart by using mathematics to explain it.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  5. #20
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    I just remembered this. It is not an argument for not learning math, but it is:

    1) About how thinking logically does not depend on a knowledge of complex mathematical concepts.
    2) About how it might often be better to avoid applying complex math operations, because those operations are usually expensive.

    identify my algorithm, please!

    Eventually, I showed that to a friend who does have a lot of formal math -- he worked for NASA doing programming in a high energy physics lab. He said he didn't see anything wrong with what I'd done. And it works great in the 3D breakout game.

    Now, if I had been stronger with trig at the time, I would just have done that in a conventional trig way, which would have involved a lot of cos() etc. That code doesn't even use the math library. It is all simple arithmetic, and I'd bet money it is considerably more efficient than a version done with trig (but the code is ugly, lol).

    By extrapolation, I think it is not that unusual to see people who's strong suit is math over apply it in situations where it is not necessary. Again, not a reason not to learn, since you don't have to abuse it, but evidence of the fact that being really good at finding situations in which to apply complex math formulas will not necessarily make you the best kind of general purpose programmer (which might be part of what hamstrung my superior from the last post, whom I thankfully no longer have to work under).
    Last edited by MK27; 09-25-2011 at 07:52 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

Popular pages Recent additions subscribe to a feed