Jump to content
  • Advertisement
Sign in to follow this  
wilsocn

Is this normal when learning to program?

This topic is 5131 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

I am learning C++ and I have covered topics such as functions, classes, pointers and now references, but I think I might have a problem. When I finish a chapter covering a certain topic I make sure that I understand the concepts in that chapter. I understand the example programs, but I couldnt really set down and write a serious program to implement the new concepts that I have learned. I can sit down and write a small program that does nothing other than demonstrate the concepts, but as far as a real world program, I can't do it yet. Also, when I look at source code for a game or something I feel really overwhelmed and wonder if this is something that I will ever be able to do. I wonder how I will ever remember so many new functions and when to use a pointer, pass by reference, etc etc... Did anyone else face these hurdles when learning C++? Thanks

Share this post


Link to post
Share on other sites
Advertisement
Its always hard to read someone elses code for the first time and understand what they were thinking when they wrote it.

The best way to learn is to practice, writing programs reading other peoples programs, eventually it starts to make sense. When I first learned about pointers and references I didnt understand it at all. It wasnt until I took a college course on operating systems and had to program a unix shell in C that I really learned how to use them effectively.

Share this post


Link to post
Share on other sites
Im doing an MCAD and i hve the same problem but as my tutor said "in the real working enviroment no ones going to stop you pulling a book of the shelf to look somthing up"

The best way to learn is keep doing it. soon enough you will come across a problem that will cause you to have to delve into the intimate workings of a program, yeah you will pull your hair out and spend hours trying to fix it...... but by the time you get it working you will have a much greater knowledge of it
... and the more you code, the more mistakes you make and the more mistakes you learn from.

For me making mistakes is the best way to learn programming :? with all the complexities of it, it's easy to over look what makes a particular function tick, but as soon as you need to root out a problem you have to roll up you interlectual sleaves and get your hands dirty ... and thats where the best learning happens.

Share this post


Link to post
Share on other sites
Yep.

But to me it seems easier to learn from examples and sources, not from books and SDK. I'd better like to experiment and juggle with variables, flag and other stuff and see the result it brings, rather than adopting "do as I say" method. I call it "geeting lots of EXP" ;)

Share this post


Link to post
Share on other sites
I guess you might when your learning, but I dont remember. I've now been programming 4 years and I can do it in my sleep now. I'm making a game and It does seem overwhelming, but I think you just have to break it down. Right now I'll code the menu. Now I'll code the battle engine etc. As for remebering the functions, syntaxes, methods etc, that all comes with time. For now, have MSDN bookmarked and look things up as needed, but as time progresses, you'll find that your memorizing the syntax for functions. It all comes with practice. It is THE best thing you can do while learning to program.

Share this post


Link to post
Share on other sites
This is the hardest part of learning to program. The good news is that it gets better with practice. It really does. The bad news is that there's no magic tutorial that'll give you that particular skill in programming; practice is the ONLY way.

Take baby steps. Take a program from your book, one that you really and truly fully understand _EVERY_ line of, and start modifying it. Start by adding really teeny things, and work your way up. Don't be afraid to back off from a planned modification if you have no idea how to approach it, but write it down and revisit it later.

Share this post


Link to post
Share on other sites
Absolutely. This is the same problem you will face no matter what you are learning. There are going to be bumps in the road. Like the others said, practice. Write as much code as you can about anything. Get used to commenting your work so you will be able to go back a month later and remember what you were thinking. I would say good luck but only practice can save you now. :)

Share this post


Link to post
Share on other sites
It took me a while to learn a few stuff so I edited the code I saw; giving a better understanding of it.
If that doesn’t work look at other tutorials\books and see the difference, when you see the difference it will make more sense. Having trouble with pointers was my main struggle, no one person could explain the use of them to me until I started SDL, but that does not mean that you should skip pointers; I learned how to use them but I didn’t know any purpose.

Share this post


Link to post
Share on other sites
Thanks for the tips. It is nice to hear that my situation isn't unusual. I just gotta stay focused and keep coding I guess. ;)

Share this post


Link to post
Share on other sites
I don't think anyone else here really talked about it, but that is the general pattern for all learning ...

First is knowing enough to know that the knowledge exists (knowing there is a topic).

Second is knowing something about the topic.

Third is actually learning the primary information of the topic. (this seems to be the level the book primarily covers)

Fourth is understanding what the topic is used for, where it is applied. (this is probably touched on in the book, by the example, but largely is something you just have to gain through talking with people and attempting to use the topic (usually incorrectly at first)).

Fifth is actually understanding the topic so completely, that you can apply that knowledge to areas not originally intended by the teacher (for example building an atomic bomb using quantum physics).

The goal of school is to give you Second level information about an enormous number of topics, and Third level information about the primary areas of your disipline (aka programming) ... and at least ONE piece of Fourth level knowdlege for each topic ... that way you can begin applying the information in just one way, right away ... and then with experience, you branch out.

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!