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: 2) by barbara hudson on Saturday March 07 2020, @04:00AM (1 child)

    by barbara hudson (6443) <barbara.Jane.hudson@icloud.com> on Saturday March 07 2020, @04:00AM (#967801) Journal
    And yet Perl gives rise to the ugliest most unmaintainable code. So much so that even code that works has a bad code smell to it.
    --
    SoylentNews is social media. Says so right in the slogan. Soylentnews is people, not tech.
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by Booga1 on Sunday March 08 2020, @06:50AM

    by Booga1 (6333) on Sunday March 08 2020, @06:50AM (#968114)

    I have had programmers react to my personal favorite scripting language with comments like, "Oh man, that's way too verbose a language. I could have written that with half the typing in my favorite language."
    Yet, I've also shown another a similar sample of code and they were able to step through it and describe what it was doing without ever having used the language themselves. That is part of why I like the verbosity.

    My favorite language offers short aliases for common commands and you can abbreviate parameter names as long as there isn't another parameter that matches, i.e. -File can be just -F or -f as long as there isn't another parameter that starts with F. The reason I don't use that is because I don't want to make the mental effort to remember which commands can abbreviate which parameters. It also has the benefit of being explicit when you look at the code. Not only do you see what was written, but you see what was intended to be written. This should lead to less mistakes and bugs, and less misinterpretation when someone else has to come back and revise code I've written. In effect, I'm trying to reduce surprises for both myself and any future readers of the code. Even if that means I have to spend an extra 30 seconds typing out the full parameter names, it will probably save me at least as much time when I have to come back and edit it. At the very least it means I won't have to spend the time remembering all the potential abbreviations.