Need advice on learning programming
I've been trying to learn programming for quite some time now and haven't had much success. I suck at math, yes, I really do, although I don't think that should be much of a problem. My problem is I am unable to stay focused and I end up procrastinating. How do I keep myself focused? This never was a problem earlier, but now I find it impossible to focus, because of burnout due to excessive forced social interaction.
Earlier, I used to enjoy impossibly hard problems, but now I just look the other way and start procrastinating at the sight of them. Maybe one problem is that I'm getting ahead of myself and not learning the basics first.
Has anyone else had a similar problem when learning programming? How did you get over it?
My apologies if this question doesn't belong here.
Exactly this. And it's even harder when I can't decide what I wanna use. There's C, C++, Perl, Python, Lua, etc... all this stuff I wanna learn, but most books and teachers treat you like you've never understood the fundamentals of programing. Well, to be fair, I can't even sit through the boring SICP articles, yet. You can look up "Learn X programming the hard way" and see if you can find anything. I think I did this for Ruby, but I don't realy use Ruby anymore.
Maybe I gotta have a nice cup of tea and do that. SICP teaches you Lisp programming. And using Lisp is very good since it helps you minimise computer bugs. Lisp works in favor of the computer's logic, and not really against it.
If you find programming doesn't hold your attention then I think you're wasting your time trying to learn. Without strong motivation to program you'll likely give up before ever programming anything of any substance. I've been a professional programmer for over thirty years in numerous languages and I'm still learning. I think part of the problem nowadays is that young people see software do incredible stuff and somehow think they could do the same after a little study. It doesn't work like that. It requires an immense investment in time and effort to develop any software that is useful in today's society. If I'm programming something complex I have motivation to sit in front of the computer for several months, deeply focussed on the task.
_________________
I've left WP indefinitely.
Attention span is a big problem for me to, since I have ADHD, and don't like being on meds. I guess you tried something like C, where you have to do:
#include<stdio.h>
main()
{
printf("Hello World");
}
to print Hello World. I suggest you try Python:
print "Hello World"
Its a much easier language to learn, and with PyPI, you can get a lot of work done in a lot lesser time compared to C and others. Python is what I'm learning right now, and its managed to keep me interested a lot longer than C.
YouTube videos are a lot better compared to using a book. There's also Codecademy, however, it failed to keep me interested. Actually, thats what I'm doing right now. I've decided what I want to make, and I'm working towards building it, and I figure out anything I don't already know when I need to. Textbooks, no matter what kind, can keep me interested for a couple days at best, and then I move onto something else, and forget about it, until a couple days letter, at which point, I have to start over. That's really the biggest challenge I'm facing.
Exactly this. And it's even harder when I can't decide what I wanna use. There's C, C++, Perl, Python, Lua, etc... all this stuff I wanna learn, but most books and teachers treat you like you've never understood the fundamentals of programing. Well, to be fair, I can't even sit through the boring SICP articles, yet. You can look up "Learn X programming the hard way" and see if you can find anything. I think I did this for Ruby, but I don't realy use Ruby anymore.
Maybe I gotta have a nice cup of tea and do that. SICP teaches you Lisp programming. And using Lisp is very good since it helps you minimise computer bugs. Lisp works in favor of the computer's logic, and not really against it.
I've tried Learn Python the hard way, but it fails for me after a couple of days. Codecademy is a bit better, especially with the rewards system.
Its not that programming doesn't hold my attention, its only that I have trouble focusing, and that happens with everything. Actually, I've already written a couple small web apps(VERY small, using bottle) in Python, so I know the basics, I just can't stay focused for long spans of time. Yeah, I'm not one of those young people though. I've spent nearly my entire life in front of a computer, mostly doing sysadmin or design stuff. I could sit in front of the computer trying to figure out the solution to a problem for several months, but I have trouble with getting distracted easily. I face that problem with everything, not only programming. I think I'm gonna need to talk to a psychiatrist about this one.
I see you're not gonna be on WP for a while, hopefully someone else finds this information useful.
I was in the same spot about 9 years ago, tried tutorials but they were all so boring and seemed unrewarding. I also just forgot about the stuff next day because it's very difficult for beginners to see where exactly you would ever need "Hello world". So instead I tried a different approach, I looked up some open source project that I was very much interested in, at the time it was World of Warcraft emulated server. And I downloaded the source code and set it up so I could compile it (there was a tutorial for that). At this point I knew nothing about programming, it took me months to figure out what exactly a "float" is lol. But I just started looking at the source code, the project is huge but some of it made sense to me because it was directly about something I knew a lot about - my favorite video game at the time. For example I looked up something that happens in the game, such as player hitting a monster, and tried to understand how it was in the code. Only very small parts of it I could understand but it was very nice to see something practical side by side. So the next step was that I tried to change very small things, like multiplied some number by two or removed some line of code to see what would happen in the game afterwards. Sometimes what happened was expected and sometimes unexpected, sometimes it didn't even compile anymore. After a few weeks of messing around with this I tried to add new code of my own, some small changes that I made up. It didn't matter at the time what they were but what mattered was I made new code from scratch now. At first I couldn't get anything working but I looked how it was done previously and then I copied it and changed stuff, for example added new functions and variables and such. A few years later I was completely proficient in programming just from this one project and because I was working on something that was fun for me, I made programming about something I was passionate about and it started to stick very fast. I rarely if ever looked at tutorials, they were not necessary because I could learn all from just trial and error and looking at how others had done before in that project. It was a much better way to learn in my opinion because I could instantly realize the practical usage of what I learned and why I learned it.
I hope this story helps you guys get started with learning.
^^ If only I could find some application for it within my own interests :/ I think if I thought of an idea for some kind of program I wanted to try and make, I would figure it out. I would not let it go until I figured it out. But the problem is I that I don't have a problem, I have nothing to figure out.
_________________
"It has long been an axiom of mine that the little things are infinitely the most important."
- Sherlock Holmes
I've been teaching myself livecode, and so far I've taken the approach Duckbat took as well as the tutorial approach. I downloaded all the free tutorials from the website, organized them into folders in chronological order, and have systematically been working my way through them one by one. As I go, I've added bits and pieces onto each basic tutorial and experimented with things. It's good to create some sort of structure for yourself, especially if you have ADHD (I have ADHD too and can lose focus). If you complete one tutorial at a time and have a clear order in which you do things then it is easier to stick to it, otherwise it can be overwhelming and you can lose focus.
Getting the code for a game/program/whatever that is relevant to what you're trying to learn is extremely helpful because you can learn loads just from reading the code and figuring out what it does and how it works. This is a different approach to learning and I think it is very good as a complementary approach alongside tutorials.
I'm still a beginner myself but so far this stuff has worked for me.
_________________
Into the dark...
Similar Topics | |
---|---|
Grace Hopper - Pioneer of Computer Programming |
24 Oct 2024, 10:47 pm |
Learning acceptance to cope with losses |
18 Sep 2024, 8:19 am |
ASD GF, neurotypical BF- I need advice |
19 Sep 2024, 10:26 pm |
ASD GF, neurotypical BF- I need advice |
31 Dec 1969, 7:00 pm |