• Walnut356@programming.dev
    link
    fedilink
    arrow-up
    38
    ·
    1 year ago

    Please don’t say the new language you’re being asked to learn is “unintuitive”. That’s just a rude word for “not yet familiar to me”…The idea that some features are “unintuitive” rather than merely temporarily unfamiliar is just getting in your way.

    Well i mean… that’s kinda what “unintuitive” means. Intuitive, i.e. natural/obvious/without effort. Having to gain familiarity sorta literally means it’s not that, thus unintuitive.

    I dont disagree with your sentiment, but these people are using the correct term. For example, python len(object) instead of obj.len() trips me up to this day because 99% of the time i think [thing] -> [action], and most language constructs encourage that. If I still regularly type an object name, and then have to scroll the cursor back over and type “len(”, i cant possibly be using my intuition. It’s not the language’s “fault” - because it’s not really “wrong” - but it is unintuitive.

    • fubo@lemmy.world
      link
      fedilink
      arrow-up
      15
      ·
      edit-2
      1 year ago

      If you only know C and you’re looking at Python, the absence of curly braces on code blocks is temporarily unfamiliar to you.

      But if you only know Python and you’re looking at C, the fact that indentation doesn’t matter is temporarily unfamiliar to you.

      Once you learn the new language, it’s not unfamiliar to you anymore.

      “Unintuitive” often suggests that there’s something wrong with the language in a global sense, just because it doesn’t look like the last one you used — as if the choice to use (or not use) curly braces is natural and anything else is willfully perverse on the part of the language designer.

      • Walnut356@programming.dev
        link
        fedilink
        arrow-up
        9
        ·
        1 year ago

        “Unintuitive” often suggests that there’s something wrong with the language in a global sense

        I mean only if you consider “Intuition” to be some monolithic, static thing that’s also identical for everyone. Everyone has their own intuition, and their intuition changes over time. Intuition is akin to an opinion - it’s built up based on your own past experiences.

        just because it doesn’t look like the last one you used — as if the choice to use (or not use) curly braces is natural and anything else is willfully perverse on the part of the language designer.

        I don’t think it’s that deep. All people mean when they say it is that “[thing] defied my expectation/prior experience”. It’s like saying “sea food tastes bad”. There’s an implicit “to me” at the end, it’s obvious i’m not saying “sea food factually tastes bad, and anyone who says they like it is wrong or lying”.

      • Walnut356@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        1 year ago

        You could say that about anything. Of course you have to learn something the first time and it’s “unintuitive” then. Intuition is literally an expectation based on prior experience.

        Intuitive patterns exist in programming languages. For example, most conditionals are denoted with “if”, “else”, and “while”. You would find it intuitive if a new programming language adhered to that. You’d find it unintuitive if the conditionals were denoted with “dnwwkcoeo”, “wowpekg cneo”, and “coebemal”.

      • kaba0@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Languages also have inner consistency. E.g. the mentioned python len function is inconsistent with the rest of the same language - and that is a statement that is true in itself, without an external reference point.

        • xigoi@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Yes, I agree that the len() thing in Python, and inconsistency in general, is bad. But pretty much all popular languages have many inconsistencies.

      • 257m@lemmy.mlOP
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 year ago

        But there are languages that require varying degrees of effort to become natural. Something like Malbolge will pretty much never be natural while something like Python can become natural to you in a few days.

        • xigoi@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Yeah. The original comment was about programmers who say that a language is “unintuitive” because it doesn’t look like another language they know.