I have this huge desire to learn programming but its stopped by me not being able to sit down and say “now its studying time” any advice is appreciated.
I don’t have a good answer for the question in the title, but for programming specifically, I’d say try and solve a problem you have instead of studying it. It’s one of those things that’s IMHO much easier to learn by trying things out. Start small. Little things you’d like to automate, annoyances on your computer, things that could be useful for your work, etc.
I find making a simple text based calculator is a good way to test your skills while learning.
Start by adding 2 numbers together and outputting the result.
Then upgrade the calculator by getting the numbers from user input.
Now you get to decide the next upgrade. Does the user want to add 3 numbers? Perhaps they want to subtract instead. Maybe the user wants to start a new calculation immediately after finishing. What about error handling? What should the program do if the user enters something that isn’t a number?Each step provides new challenges and new learning opportunities.
Make sure to test frequently. The more code you write between tests, the harder it becomes to track down bugs.
I’m afraid that can only be solved by discipline. Even if you stay on your seat doing nothing and fighting your mood, consider that a session of work.
Yeah, making habits is hard.
Get a cool project to build. I do advent of code (it’s a tough one though, so don’t expect to get very far. The first few days are easiest.)
Another project I build that I liked was: Build a green window with a grey square (Bunny in a field) Make the square move around randomly Make dark green squares (plants) If the bunny comes within x distance of a plant it goes there to eat it.
Then I started complicating things with generating random ponds the bunnies couldn’t cross. Creating a fox that ate the bunnies. Bunnies procreate. Etc.
I liked that project and I learned a lot while building it.
Don’t study too much, just take a small problem (e.g. interest calculator) and start making it, it’s way easier to learn that way (for me at least). Don’t make the tasks too big and ensure the end goal is clear. You can always add new things later after you’ve finished your original idea.
And another piece of advice: it’s better to finish something small than to get bored and disinterested making something bigger.
One of the limitations that people with Autism and ADHD often struggle with is that it is harder than average for them to imagine the future. Without that, it is more difficult to have a vision for oneself that is different from the present and consequently difficult to gain motivation to change. It’s a form of mental blindness that is very subtle until you notice it.
Try to find ways to get really clear about the future. Define what your vision/goal is and then at the start of every day remind yourself what that is. You need physical reminders, in multiple places and forms. Objects that represent your goal, displayed in a prominent place in the home, pictures of the goal (or benefits of the achieving the goal) on your desk, a computer desktop background that is a collage of different facets of your future life, and so on.
Make it impossible to forget how awesome your life will be if you make the decision right now to open your IDE and do 5 minutes of study/practice (which will hopefully trigger your hyperfixation and turn into an hour or more). Getting started is the hardest part.
Find a way to hack your brain to make it do what you want.
Body doubling: Have someone sit with you to keep you on task. They don’t need to understand the task, just recognise when you get distracted.
Inspiration: Watch a video of someone doing a similar task. Not a tutorial, but someone having fun and showing off how they code.
Jump in: Open a development environment and start writing something. If you’re still learning, copy a small example and see if you can make it do something else.
Accountability: Tell someone what you are planning to do, and report back to them. Don’t set high goals, just aim for progress.
No distractions: Give your phone to someone else, or put it in an inconvenient place. Mindlessly scrolling is too easy if the phone is within reach.
Not all of these will work for you, but perhaps some of them will.