Jump to content
  • Advertisement
Sign in to follow this  
DrinkMoreWater

What are the steps, to learning a programming language?

This topic is 3472 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Please be as specific as possible: How does one, actually learn a programming language? *Note: School is not an option for me. I tried to learn in past, but after reading a book, but it felt like I was lost/stuck/misunderstood, and could not continue progress.

Share this post


Link to post
Share on other sites
Advertisement
Well I hate to break it too you. If you don't like reading, programming isn't going to work out too well for you. You will have to read thousands of lines of code. You will need to refer to books for help or online information. Math and Physics will be something you will want to learn especially for game programming.

The main way you really learn to program is by doing. However you cannot do anything if you don't know anything on what you would like to do.

Don't worry about School, you only need that to get a job in programming because you need to obtain a degree. I've been programming in Visual BASIC for six years, C# and XNA for one year, and now C++ for about two years off and on. If you have a good books or any form of learning resources plus a passion to learn, you can achieve your goals.

I'm not saying give up on programming but only stating that if you have a lot of trouble reading books to understand concepts, you will struggle with programming.

If your main goal is making games, try Game Maker.

I would still suggest trying to read through a book, such as C++ Primer Plus. I'm only recommending C++ because I didn't find it extremely "hard" to learn, just grasping the concept of Pointers and References for the first time.

http://www.amazon.com/Primer-Plus-5th-Stephen-Prata/dp/0672326973

You could always try online tutorials.

http://www.cplusplus.com/doc/tutorial/
http://www.cprogramming.com/tutorial.html#c++tutorial

Not trying to be a jerk or anything, it's just not everyone can be the baker, butcher and candle stick maker.

Best of luck!

Share this post


Link to post
Share on other sites
I hate to give up, but you may be right.
But the brain can be trained right? Through series of exercises and struggles, could I eventually make a living as a programmer?

Share this post


Link to post
Share on other sites
Quote:
How does one, actually learn a programming language?
Reading, thinking, and doing for a long enough period of time. There's no secret steps to learning. When you're reading, you're writing programs in that language.

Quote:
I tried to learn in past, but after reading a book, but it felt like I was lost/stuck/misunderstood, and could not continue progress.
Sometimes getting a different book helps, a lot. Sometimes changing programming languages or doing something a bit different helps. Sometimes you just need to stop and ask questions about what you don't understand.

Quote:
But the brain can be trained right? Through series of exercises and struggles, could I eventually make a living as a programmer?
I wouldn't really worry. I mean, how long have you been trying to learn a single programming language? And what language was that?

Also, realize that programming is not solely about the language. That's one aspect of it, but not even the most important aspect of it.

Share this post


Link to post
Share on other sites
Quote:

Through series of exercises and struggles, could I eventually make a living as a programmer?

Maybe. But then again, if it's not for you, it's not for you, and just because you can force yourself to do it enough to do it as a job doesn't mean you won't be miserable.

What make you consider learning to program in the first place, and what did you try to learn?

Share this post


Link to post
Share on other sites
There is no reason you cannot learn to program. What is out of our control is how long it takes one person to understand concepts. Some people can catch onto programming faster then others. This goes back to intelligence and natural talent. In Schools they will teach you a lot of the skills you need, such as problem solving, certain math, ect... Since this isn't an option you will need to teach yourself, which can be done day by day and isn't impossible.

I wouldn't give up on your dream no matter how far it might seem to reach. The best thing you can do is forget about what problems you had before with reading. I hate reading books but I was willing to overcome that obstacle because I had a huge amount of interest to learn programming and make games. I wasn't going to let anything stop me from doing so, even if I had to open up a one book or thousands.

Mind over matter, just believe you can achieve your goal and start working towards it. Never expect to learn everything in one day.

Making a living as a programmer is another story. Most companies will require a degree from you, that's not to say you don't know how to program it's just book policy. That doesn't mean you couldn't make money from contract work, or by selling your own games and programs.

I know for sure people are going to nod their heads at recommending C++ to any beginner, which is perfectly fine because not every could pick up C++ for the first time and not give up.

So I suggest starting off with Game Designed Languages to learn the basics of programming concepts.

http://www.blitzbasic.com/
http://darkbasicpro.thegamecreators.com/

You could also pick up Game Maker and learn GML.

http://www.yoyogames.com/make

You also have the option of learning scripting languages such as Python and use it with PyGame, which a lot of people recommend.

http://www.python.org/
http://www.pygame.org/news.html

Pick something and give it a go, just try not to give up. It might be hard when you're starting out but trust me a year down the road these "hard" concepts will be second nature to you.

Best of luck.

Share this post


Link to post
Share on other sites
1. Find good, lasting motivation to actually do it.

Good motivation is something that makes the process fun - eg. deciding to learn to for money turns the learning process into a excruciating amount of work you would have to pull through, but deciding you want to be able to create some utilities or a game for yourself may turn the learning process into a positive experience.

2. Find a realistic goal to avoid frustration.

Creating a MMO or the next Quake aren't very realistic. But creating Pong, Tetris, and Breakout are achievable with a reasonable amount of programming skill.

3. Find some tutorials, beginner's books or example code and start learning

If you say you can't learn from books I don't believe you. A book isn't there to understand you or to coddle you. Books contain information. Some present their informations well and are easily accessible, some don't Maybe you just picked a bad one.

Don't be afraid of starting a book in the middle, skip through it, cherry-pick it for something you're interested in. Stoke your curiosity.

If reading is too broing for you, that would be a real problem. As a programmer, you'll have to read all the time. Source code, API docs, how-tos and more.

4. Apply your skills all the time.

Learning programming in the dry is next to impossible. And it's no fun either. By experiencing and using things you learn in your code, it's much easier to understand them and remember them.

And vice versa, requiring something in your programs can be a very good motivation for learning it!


...I leave actual starting points, tutorial recommendation and so on to the other posters :)

Share this post


Link to post
Share on other sites
Quote:
Original post by DrinkMoreWater
Please be as specific as possible:
How does one, actually learn a programming language?


One will learn differently from Two, who learns differently than Three. I learn languages far differently now than 15 years ago, and I imagine will learn them differently 15 years from now...

Things to take into account:

- How you learn. Some people are very visual, some people auditory, some need essentially muscle memory to learn things well. Tailor your education to your needs and it works better.

- What language you're learning. Some are more forgiving of errors than others.

- If you really need to learn programming, not a programming language. The later is perhaps unfortunately required to effectively learn the former, but if you're learning something that is useless... (it's like memorizing a dictionary but being unable to construct a meaningful sentence)

- What resources are available to you. Some are better than others. Some are better for you. Some require investment on your part.

- What the goal is. If you need to learn enough Java to fix this program by Friday, you'll take a different approach than if you are just learning to program as a hobby.

Quote:

School is not an option for me.


Well, why not? Loans are at a historically low level, and there are plenty of places which will take pretty much anyone (though to be fair, a number of those are a waste of money)

Quote:

I tried to learn in past, but after reading a book, but it felt like I was lost/stuck/misunderstood, and could not continue progress.


Right. Read a little (~10-20 minutes), program a little. Read a little, program a little. Re-read a bit, program a little....

Quote:

But the brain can be trained right?


Maybe. Some can't. Some can, but would require so much deconstruction of current processes that you might as well go train to be a ninja. (requires the same time, dedication, and effort but is way cooler)

More likely though, you've just not hit some ah-hah! moment because you're taking a poor approach.

Quote:

Through series of exercises and struggles, could I eventually make a living as a programmer?


Without knowing more about your situation and the economic future it's hard to say. Personally, I'm not one who believes that 'hard work conquers all'.

Share this post


Link to post
Share on other sites
When I first decided I wanted to go into program(took a Visual Basic class in highschool, but past that didn't know much) a couple years ago I bought a book or two, read online tutorials, and tried to teach myself. I didn't get very far. I had trouble learning basic concepts from just reading them.

It wasn't until I took my first classes at college that I really started to grasp the concepts, and I grasped them very well, doing great in all of my programming classes. I don't know if I am just an audio learner, or it is the fact that someone teaching you in person is able to better explain themselves, and allow you to ask questions, but it really took a class or two for me to grasp the fundamental concepts needed to program. Since then, I am definitely able to teach myself by reading far better than before, but still learn better from someone in person, or someone talking(found some awesome video tutorials that I like a lot more than just reading a text tutorial).

So, you could be like me, which struggled to learn from simply reading, and really required classes and a teacher to fully understand it. If you don't mind me asking(and you don't have to tell if you don't like), why is school not an option? Will it be an option sometime down the road?

Well either way, like reading or not, if you want to be a programmer, you are going to have to do a lot of it! I used to hate reading, but I found I only hated reading I wasn't interested in. I don't think I read a single book in any English class(that I was supposed to be reading) I have taken since 5th grade, but I don't mind diving into a programming book at all because it interests me.

Good luck on whatever you decide

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!