   Keep your faith ( in programming)
  A lot of young programmer are probably like me when they first start. You hit a snag and if it takes more then 3 minutes to fix the problem you start to feel like your not smart enough or you aren't learning the language fast/well enough. Well keep the faith my friends. I have felt like that way time and time again. Today I can stand up and honestly say that I can throw pointers , function pointers, and all those other things that scare the heck out of young programmers around with ease(while using them properly) and understand exactly what I am doing with them and how they will affect my program and all that.In the next couple months my portfolio will be at a suitable level to start submitting resume's to places for a job in network programming and I finally have every confidence I can take on any project that a company that hires me will give me.So keep plugging away. Remember that the more you do it (and even fight with it) the better you will learn. And in the future you wont have to fight that issue again Also look into learning things in another light. If C++ is giving you trouble take  break (when your at a good break point, like in between projects) and learn python or lua. It will get your brain thinking on different levels so you might have your brain respond to a situation differently(remember its only a new syntax your still programming and all the rules still apply)peace,   
  A lot of beginning programmers think that learning to program is easy while the opposite is true. Programming is just like learning any skills: It takes a lot of time and effort. You think a beginning car mechanic is capable of disassembling a car's engine, revise it and put it back together? No, before he's capable of doing that, he has had to repair lots and lots of car engines in smaller steps.Programming is similar to this. Write hundreds of small(er) programs and you'll learn to write bigger applications in the long term. However, programming is more complex that repairing a car. Instead of just learning how each part fits into the other, you need to learn an entire new paradigm. How to express your ideas into code, how to structure it, etc.Toolmaker   ;  To me programming feels like pure logic and it is. One way to be a betterprogrammer is to better one's logical thinking. That trait, having good logicalthinking skills, is not easy to obtain. Its slow and gradual process just like,ultimately, learning to program well.Oh and thanks for the speech RanBlade. Today I just learned part of linkedlist. After searching for h-o-u-r-s for tutorials, and reading some article. I feel like I know the basics of List. Its pretty useful so far. But the point is thatat the beginning I felt like this was not easy to learn for me. But now I feellike its not very hard. At least what I've learned so far.   ;  It will also start to get interesting when you're better at programming. The moment you learn how to implement ideas you have into code/mathematical formula's, you'll start having fun!   ;  I started having fun in my first programming class, c++:)   ;  i started having fun at hello world.. lolthanks for the speech. Whenever I take a programming class I always feel like I want to give up programming and that its the last thing on earth i would want to do, i dont know why. As soon as the class ends though.. i get completely obsessed with programming and spend all of my time making wierd little programs.tnutty - once u feel comfortable with linked lists, start working on trees and graphs, trees and graphs are what got me really comfortable with them.   ;Quote:Original post by ToolmakerInstead of just learning how each part fits into the other, you need to learn an entire new paradigm. How to express your ideas into code, how to structure it, etc.That's why for a long time there was very little discipline in software engineering. Sure there are design patterns but every other type of engineering have standard rules and practices. With programming it's so easy to just sit down and start writing a program without fully understanding the proper way of doing things.   