Originally Posted by Ch13f121
This is why I hate talking to programmers. "Oh well what we do is magical and amazing, it's not for everyone. Not into it right away? Don't bother, you're not a programmer obviously."
I mean obviously writing terrible code professionally is frowned upon, being bad professionally is just that, being bad. That's frowned upon everywhere, from being a simple frycook at a restaurant to running a business.
But if someone is trying to learn, why do you insist on breaking them down before they even get started?
People have told me this before, and it pisses me off, and does nothing to help anyone.
Some people just have motivation issues. It could come from anything; stress, ADD, seriously the causes are endless because the mind works in peculiar ways.
Some people don't learn very well sitting in front of a book reading dry abstract programming problems, they learn by doing.
I don't know how OP learns, but the key to learning something is do it how you feel comfortable, and be in tune with how your mind works.
Here are my suggestions, from someone who is learning as well:
- If you're unmotivated/bored, try thinking about subjects that interest you and start thinking about how to apply programming to those subjects.
- Switch to an 'easier' language. C/C++ is notoriously annoying and hard for new people. I suggest Python/Ruby, and maybe coming back to C++ later after you know more about general concepts. C++ might be easier for you to understand later.
- Learn, don't worry about making money yet, or making a killer app that millions of people use. I mean if you have an idea great, but chances are you're going to get really frustrated because you can't wrap your head around building a system that can do what you want.
- Code...even if it's just crappy little console apps. Write little things that do neat stuff. Maybe write programs that calculate stuff for you if you still go to college. There are lots of formulas that can be automated.
While I agree with what you are saying, I do not agree with your generalization of programmers from your first sentence. I think your post could have been better suited and well-read without that first line there. I understand your frustration though, however I would like to point out that what we do is not magical (at times it is amazing (
), but there is no magic!).
I think that being into something (including programming) right away is a huge benefit - however if you are not, then certainly it does not mean you cannot still try to learn and do it. It just makes it one step harder, one extra step that you need to overcome. However, the first step of motivation comes from the willingness to learn - it appears as if the OP has this virtue (judging from their seek for help here!).
Motivation issues (caused by all those things you mentioned, and more!) certainly do not help. I have been programming for a long time and I can certainly tell you right now there are times (extended periods, even) where I just simply do not want to write a single line of code. It works the same for learning your way through it - if you find yourself getting unmotivated, maybe its time to take a break and do/think about something else.
I've found, personally, that books only come of a great resource once I had already learned the bulk of the concepts of programming - and that for sure, books are boring and put me the hell to sleep. I tried to learn with books - no good. Perhaps the OP likes books - but I sure as hell didn't - so I must agree with your point there also about books and dry abstract programming problems.
All in all, I would like to definitely say to the OP not to give up. If you are interested in learning, programming is an awesome skill that can bring many hours of fun (and of course, dismay, hair pulling and swearing, but hey that's part of the fun!).