Im wondering if this is a common adhd thing.

For example, I have always wanted to program, but I can’t let myself start with some easy gui building block code. I need to understand how the code is interacting with the computer itself and know how they did it in the 80s. Then of course it’s too hard for me and I give up.

Or if im making music, I need to do everything from scratch the hard way, making it as hard as possible (and killing any creative effort i had in the beginning).

It’s the same with anything. I can’t progress if I dont know the absolute reason why something is being done. And if I do it the easy way, I didn’t do it right and took shortcuts so it was worthless.

  • Lucien [he/him]@mander.xyz
    link
    fedilink
    English
    arrow-up
    29
    ·
    edit-2
    9 months ago

    I am this way completely. If I don’t fully understand all the details of something, I have no chance of remembering it. Elementary math classes were difficult in college because they infrequently included formal proofs, but as I progressed into more advanced courses I found I really loved math. The formal proofs made the difference. I need to be convinced that something is true; I can’t simply take it at face value.

    • applemao@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 months ago

      I failed algebra 3 times haha, never got a solid base on math sadly. I understand it if it’s applied to something, but I literally couldn’t even do long division right now if I tried

      • brygphilomena@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        Algebra came easy to me. I came to realize even in elementary school we were doing algebra even if they didn’t use that name. Simple arithmetic like 2 + 5 = ? Is algebra if you think of the ? As X.

        Then it’s 2 + ? = 7.

        After that, at least to me, it’s order of operations and just moving things around.

        • Juvyn00b@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          Same. Geometry I had major issues with because of proofs, but could use algebra to solve almost anything they threw at me.

  • Riskable@programming.dev
    link
    fedilink
    English
    arrow-up
    11
    ·
    9 months ago

    Ooh! Get an Arduino/electronics starter kit! You’ll learn how computers worked in the 80s. Then you’ll be able to move on up to say, Python in no time 👍

    • applemao@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      9 months ago

      I should do that. My problem is what to make. There’s a billion things and it’s all been done already, so I just don’t know what I’d want to even do

      • scrollo@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        9 months ago

        Pick something in your daily life that you want to make more convenient. Start searching for tutorials, necessary hardware, and related coding.

        Even something simple like, “I wish I didn’t have to turn on my fan because it’s in the corner.” Boom: look into building a motion sensor that runs a fan, and maybe it connects via a USB port for power.

        Convince yourself it doesn’t need to perfect. It just needs to create a convenience that happens to teach you something.

      • monkeyman512@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        I would find and follow a tutorial. They give you the “what” to do and you can go down rabbit holes of research connecting the why/how. Then when your done, you are starting with some knowledge/understanding which makes seeing possible applications easier.

  • Please_Do_Not@lemm.ee
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    9 months ago

    I’m this way 100%. Feels like I’ll be able to do it better and be less distracted by questions if I get to know something from the ground up, and just doing it a certain way because everyone agrees it works that way is never satisfying/I never feel like I can trust that completely.

  • Hadriscus@lemm.ee
    link
    fedilink
    English
    arrow-up
    7
    ·
    9 months ago

    Yea, can strongly relate. Hindered me a lot during my school years. I just couldn’t do anything without knowing the reasoning behind it. In the way I function, any amount of work is dictated by a need, and if the need -or the rationale, is never presented to me, then I fail to tackle the problem. I love solving problems, but they need to be real, applied.

  • Psythik@lemm.ee
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    9 months ago

    I’m the same way. I can’t just know how to do something, I need to know why I’m doing something.

    I can’t just blindly follow instructions or I’ll never learn. I need to understand everything so that I can find more efficient ways to do the thing I need to do. This is a common frustration I have in the workplace.

    • brygphilomena@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      9 months ago

      It’s put me at odds with some managers, until I got high enough where it became a target and I could determine the path to get there.

      I hated managers who wouldn’t tell me the why, because I’d inevitably hit something that doesn’t line up with my training and I’d have to apply the why’s to determine what to do.

  • tyler@programming.dev
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    I recommend the book “Code: The Hidden Language of Computer Hardware and Software”. https://www.barnesandnoble.com/w/code-charles-petzold/1100324884?ean=9780137909100

    There’s a second edition, I’m not sure how good it is, but the first edition is excellent and will make sure you understand every part of the computer.

    I also recommend the course Nand2Tetris and its accompanying book The Elements of Computing Systems, where you will build an actual computer from the ground up with just code.

    www.nand2tetris.org

    https://www.barnesandnoble.com/w/the-elements-of-computing-systems-second-edition-noam-nisan/1136466530?ean=9780262539807

      • tyler@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 months ago

        You’re welcome. It’s the first part of any good computer science course, or it was when I was in college at least. And you don’t really need a professor to take you through it, it’s very well written.

  • Tippon@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    Can you trick yourself into doing it the other way?

    ‘GUI building blocks let me see the shape of the finished code. Once I know the shape, I can work backwards to finer detail.’

    ‘Making music with the simplified tools lets me get the tune out so I don’t forget it, then I can replace parts with the proper instruments and tools.’

    I’m still trying to get my head around coding, but I use the music trick to learn songs. I play them one note at a time on either bass or guitar to figure out the tune, then play them properly with chords or figure out the bass line once I know where the song’s going :)

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    I can relate. I have a natural aversion to “high level” languages that obfuscate a lot of the details from me.

    I actually do know a lot about the low-level details of programming, how code interacts with hardware, etc. BUT - I didn’t start with that. I first learned BASIC (indeed - in the '80s). Then Pascal, then C. THEN I learned about assembly, computer architecture, etc.

    Does knowing those low-level details make me a better programmer? Probably - but they’re certainly not necessary to get started or to even be effective. And if I started with them I may not have gone into programming.

    I’ve learned to how to convince myself that “I will simply accept this as it is for now (and that’s okay) but I will let myself dive deep on it later”. A bit of a bargain to give me permission to “cheat” for the time-being. It’s helped when learning new frameworks which can be very complicated. And starting top-down can give you a better appreciation for the details underneath.

    • applemao@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      See this is why I always wish to had been born in the computing age and not the iPad age, would have actailly had a reason to learn the real building blocks ! Thats a good cheat though.

  • monkeyman512@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    Yeah. I have found the prototype perspective can help. The idea being that this first attempt is part of the learning exercise and you will redo it “properly” the second time. It helps prevent building a emotional mountain of requirements to get started that only exist in my head. It’s kind of an mindset of knowing you will mess up the first one and that is OK because it is expected and a required part of the process.

  • figjam@midwest.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    It is ok to “cheat” even if you know the “real” way it should be done. It took me ages to come to grips with this but you can get over it too. There are still hobbies I won’t pursue because of this mentality though like drawing.

    • applemao@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      Yeah it’s hard. Because if I can cheat to do it easy, So can everyone, and then why do it at all.

  • Baphomet_The_Blasphemer@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    I’ve wanted to learn the guitar my entire life, but I can’t just start slow and easy with some chords, I keep going all in trying to learn classical guitar simultaneously with music theory because chords seem too simple and I hate myself… I didn’t mention the research phase where I learned all about the origin of the instrument and its importance through history.

    • hardcoreufo@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      Just start playing and keep playing. I’ve been playing 25 years and have only picked up basic music theory but still have a blast.

    • applemao@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      One thing I can help you with. If you learn bass first, you really learn the structure of songs, and it helps make guitar even easier. Don’t worry about theory honestly. My friend is super into theory and im not really, and we both make complex music. Theory is just words for what you’re already hearing.

  • eleitl@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    I never understood how programmers had no clue how the hardware worked. How can you write high performance code without understanding memory access optimization and opcode pipelines? Why even attempting rewriting old Fortran array code to C and then to C++ without understanding that Fortran array code fits cache lines just fine, while your newly shiny refactored code doesn’t, so now you wonder why your code performance sucks?

  • hihi24522@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    9 months ago

    I definitely relate. I also kind of have this obsession with using only open source software which also tends to hinder my creativity because some of the open source alternatives to things have steep learning curves.

    Anyway, I think this is one of the things that makes me great at math but terrible at learning math. If something is complicated, I have to chew it down to the bone and then rebuild back to the original complicated thing.

    As such, I’m really good at doing all sorts of math and even have some of my own weird identities/constants memorized, but it takes me a lot of time and effort to learn new math from a textbook instead of (re)inventing it myself.

  • JackbyDev@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    I have this problem. You are being a perfectionist. Some advice I have gotten that helps is trying to make something intentionally bad. It think it was from Simone Giertz’s TED talk. She said that trying to make Shitty Robots was easier because she couldn’t mess up, they were already bad.

    https://youtu.be/GEIvFfeSjuE behind the scenes, idk where the full vid is.

    Another thing to remember with programming is that bad, but working code will always be better than no code.

  • Zenith@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    I would like to know but I don’t consider it vital, my spouse is autistic and he considers it to be vital to how he functions.