this post was submitted on 22 May 2025
95 points (97.0% liked)

ADHD

11053 readers
338 users here now

A casual community for people with ADHD

Values:

Acceptance, Openness, Understanding, Equality, Reciprocity.

Rules:

Encouraged:

Relevant Lemmy communities:

Autism

ADHD Memes

Bipolar Disorder

Therapy

Mental Health

Neurodivergent Life Hacks

lemmy.world/c/adhd will happily promote other ND communities as long as said communities demonstrate that they share our values.

founded 2 years ago
MODERATORS
 

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.

top 38 comments
sorted by: hot top controversial new old
[–] Avalokitesha@programming.dev 2 points 1 hour ago (2 children)

I'm like that and one of my friends as well. We're both not diagnosed but strongly suspecting AD(H)D, and I'm also diagnosed with autism.

I can't count the times I started trying to learn programming and ended up quitting for that very reason - but every time I did I knew a little bit more. So I just tried to learn my way and next time I wouldn't need to look up asuch and got a little farther. But I also have the luck of having programmer friends who don't mind trying to answer my sometimes very unusual questions, and over the several attempts I've learned enough to be able to work in test automation.

If you have patient and encouraging people around you you'll eventually get there :) don't go for ui at first, look for console programs so you can get to things like conditions and loops quickly. That's where the meat is for me.

[–] RamenDame@lemmy.world 1 points 1 hour ago

TLDR: commit to a course.

For the last two to three years I tried a couple of times to get into Python on my own. Each time I find the very basic steps extremely boring. And once I come to a bit more complex question I am like: you didn’t teach that yet! Since I am interested in biology, I want to look into data. I tried my hand on already published stuff but often felt like I am not making anything new, just copy pasting.

The last year I took 2 day classes and are now in a “full on learn 5 month from scratch programming course”. The first two weeks were rough because we went over the very very basics in a slow tempo. And now the “fun” stuff starts.

One day we had a a different tutor and he showed us that some cities (in Germany) provide public data to their citizens. And that this is a good resource. I checked for my city and I have plenty of csv files to choose from. Just waiting to be made into a graph. It helped me stay engaged in the first two weeks. Did I code it myself? Hell no. ChatGPT was a huge help. The haters will tell me I just “vibe coded” but I had so many error messages to work through I think I learned a lot while analysing the data and going back and forth checking if anything made sense. The gist of it is that I am now committed to a course, where I have to show up every day (online). I still often feel like a failure when I don’t understand a question and it is hard to judge if the others are as lost as I am. But it is also kind of fun and having others going through the same makes it more tolerable.

[–] iarigby@lemmy.world 1 points 1 hour ago

you should try Harvard’s CS50 course. Does a good job at covering essentials of computer science, not just programming

[–] Zenith@lemm.ee 1 points 1 hour 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.

[–] Baphomet_The_Blasphemer@lemmy.world 3 points 5 hours ago (2 children)

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.

May I introduce you to prog?

Covet and CHON are a good place to start for instrumental math rock; I reccomennd effloresce and Homey, respectively.

From there I'd suggest Plini, Intervals, and Arch Echo to add some grit.

But if you really really want to hate yourself and break your guitar over you knee? Id like to introduce you to Tosin Abasi;

https://youtu.be/bt-RoSzsEKA

https://youtu.be/0jpOBd949O4

[–] hardcoreufo@lemmy.world 1 points 3 hours 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.

[–] JackbyDev@programming.dev 4 points 7 hours 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.

[–] lwhjp@lemmy.sdf.org 1 points 5 hours ago

Oh yeah, I totally get that.

When I'm doing something for fun, I'm far more interested in the process than the end result, so I'll do everything from first principles. And probably never finish before I move on to something else. But that's fine.

If it's something I need to get done, on the other hand, then by the time I've started we're probably already into crisis mode, and so getting it complete as quickly as possible becomes the goal. Then I'm all for finding whatever shortcuts I can.

Fortunately I've explored a enough topics (particularly in programming) for fun by now that I have enough background knowledge to be good at it for a career. Experience does build up, and even if you're jumping around all over the place, eventually you'll start to see the bigger picture.

[–] Vitaly@feddit.uk 5 points 8 hours ago* (last edited 8 hours ago) (1 children)

In programming you do not need to know the inner workings in order to use something, in fact most people use abstraction to make a project more manageable and modular.

Also don't learn anything before you start a project because it's too boring. I always start a project and learn things I need to learn along the way

[–] emergencybird@lemmy.world 2 points 2 hours ago

Starting a project which you actually find interesting and will really use, will also help with following through. There will be boring parts to it but the excitement of having something usable will overshadow any negative feelings.

[–] Kiernian@lemmy.world 2 points 7 hours ago

So, for this, the easiest way I've found is to look at it in the following sort of way:

Using the example of coding, you can already USE software, think of that like knowing how to DRIVE a car. Start with learning how to REPAIR the car (GUI building block code).

Then learn how to MOD the car with a kit (high-level object-oriented, TYPED code with an IDE or editor that does stuff like auto complete, syntax highlighting, and has add-ins that assist in getting the typed code to completion).

Then learn how to create your own car mods from "scratch" (get to the point where you don't necessarily NEED all those editor widgets to help code)

Then learn how the car functions at a base level and how all the various chemicals, heat, and aerodynamics, pistons, filters, etc interact to make the car function (interacting with and modifying OS-level code/low-level languages with things like hardware access instead of applications that run on the OS)

THEN worry about the various chemicals themselves create the energy needed to generate power for the car (firmware on top of circuits and chips like the CPU/GPU/PSU, storage controller boards, audio chips, and motherboard/bios)

THEN worry about the actual molecular interactions occurring in the batteries or fuel at the atomic level (binary electrical functions of the parts themselves, where 1's and 0's are just current on or current off).

Just because the binary is there at every stage doesn't always mean that understanding how the bonds between the "atoms" operate is going to make you a better programmer UNTIL you understand what you're trying to get those atoms to do and why.

[–] Psythik@lemm.ee 9 points 11 hours ago* (last edited 5 hours ago) (1 children)

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 5 points 9 hours 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.

[–] monkeyman512@lemmy.world 6 points 10 hours 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.

[–] mrnarwall@lemmy.world 2 points 8 hours ago

I've struggled with this mentally, especially when I first was learning how to code. Eventually I realized while it's great to know the ins and outs, you can allow yourself to only worry about what you need to know to get your code running (and that's okay).

Write a script to go a thing, then learn about how to automate that with a cronjob, then learn about coding in the cloud. If you start too big you might get overwhelmed

[–] Hadriscus@lemm.ee 8 points 12 hours 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.

[–] Lucien@mander.xyz 29 points 17 hours ago* (last edited 17 hours ago) (1 children)

I'm 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.world 6 points 16 hours ago (1 children)

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 3 points 9 hours 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.

[–] hihi24522@lemm.ee 4 points 11 hours 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.

[–] Kolanaki@pawb.social 2 points 10 hours ago* (last edited 10 hours ago)

Extremely valuable to me.

I wasn't much of a cook until I started watching Good Eats, and learning the actual science behind shit. Now if I am unable to find X, I know I can substitute a bunch of other things because I know why you're using X in the first place. Most of the time, it's not taste that governs what goes into a dish, but the chemical reactions being created.

Knowing how a game works helps determine what is and isn't a bug, as well as finding bugs or exploits for various reasons. Maybe you're making a game and wanna crush them. Maybe you're a speed runner and you can do some frame perfect bullshit because you know how the game does a specific action and it can be manipulated to your favor.

[–] riskable@programming.dev 12 points 16 hours ago (1 children)

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.world 5 points 16 hours ago (2 children)

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

[–] monkeyman512@lemmy.world 2 points 10 hours 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.

[–] scrollo@lemmy.world 6 points 15 hours 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.

[–] Asafum@feddit.nl 6 points 14 hours ago (1 children)

I'm sort of like this especially when it comes to math, but mostly because my memory is shit.

I can't just memorize a formula, I need to know how something works and then I can work out what i need to do. The "understanding" is what triggers the memory to stick, not the need to remember "you need to use x+y-65bm(y+ba)/gap+5-13 when you have a problem involving bears." I'll never just remember that. I basically always barely passed my math classes in highschool...

So I never studied science and never followed my passions and am now in a factory lol stupid memory...

[–] mic_check_one_two@lemmy.dbzer0.com 4 points 13 hours ago* (last edited 13 hours ago) (2 children)

This is actually the goal of newer math classes, and is why so many parents have been complaining about “new math”. The new goal is to teach students the core components, then show them how to break larger problems down into those core components.

7x12 may be difficult to do in your head (at least without memorizing your times tables or counting by 7’s) but (7x10)+(7x2) is fairly easy. The goal is to move away from rote memorization like times tables, because educators realized that the best students didn’t actually rely on rote memorization. Instead, they relied on mental shortcuts derived from actual understanding. Plus, rote memorization only works up to a certain point. You don’t need to memorize what 15x13 is, when you can break it down into a series of smaller and easier (15x10)+(15x3)=150+45=195 style problems.

Personally, I haven’t had any issues with new math, because that’s how I always did math. I was one of those students who got bored with rote memorization and started devising shortcuts for math problems. And now they’re teaching those very shortcuts as part of the curriculum, because they realized that it gives a much deeper understanding of how and why the math works.

[–] brygphilomena@lemmy.dbzer0.com 2 points 9 hours ago (1 children)

That's the "new math"? That's just how I always have done it. I've kicked ass at math because things were a logical progression and order of operations. I could always transform something down to simpler to calculate pieces.

Yeah, all of the former straight-A students (who excelled at rote memorization, without learning why the math worked) are now parents, struggling to help their kids with the “new” math.

[–] Asafum@feddit.nl 2 points 12 hours ago

That's actually really good to hear! Hopefully less people are left behind because of the dumb way we would teach things.

[–] Please_Do_Not@lemm.ee 12 points 17 hours ago* (last edited 16 hours 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.

[–] Tippon@lemmy.dbzer0.com 5 points 15 hours 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 :)

[–] 30p87@feddit.org 8 points 17 hours ago

That's why I never used Unity for anything but rather just started with raylib. And then went to pure Vulkan.

[–] tyler@programming.dev 5 points 16 hours 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

[–] atzanteol@sh.itjust.works 5 points 16 hours ago (1 children)

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.world 2 points 16 hours 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.

[–] Acklavidian@lemmy.world 2 points 14 hours ago

I can certainly relate. I remember disassembling mechanical things as a young kid and it always bugged me that there was this digital level of design that I couldn't physically investigate intuitively. Then once I started programming I remembered initially being disappointed by the concept of scripting/dynamic language. It felt like if I tried to imagine the twinkle of the 1s and 0s as they moved around the machine the patterns would more divorced from the physical hardware. Probably not an accurate or valid abstraction but it is the model that I mentally interact with at a high concept level. I've grown more partial to dynamic languages since then but only as I've come to terms with the underlying mechanisms. ADHD needs solid walls to bounce off of and having a interpreter that exists in this virtual environment doesn't naturally capture my trust. So in my hubris I doubt the veracity of the tools and learn that it requires a context change to dig in to the lower level of the issue which is demoralizing as an ADHD person. And now because I want to mitigate future context change I spend a lot of time forecasting potential context changes and quickly get overwhelmed by my own efforts.