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.
(1)
  • (Score: 4, Insightful) by Anonymous Coward on Friday March 06 2020, @05:29AM (3 children)

    by Anonymous Coward on Friday March 06 2020, @05:29AM (#967292)

    I used to be very much against the notion of intelligence. I thought people were all, roughly, about the same (excepting obvious cases of mental retardation). My hypothesis for differences largely came down to motivation. But having grown up, had an opportunity to teach, as well as see what other people become as they age - I've changed my views. I now see denying the existence of inherent intelligence as logical as denying the existence of height.

    So on this topic, I also always thought I was bad at languages. This was largely because I stumbled through my basic Spanish requirements in school and still don't remember much more than you could get from a Taco Bell commercial. As an adult however, I chose to try to learn Russian because I *wanted* to. And have surprisingly little difficulty picking it up well into adulthood - long past the age you're supposed to be able to easily learn languages. And it's supposed to be one of the more difficult languages.

    So I ultimately suspect that their little test for language learning probably works for some loose correlation to intellectual ability. Which gets us back into programming languages. I think the only requirement for learning to code extremely well is the ability to assimilate lots of symbolic information, develop an intuitive understanding of it, and the ability to apply it in novel ways. If one were able to develop a general definition for intelligence - those characteristics would certainly end up near the top. They're also the exact characteristics that one uses for learning languages, learning math, learning engineering, and practically any other field where the primary tool is your brain.

    In my opinion this also answers the article's question of 'why isn't more research being done.' Because the answer probably is "intelligence." And that word itself is borderline-taboo in the social sciences now a days. The ideal is to imagine that everybody could be a programmer, or [competent] researcher, or whatever else. Showing some trait which seems to be largely driven by a heavily biased role of the dice when you're born is simply unacceptable.

    • (Score: 2) by Runaway1956 on Friday March 06 2020, @08:36AM

      by Runaway1956 (2926) Subscriber Badge on Friday March 06 2020, @08:36AM (#967336) Journal

      To some extent, at least, you learn language that you use. First year introductory thing to French, the teacher told me how smart, and how good I was. Later, first year of Spanish, I embarrassed everyone associated with me. I felt stupid, because I just don't link unfamiliar words and stuff to my own language. At best, I'm constantly translating, inside my own head. That isn't "learning a language".

      Years later, working with Mexicans on the job, words used routinely around me started to stick. Squadra sounds like square, claves sound like claws if you say it fast enough and carelessely enough. Things started to stick, and I could get by. Today, I still work around Mexicans, but the majority of them speak the English they learned in United States high schools. I don't use Spanish much, and I've forgotten a lot of what I knew.

      I'll never be fluent in anything but English.

      I can't say how that relates to code - I know that I'm no better at coding than I am at languages.

    • (Score: 2) by DeathMonkey on Friday March 06 2020, @06:36PM

      by DeathMonkey (1380) on Friday March 06 2020, @06:36PM (#967576) Journal

      I have a feeling their choice of Python, one of the more human readable languages, may have impacted the results a bit. I bet if they tried again with C++ or something the results may come out different.

      As for the taboo, It's not really the existence of intelligence that's under question. It's more about any claims that we can effectively measure it...

    • (Score: 2) by Phoenix666 on Friday March 06 2020, @08:05PM

      by Phoenix666 (552) on Friday March 06 2020, @08:05PM (#967613) Journal

      This was largely because I stumbled through my basic Spanish requirements in school and still don't remember much more than you could get from a Taco Bell commercial. As an adult however, I chose to try to learn Russian because I *wanted* to. And have surprisingly little difficulty picking it up well into adulthood - long past the age you're supposed to be able to easily learn languages. And it's supposed to be one of the more difficult languages.

      The more languages you learn, the easier it gets to pick up and retain new ones. But sometimes a language just doesn't stick, while another one does. Maybe the ones that do we spoke in a past life so it feels more like "remembering it" than "learning it." Or maybe the thought shapes evoked by the sticky ones form the crucial mnemonic connections in your brain that the slippery ones don't.

      I suspect it's the sub-structure of a language (or any body of knowledge, really) under-girding its formal expression that constitute the key to whether you "get it" or not. Perhaps we can manipulate that, or apply other filters to the formal expression of the oeuvre, that can serve as a better "key." (Note: it's different than saying a person is a "visual learner" vs. "tactile learner" or what-have-you).

      --
      Washington DC delenda est.
  • (Score: 1, Interesting) by Anonymous Coward on Friday March 06 2020, @05:29AM

    by Anonymous Coward on Friday March 06 2020, @05:29AM (#967293)

    Does that make me a bad programmer?

  • (Score: -1, Troll) by Anonymous Coward on Friday March 06 2020, @05:30AM (6 children)

    by Anonymous Coward on Friday March 06 2020, @05:30AM (#967294)

    No surprise that self-absorbed geeks obsess about irrelevant minutia. Grow up.

    • (Score: 1) by Ethanol-fueled on Friday March 06 2020, @05:37AM

      by Ethanol-fueled (2792) on Friday March 06 2020, @05:37AM (#967295) Homepage

      Oh, my goodness! It's like a basketball fight!

    • (Score: 3, Insightful) by Anonymous Coward on Friday March 06 2020, @05:41AM

      by Anonymous Coward on Friday March 06 2020, @05:41AM (#967297)

      Spoken truly like a man who has had little to no experience with developers.

      Not, not all coders think they are good. In my experience most think they're quite bad. That, somewhat paradoxically, includes a number of Googlers I've worked with. But there's a reason for that. There's no simple way to quantify coding ability, yet the differences in ability are apparent among coders when trying to achieve any specific goal. The reason most Googlers think they're bad is because there are (or at least were) are a lot of *very* good developers at Googlers, and so somebody who's in e.g. the top 5% suddenly seems quite weak when they're surrounded by people in the top 1%.

      Same reason people tend to constantly underestimate their wealth. We naturally tend to move up in life as our income increases. But as you move up, you are constantly put in a situation where you're (relative to your neighbors) middle class, if not poor. A guy who just became a millionaire is going to feel quite poor if he happens to be living in West Atherton.

    • (Score: 4, Touché) by janrinok on Friday March 06 2020, @08:06AM (2 children)

      by janrinok (52) Subscriber Badge on Friday March 06 2020, @08:06AM (#967333) Journal
      I accept that not every story is of interest to everyone in our community - but why bother with a comment such as yours? If you have nothing intelligent to contribute - just shut up. The adults can then have a sensible discussion.
      • (Score: 0) by Anonymous Coward on Friday March 06 2020, @08:58AM

        by Anonymous Coward on Friday March 06 2020, @08:58AM (#967343)

        if you think about it, most movies and comic books are just random collections of clichees.
        but some things stick with you.
        like when Michael Caine said "some people just want to watch the world burn".

      • (Score: 5, Funny) by The Mighty Buzzard on Friday March 06 2020, @11:25AM

        If you have nothing intelligent to contribute - just shut up.

        You must be new here.

        Sorry, couldn't help myself.

        --
        My rights don't end where your fear begins.
    • (Score: 0) by Anonymous Coward on Friday March 06 2020, @08:38AM

      by Anonymous Coward on Friday March 06 2020, @08:38AM (#967337)

      Those of you who know nothing, find it easy to assume that someone who knows something feels superior. But, it's just your own inferiority complex jerking your chain.

  • (Score: 1, Insightful) by Anonymous Coward on Friday March 06 2020, @05:49AM (2 children)

    by Anonymous Coward on Friday March 06 2020, @05:49AM (#967300)

    Math is a language.

    • (Score: 2) by theluggage on Friday March 06 2020, @01:41PM

      by theluggage (1797) on Friday March 06 2020, @01:41PM (#967393)

      Math is x for all values of "x"... given suitable values of "math" and "is".

      Otherwise, writing a computer program is no more or less like solving a differential equation than it is like composing a poem about daffodils.

      The fact that an activity can be described in terms of math does not mean that the activity is typically achieved by doing math.

    • (Score: 2) by DannyB on Friday March 06 2020, @05:51PM

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

      Sometimes people think Math means you're good at arithmetic. Or rote memorization of math tables or facts. Or recognizing patterns and knowing which simplification or rule to apply.

      Maybe the underlying talent is being able to think logically about concepts, see how the puzzle pieces fit together and connect them. That would make you good at either math or language, or maybe both for some people.

      I read a few years ago, and personal experience with myself and others bears this out, as you age you get better at natural language. Whether that applies to programming is a different question.

      --
      When trying to solve a problem don't ask who suffers from the problem, ask who profits from the problem.
  • (Score: 0) by Anonymous Coward on Friday March 06 2020, @05:52AM (1 child)

    by Anonymous Coward on Friday March 06 2020, @05:52AM (#967301)

    Math is Language, Language is Math
    Music is Language, Language is Music
    Math is Music, Music is Math

    In Math there is Logic
    In Langauge there is Logic
    In Music there is Logic

    Also add the same patterns for Dance, Acting, Story Telling, Physic, Chemistry, Even the Bible or Koran or ...

    Their are all expressions of human soul. A Person expressing one's thoughts.

    There is good short sort story by Asminov. He wrote in 30mins while on a talk (radio?) show. Its is called "Tab A into Slot B".
    There is also great music written in less time that that.

    Now bacak to subject. It does not matter is how you express yourself, including programming creative... ie the SOUL is being expressed. Some are jounreymen, that work and work and work never seeing their own greatness, but we marvel at today. Norte Doma - Paris, Rhem, where ever, and yes even UNIX or zOS. Others are just THERE a BACH, PICASCO, TURING, RICHIE.

    My back ground the highest flying and most likely to crash and burn were developers who were also musicians. Their passion for music for the patterns of sounds, tempos, and word play, allowed them see patterns in all other aspects. Though it was the journeymen, that made everything hold together. They both great and should be honored.

    So it not language or math... it the soul being expressed.

    PS: Programming for 45yrs. OLD fart get of my lawn! I have time when I was:
    The high flyer designing and heading a team of 10, scratch writing multiple new systems each taking multi-year to complete.
    Time being the glue holding the "world" together, like "managing" 500 printers and 300 scan guns, no one else wanted to do it.
    All of us will be both in the life. Enjoy your life.

  • (Score: 1, Interesting) by Anonymous Coward on Friday March 06 2020, @06:36AM (1 child)

    by Anonymous Coward on Friday March 06 2020, @06:36AM (#967317)

    All programming requires logical thought, but I can believe that doesn't necessarily translate into always being good at math. But they're related. But then, most intelligence is related in some way or another.

    Some programming skills probably relate more closely to (human) language skills. Programming relies on being able to simultaneously reason about multiple levels of abstraction, and programmers often enjoy jokes which rely on words with multiple meanings, or words which don't technically exist but still have clear meanings. This seems similar to me.

    As you go past basic levels in programming, it becomes clear that programming is not really about grappling with the syntax and getting the program to do what you want and not crash, but more about finding the vague and conflicting areas in what the program is supposed to do, which requires both logical thought and human skills. IMO, this depends more on experience than on math skills. Or you can go the other way, getting involved with algorithms, data, and optimization. I have never met anyone who's really good at this side of programming without also being quite good at math. But most programmers aren't required to excel in this area.

    I do have to say that while there is a large subset of programmers who operate entirely by the "draft, check, revise" method - and all programmers do this some of the time - but many don't operate this way most of the time. But the members of the "guess and check" group sometimes insist that theirs is the only way, and try to force everyone to adopt that methodology.

    • (Score: 2) by Bot on Friday March 06 2020, @08:47AM

      by Bot (3902) on Friday March 06 2020, @08:47AM (#967339) Journal

      Yes, It Is domain dependent. And one needs to consider organization and modularization of code, which is neither math nor language.
      Plus are we talking about analysts or coders? A coder that knows the compiler inside out and has no idea what a cosine is, is probably best suited for most tasks than a math PhD who did only Excel, mathematica and R.

      --
      Account abandoned.
  • (Score: 3, Interesting) by Booga1 on Friday March 06 2020, @06:52AM

    by Booga1 (6333) on Friday March 06 2020, @06:52AM (#967322)

    Obviously mileage may vary from job role to job role. Your average web front end developer probably isn't going to be using anything close to what a video game engine developer is doing.

    Although I'm not a programmer, I have scripts I've written integrated into some automation tools at my last workplace. I have even occasionally written tools for others to use in order to speed up our work. I've never had to use anything beyond fairly basic multiplication and division with a modest amount of algebraic expressions.
    Logic and being able to reason your way through a problem was always more important than being able to calculate MD5 hashes on your own or handle TLS negotiation methods manually.

  • (Score: 5, Interesting) by fadrian on Friday March 06 2020, @07:05AM (7 children)

    by fadrian (3194) on Friday March 06 2020, @07:05AM (#967326) Homepage

    You choose names more often than you design numerically complex algorithms. The names (both nouns and verbs) are ultimately what transmit understanding to the reader.

    In addition, the ability to string together words in a coherent and meaningful manner is a pretty good indication of an ability to string together code in a coherent and meaningful manner.

    The best gift to give a newbie programmer? A thesaurus...

    --
    That is all.
    • (Score: 2, Insightful) by khallow on Friday March 06 2020, @01:54PM (4 children)

      by khallow (3766) Subscriber Badge on Friday March 06 2020, @01:54PM (#967396) Journal

      You choose names more often than you design numerically complex algorithms.

      You breath more often than you do either of those things, so breathing is the most important skill.

      • (Score: 2) by hendrikboom on Friday March 06 2020, @03:11PM (1 child)

        by hendrikboom (1125) Subscriber Badge on Friday March 06 2020, @03:11PM (#967436) Homepage Journal

        Can't code without breathing!

        • (Score: 0) by Anonymous Coward on Friday March 06 2020, @05:53PM

          by Anonymous Coward on Friday March 06 2020, @05:53PM (#967551)

          I know someone who tried. He sat so still at his computer that the lights (on motion sensors) would shut off in his office. Fwiw, he wrote bullet-proof code, including his own test code, wizard level.

      • (Score: 0) by Anonymous Coward on Friday March 06 2020, @06:31PM (1 child)

        by Anonymous Coward on Friday March 06 2020, @06:31PM (#967571)

        Your heart pumps more than you breath, so heart pumping must be more important of a skill.

        • (Score: 1) by khallow on Saturday March 07 2020, @02:37AM

          by khallow (3766) Subscriber Badge on Saturday March 07 2020, @02:37AM (#967769) Journal
          Good one!

          I think the ultimate programming skill will be raising the local entropy. If you don't have that mastered, warming the couch (and the rest of the universe!) with your truly 1337 programming skill, then you're merely some blood pusher fake.
    • (Score: 2) by acid andy on Friday March 06 2020, @03:06PM

      by acid andy (1683) on Friday March 06 2020, @03:06PM (#967433) Homepage Journal

      The names (both nouns and verbs) are ultimately what transmit understanding to the reader.

      Yes, and that's part of the reason why, although I can muddle along with mathematics, I can get my head around a block of code or pseudocode with meaningful variable names much more quickly than a formal mathematical formula where the variables are represented by five different Greek letters. Short term memory has to be in pretty good shape to remember how each of those were introduced whilst building a mental model of how they interrelate.

      --
      If a cat has kittens, does a rat have rittens, a bat bittens and a mat mittens?
    • (Score: 2) by DannyB on Friday March 06 2020, @05:53PM

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

      When you write code, remember that your audience is not the compiler. Impossible to read code can compile and even run. Your audience is another human who will be reading your code at some future time.

      --
      When trying to solve a problem don't ask who suffers from the problem, ask who profits from the problem.
  • (Score: 0) by Anonymous Coward on Friday March 06 2020, @08:56AM (4 children)

    by Anonymous Coward on Friday March 06 2020, @08:56AM (#967341)

    no text, see subject.

    • (Score: 4, Funny) by Anonymous Coward on Friday March 06 2020, @09:02AM (3 children)

      by Anonymous Coward on Friday March 06 2020, @09:02AM (#967345)

      so my mother says this morning "go buy two loafs of bread. oh, and if they have eggs, get half a dozen".
      now she's screaming at me that we have no use for six loafs of bread.
      I'd just like her to make her mind up already...

      • (Score: 3, Insightful) by DannyB on Friday March 06 2020, @05:54PM (1 child)

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

        Natural languages should have curly braces to eliminate such ambiguity.

        --
        When trying to solve a problem don't ask who suffers from the problem, ask who profits from the problem.
        • (Score: 3, Interesting) by hendrikboom on Friday March 06 2020, @08:22PM

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

          Curly braces? German has something similar in the form of verbs that break apart in subordinate clauses. The chip off the verb migrates to the end of the clause, acting as the right curly brace.

          This is why German philosophers can nest their clauses so deeply that they become untranslatable.

          -- hendrik

      • (Score: 0) by Anonymous Coward on Friday March 06 2020, @05:55PM

        by Anonymous Coward on Friday March 06 2020, @05:55PM (#967554)

        I see your problem: s/mother/wife

  • (Score: 5, Insightful) by engblom on Friday March 06 2020, @09:26AM (4 children)

    by engblom (556) on Friday March 06 2020, @09:26AM (#967347)

    It is neither math itself nor language skills itself that takes you far. It is the ability to split up a big problem into smaller problems and solving them. This skill is needed both in math and in communication.

    For example, if you write a thesis you know what conclusion you want to arrive at but you should not write just the conclusion, you need to also communicate what the reader needs to know in order to understand the conclusion. Thus you begin the process of breaking up the problem in smaller parts that you explain to the reader. When it comes to math, you also think through the method of solving a problem as many different sub problems. For example if you want to find the max value of a function you divide it up in steps like differentiating the function, finding where the derivative is zero, checking the sign on each side of those zero points etc.

    • (Score: 4, Insightful) by The Mighty Buzzard on Friday March 06 2020, @11:47AM (3 children)

      Agreed but you missed an important bit. It's also the ability to understand the big problems at all.

      I'd tell parents that if they want to raise a programmer, or a logical thinker at all, teach them to build things. Blocks, Legos, Erector sets, Transformers, Basic electronics, plumbing, carpentry, or pretty much any system that success and the accompanying reward requires both understanding the whole and being able to figure out the steps necessary to get there. The more things that you teach them like those, the harder the core concepts will stick in their brain. Language and math are both somewhat of a means to that end but nothing like actually being able to see the physical results of your work.

      --
      My rights don't end where your fear begins.
      • (Score: 0) by Anonymous Coward on Friday March 06 2020, @12:32PM (2 children)

        by Anonymous Coward on Friday March 06 2020, @12:32PM (#967376)

        it has to "click". i remember that. being around legos and stuff does not guarantee a "click" but i assume chances are higher that it will.
        also, it will always "click". if it doesn't you remain retarded. we all start off this way.
        the "trick" is to have it "click" early. just a few weeks earlier will get you to score higher on the IQ test or be considered intelligence.
        that's my opinion anyways. maybe if you try hard enough you can also recall the moment when it "clicked" in your childhood.
        also, note to parents: intelligence is not a guarantee for happyness. one should rather aim to bring up a happy person ...

        • (Score: 3, Insightful) by The Mighty Buzzard on Friday March 06 2020, @02:26PM (1 child)

          also, note to parents: intelligence is not a guarantee for happyness

          That ain't no shit. Not only do you have most of the same obstacles in life that stupid people have but you're also surrounded by idiots and you can see a lot of the pointlessness and stupidity that you have no chance in hell of fixing.

          one should rather aim to bring up a happy person ...

          Yup, teach them to fish. And don't buy in to thinking fishing is for white rednecks. The world record black crappie was caught by a black guy in his 20s here in TN a year or three ago and most of my fishing buddies here are black guys.

          --
          My rights don't end where your fear begins.
          • (Score: 2) by acid andy on Friday March 06 2020, @03:12PM

            by acid andy (1683) on Friday March 06 2020, @03:12PM (#967438) Homepage Journal

            +A million for the first bit. For the second bit, I'd rather just feed the fish.

            --
            If a cat has kittens, does a rat have rittens, a bat bittens and a mat mittens?
  • (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.
    • (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?

      --
      When trying to solve a problem don't ask who suffers from the problem, ask who profits from the problem.
      • (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

  • (Score: 3, Insightful) by darkfeline on Friday March 06 2020, @10:26AM (1 child)

    by darkfeline (1030) on Friday March 06 2020, @10:26AM (#967351) Homepage

    Good how? If the metric is coming up with novel and significant algorithms, then good programmers are most certainly better at math.

    However, almost no programmers/developers/software engineers have to make groundbreaking advances in algorithms as part of their work. Usually, what matters is writing maintainable code with reasonable performance and few bugs. As stated in Structure and Interpretation of Computer Programs:

    Programs should be written for people to read, and only incidentally for machines to execute.

    Thus, it seems obvious that good programmers, by a reasonable interpretation based on their everyday work, would be better at language. They're writing literature--written works--for their peers to read every day. That is their work.

    --
    Join the SDF Public Access UNIX System today!
  • (Score: 3, Interesting) by Subsentient on Friday March 06 2020, @12:12PM

    by Subsentient (1111) on Friday March 06 2020, @12:12PM (#967371) Homepage Journal

    I'm terrible at math. I can't even do basic algebra anymore.
    I had one of those IQ tests in 2016, total was 121, which it reaches sometimes here in Arizona, but everything came out around normal, math slightly below average, but the guy who tested me called the language abilities "rare". I'll never be able to write encryption algorithms etc, but I'm told my code is very clean. Maybe that's why.

    --
    "It is no measure of health to be well adjusted to a profoundly sick society." -Jiddu Krishnamurti
  • (Score: 2) by Mojibake Tengu on Friday March 06 2020, @12:28PM (6 children)

    by Mojibake Tengu (8598) on Friday March 06 2020, @12:28PM (#967374) Journal

    A truly intelligent entity is the one capable to learn anything. Anything.
    That's my axiom of intelligence.

    In this context, both programming and mathematics are just some special cases of knowledge. Nothing unusual, just specific problem domain languages. Best programs often come from mastering both at once. And I am pretty sure even machines could achieve that.

    Now, the real quest:

    Can you learn yourself to become a sovereign entity?
    Emancipation from all kind of control, that's the really hard problem. If you are not sovereign, you do no better than a machine.
    Both language and math excellent skills are not enough.

    --
    Respect Authorities. Know your social status. Woke responsibly.
    • (Score: 2, Insightful) by khallow on Friday March 06 2020, @01:37PM (2 children)

      by khallow (3766) Subscriber Badge on Friday March 06 2020, @01:37PM (#967390) Journal

      Can you learn yourself to become a sovereign entity?

      Ill-posed. Some things you can't do merely by learning. You can't learn to breathe vacuum. Similarly, you can't learn your way out of a situation where someone has and uses power to control you.

      • (Score: 3, Interesting) by Mojibake Tengu on Friday March 06 2020, @03:36PM (1 child)

        by Mojibake Tengu (8598) on Friday March 06 2020, @03:36PM (#967451) Journal

        You limit yourself (and, probably more dangerously, others) by pure dogmatism, a chronic illness of conservatists and believers.
        As there already exist usable tools for breathing in vacuum, there also exist tools for breaking free from controlling power.
        Destruction of such tools, which we witness today, is only ephemeral. If something already existed, it could be reinvented again. By sharing ideas, or by learning self, which means to me solving problems intelligently and independently.
        Sharing is lazy, vulnerable and exploitable, self-learning is not.
        I am not the first person who realized that.

        --
        Respect Authorities. Know your social status. Woke responsibly.
        • (Score: 1) by khallow on Saturday March 07 2020, @02:40AM

          by khallow (3766) Subscriber Badge on Saturday March 07 2020, @02:40AM (#967771) Journal

          You limit yourself (and, probably more dangerously, others) by pure dogmatism

          Sounds like my pure dogmatism is limiting you more than me.

          As there already exist usable tools for breathing in vacuum

          And there we go. Tools != learning. An idiot who uses the tool right can breathe air in a vacuum. The smartest person in the world without that tool is dead.

    • (Score: 4, Interesting) by DannyB on Friday March 06 2020, @06:01PM

      by DannyB (5839) Subscriber Badge on Friday March 06 2020, @06:01PM (#967561) Journal

      A truly intelligent entity is the one capable to learn anything. Anything.

      There are probably levels.

      Dogs have a certain level of intelligence. They can learn things. Sometimes they can surprise you with some minor bit of reasoning they obviously did.

      Humans have a more advanced capability to do these things.

      Might some alien species think of human intelligence the way we think of dog intelligence?

      Humans are generally naturally house broken. Be sure to play with your human. Provide it food and water every day. And frequently get it new toys with faster processors, more memory etc. Your human will love you. You could even come to think they are intelligent.

      --
      When trying to solve a problem don't ask who suffers from the problem, ask who profits from the problem.
    • (Score: 3, Insightful) by hendrikboom on Friday March 06 2020, @08:27PM (1 child)

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

      Can a truly intelligent entity necessarily be able to learn to skate?

      Or does it need skates as well?

      • (Score: 3, Interesting) by Mojibake Tengu on Saturday March 07 2020, @09:46AM

        by Mojibake Tengu (8598) on Saturday March 07 2020, @09:46AM (#967857) Journal

        Truly intelligent entity is capable to invent any tools for any possible context.

        --
        Respect Authorities. Know your social status. Woke responsibly.
  • (Score: 5, Interesting) by wisnoskij on Friday March 06 2020, @04:19PM (3 children)

    by wisnoskij (5149) <reversethis-{moc ... ksonsiwnohtanoj}> on Friday March 06 2020, @04:19PM (#967484)

    I think this quote explains it all.

    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.

    1) A complete lack of understanding of the scientific method.
    2) The inclination to try and change reality to fit your picture of the world.
    3) The willingness to take your complete ignorance of something and dress it up as an insightful alternative theory.

    • (Score: 2) by hendrikboom on Friday March 06 2020, @08:30PM

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

      This is not the scientific method, in that it compares what you've made with your intention instead of with an outside reality. And that's what you want when you're creating something.

      But it is analogous. Perhaps a dual is a better word.

      -- hendrik

    • (Score: 1) by jman on Saturday March 07 2020, @06:25PM (1 child)

      by jman (6085) Subscriber Badge on Saturday March 07 2020, @06:25PM (#967944) Homepage

      Missed the word "variation", did we? ;)

      • (Score: 2) by wisnoskij on Saturday March 07 2020, @10:04PM

        by wisnoskij (5149) <reversethis-{moc ... ksonsiwnohtanoj}> on Saturday March 07 2020, @10:04PM (#967999)

        "Variation" is exclusively used in cases where the difference is within a relatively small amount. While this amount is never defined specifically, I would argue that something that is difference enough to be defined as a cardinal opposite, something that is completely antithetical to the original thing, cannot be called a variation.

  • (Score: 2) by tangomargarine on Friday March 06 2020, @04:55PM

    by tangomargarine (667) on Friday March 06 2020, @04:55PM (#967517)

    I'm a programmer and have been writing as a hobby for years. In college, I had to retake all my advanced math courses twice :P

    Once I was taking a networking course the same semester as...some math course, I don't remember which, and we kept covering mathematical concepts that correlated to what we were learning in networking, 2 or 3 weeks after it came up in networking. "Need to learn the math first" my ass--I probably passed networking and failed the math course that time around.

    "We go into programming to avoid doing the math ourselves"

    --
    "Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
  • (Score: 2) by Phoenix666 on Friday March 06 2020, @07:43PM (1 child)

    by Phoenix666 (552) on Friday March 06 2020, @07:43PM (#967601) Journal

    I have always done beneath the level of verbal or mathematical thought. Csiksentmihalyi's concept of flow [positivepsychology.com] describes the experience pretty well. It feels more like visual/spatial reasoning that produces a construct so real, so defined, that the math and language of it are written by it, not by me. More than once after a long period of time I've gone back over code I've written in that state and can hardly believe I wrote it, because it's much better than the stuff I map out consciously.

    --
    Washington DC delenda est.
    • (Score: 0) by Anonymous Coward on Saturday March 07 2020, @07:09AM

      by Anonymous Coward on Saturday March 07 2020, @07:09AM (#967830)

      Thanks for letting us know.

  • (Score: 1) by sorpigal on Friday March 06 2020, @11:40PM (2 children)

    by sorpigal (6061) on Friday March 06 2020, @11:40PM (#967711)

    All I'm hearing is "tl;dr Larry Wall was right." His background is linguistics and his approach to computer language design was to make something approachable from a human language point of view. Some people don't like sigils, but it's hard to deny that Perl managed to be quite expressive and allows for many constructs that feel much like a natural language--even if you don't count the poetry.

    The longer I program the more convinced I am that Larry has this figured out in a way that few others do. It's nice to have some independent perspective that aligns with that idea.

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

  • (Score: 2) by crafoo on Saturday March 07 2020, @05:17AM

    by crafoo (6639) on Saturday March 07 2020, @05:17AM (#967812)

    "This story resonated because I agree with it,"

    Really??
    Well, who cares.

    Also,
    https://youtu.be/V49i_LM8B0E [youtu.be]
    "Introduction/Logic of propositions and predicates- 01 - Frederic Schuller"

(1)