• Square Singer@feddit.de
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    edit-2
    1 year ago

    But isn:t that kinda true for most things? If you go down deep enough, amost all tasks end up in physics und thus maths somewhere. But if I’m stacking shelves, I don’t care that there are some pretty complicated mathy physics things that determine how much weight I can stack on the shelf. I just stack it.

    That’s kinda how most of programming is related to maths. Yeah, math makes it all run, but I mostly just see maybe a little algebra and very simple boolean logic.

    And the rest of my work is following best practices and trying to make sense of requirements.

    • juliebean@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      you don’t need to worry about the load capacity of the shelf, but only because somebody else already engineered it to be sufficient for the expected load. i’d argue that you aren’t the coder in this analogy, you’re the end user.

      • Square Singer@feddit.de
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        1 year ago

        But how often, as a coder, are you going low-level?

        If I want to sort a list, I don’t invent a sorting algo.

        I don’t even code out a known sorting algo.

        I just type .sort(), and I don’t even care which algo is used.

        Same with most other things. Thinking about different kinds of lists/maps/sets is something you do in university.

        In reality, many languages (like e.g. Python) don’t even give you the choice. There are List(), Map(), Set() and that’s it. And even on languages like Java, everybody just goes for ArrayList, HashMap and HashSet. Can’t remember a single time since university where I was like “You know what I’d fancy now? A LinkedList.”

        I honestly don’t even know if Java offers any Map/Set implementations that don’t use hash buckets.

        And even of boolean logic we only use a fraction. We use and, or, not and equals. We don’t use nand, nor, identity, xor, both material conditional variants, material biconditional or their negations.