Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Friday March 06 2020, @05:04AM   Printer-friendly
from the math-is-a-language-with-its-own-grammar-and-vocabulary dept.

I-Programmer runs a story [0] which says it might not be math chops, but language skills that make a good programmer.

This makes sense, at least to me. I'm a fair coder, and can certainly count, but would not consider my math skills to be high level. As a teenager, C.L. Dogson's Symbolic Logic/Game of Logic [1] was a great read, but wading through formulas and proofs has always made me feel like a 4 year old.

To each his own. For my main "Human" language - English - I'm a pretty good communicator, and that also reflects in the dozen or so coding "dialects" I've kept up with over the years. In basic training I was surprised to test very high at language skills when I absolutely detested spanish in high school (the teacher had something to do with it) and even after living with a German gal for quite some time now have only the rudiments of that language.

This story resonated because I agree with it, coming around to thinking a good thirty years ago that programming is more of a language than a math skill - just not specifically one for a "human" language.

I treat coding like writing a story, itself a variation of the scientific method: 1) first draft, 2 revise, 3 go to 2 until the screen's output matches what's in my head as closely as possible.

So, at least in my case, language skills being much better than math skills result in a fair ability to program.

The folks at Stack Overflow [2] had a long thread on a similar subject some time back. Soylentils, what do you think?

[0] https://www.i-programmer.info/news/99/13517.html
[1] https://en.wikipedia.org/wiki/The_Game_of_Logic
[2] https://stackoverflow.com/questions/157354/is-mathematics-necessary-for-programming


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Interesting) by maxwell demon on Friday March 06 2020, @10:04AM (3 children)

    by maxwell demon (1608) on Friday March 06 2020, @10:04AM (#967349) Journal

    Being good at language is prerequisite both for being good at math, and for being good at programming.

    Not that being good at language does not mean being good at writing poesy (although), or even being good at writing prose. But it does mean being good at writing sentences that actually mean what you want to say, it means being good at reading comprehension, and it means that you are able to use the rules of the language effectively, write correct sentences, while also being able to figure out the likely intended meaning of incorrect sentences.

    All of which are important at programming. Obviously if you don't understand the specification, you won't be able to implement it. But also reading code is a form of reading comprehension. The ability to write syntactically correct code is not much different from the ability to write syntactically correct language. And of course in programming it is of crucial importance that your code tells the computer to do exactly what you intend the computer to do. On the other hand, looking at incorrect code and being able to figure outwhat the programmer intended is important when you want to fix the code.

    But being good at math makes you a better programmer. Note that being good at math is not the same as performing well at math classes in school. Being good at math means having the ability to identify the essential properties of some structure, to abstract and formalize those, and to verify that the resulting construct indeed has the properties you intended. It also means being able to examine an abstract system and figure out the properties it likely has, and then being able to verify if those conjectures are indeed true, and if not, why not. Which again is something you'll use in programming, as a program in the end is nothing but an abstraction of the problem it solves.

    And of course knowing certain mathematical concepts is very useful in programming too, as it may mean the difference between an algorithm that needs a supercomputer to run, and an algorithm that happily runs on your phone (well, OK, generally the difference will not be that extreme).

    Which of course doesn't mean that someone who is good at language and math automatically is a good programmer. But both skills are relevant.

    --
    The Tao of math: The numbers you can count are not the real numbers.
    Starting Score:    1  point
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 2) by DannyB on Friday March 06 2020, @05:55PM (2 children)

    by DannyB (5839) Subscriber Badge on Friday March 06 2020, @05:55PM (#967556) Journal

    Does being able to write horribly abysmal puns help?

    --
    The lower I set my standards the more accomplishments I have.
    • (Score: 2) by hendrikboom on Friday March 06 2020, @08:24PM

      by hendrikboom (1125) Subscriber Badge on Friday March 06 2020, @08:24PM (#967628) Homepage Journal

      I had a friend whose head resided in the cosmic pun stream. He was an organic chemist.

    • (Score: 0) by Anonymous Coward on Saturday March 07 2020, @12:24AM

      by Anonymous Coward on Saturday March 07 2020, @12:24AM (#967731)

      No