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.
I always have the feeling that there is “no time” to start in the beginning. “I SHOULD know that already”, “I’ll pick it up on the way”, “It’d take too long to start there” and other excuses.
But experience tells a different story: When I dare to start at the very beginning, no matter how small, it often lead to great success, while jumping into the middle never got me anywhere.
In your concrete situation with programming: After getting a grasp with BASIC and Pascal in the late 80s, I wanted to learn Assembly and really understand it. And so I did. And it was not wasted time. (Except for macro assembler, aimed at really using it for big projects; could have skipped through that and just used the old MS-DOS debug tool.) Some of my most fond memories with the PC were not fancy UIs I developed, but how I wrote a 10 byte long program directly into the MBR of a floppy disc and booted from it to execute it, without loading any OS.
Later with C, C++, Java, I also focussed on the core language and libraries, only then moved on to UIs and big frameworks. And it did me a great service once more. I notice people around me who skipped through the Java fundamentals in less than a week and got right into a big framework - even 10 years after, they have odd misconceptions and knowledge gaps that hinder their development.
But I also respect that there are different approaches that work better for other people.
You could also go a middle way, for example: Set a weekday that is for “core research”. But don’t try to “wing it”, won’t work. It needs to be an automated reminder on your calendar, a differently marked column on your habit tracker, whatever you use.