Do you ever try to learn too much?

This is a discussion on Do you ever try to learn too much? within the A Brief History of Cprogramming.com forums, part of the Community Boards category; I've been a hobbyist programmer for almost a year. I started out with some actionscript and not really know what ...

Do you ever try to learn too much?

I've been a hobbyist programmer for almost a year. I started out with some actionscript and not really know what I was doing. Then about 6 months or so ago I remembered about c++ and thought I'd give it another shot (I initially started to learn it when my dad bought me an "idiot's guide to c++" when I was 11). Since then it seems I can't help but always want to learn new things. I don't yet have a full grasp of c++ language yet and yet I still find myself wanting to write stuff using SDL, openGL, Qt and the like. I'm also simultaneously reading about 3 books on c++, as well as online tutorials. Everytime I see a new aspect of programming I think to myself "This is it! This will be my niche!"...until I find something else which sparks my interest.

I think I probably would have done a lot better on my degree if I hadn't been spending so much time writing code (result of degree still pending!) and trying to figure out why my programs weren't compiling.

I think maybe the best thing for me to do now is actually finish a book on c++. Steve Heller has a great online book which has done me good so far. It's about a thousand pages I'm about half way through, I hope to finish it by the end of the summer.

As for pretty pictures, I've always got flash to make things move, until I learn how to do it in c++

Am I the only one who wants to know everything about everything about programming, and wants to know it right now :P ?

I won't go so far as to call myself a programmer; it's been just a week since I discovered I like C so much, so I'm pretty much the baby over here. But yes, I feel the same way as you do, going back and forth between books and online tutorials... I still have 3 months before I start college, though, so (hopefully) I can make considerable progress by then...

It may seem overwhelming at first. The amount of information is scary. I remember feeling lost in so much information not really sure where should I turn my attention too. This was compounded by the fact I was learning it using the MinGW compiler which also forced (not really forced because of all the IDEs, but I still felt I needed to) me to learn about command line compiling and debugging.

There will be some bumps where you will fell the inescapable "I will never learn all this!". Don't mind it. Push forward. I'd safely gather about everyone before you went through those moments and came out unscathed... in fact more powerful.

My only suggestion is - and what I feel is one of the reasons so many people start, but then quit - is to put your priorities where they really are. Right now your objective is to learn C++. That's your only concern and should be your only concern. Your objective is also to write software (some tool, a game maybe). But that's further down in your timeline. Right now you should focus on learning the language, understanding the gritty details, ask about everything till everybody screams at you, and slowly build a working knowledge of the programming language.

If instead you try to pursue your ultimate objective which is building that tool or game, you will be in a constant feeling of frustration as you have to stop and go back to try and understand why things don't work as you thought they were, why are you getting this compiler error and, the most common, "what is this compiler error". Constant frustration draws into premature quitting. Something I have seen happening not only in C++. The usual goodbye messages are "This is just too difficult for me!", "C++ is too complicated", "Other languages are so much easier!" and the also traditional "C++ sucks!".

By understanding the learning process as a personal project of yours, and by understand a personal project of yours as just like any other business project, you will organize yourself better, make better decisions on what tasks are involved and where you should place them in the timeline of your project and, ultimately, do yourself a favor by actually learn not only how to program in C++, but also how to program.

Best of luck. Check the C++ books recommendations somewhere on these forums (I cannot but say the best C++ book for learning purposes is in my opinion Addison-Wesley's C++ Primer. Don't not confuse with C++ Primer Plus, which is a waste of your money). Ask anything and everything you don't understand (but also make an effort to understand before you ask ) and have fun.

EDIT: It took me 2 years to understand C++ to a usable level, which I personally define as being able to apply my knowledge to build somewhat complex applications confident on my skills. Much earlier than that you will be able to already build quite interesting tools. But never take those as personal projects. Rather as a means to an end, which is training your acquired knowledge.

However I am and will always be learning. For instance, I still struggle around C++ templates. Sure I use them. But not for what they are really worth for. I also am finally starting to understand some of the more interesting details of the STL that will hopefully allow me to really take advantage of this library.

Anyways, what I mean is that after two years of C++ learning I know nothing really of C++. I know how to assemble code together with my bare hands. That's how I call what I do. You have to be always understanding of your limitations and keep an open mind. You must always try to gain confidence but at the same time not fear looking at the whole picture and understand how small your knowledge will be for a long while. Takes time to really, really, learn C++.

Same for me but with C. I probably should wait until after the HSC to learn C, but too late now... I tried attempting the Factorial contest, then I felt like I was learning too much, that stuff is extremely scary (Don't lookup Fast Fourier Transform)so in short fail. Learning the Win32 api was a sort of goal (not dream) of mine and I did it so that payed of and so did learning the numerous languages I know now. I would like some free time though, I have heard others have it and I want it.

I think maybe the best thing for me to do now is actually finish a book on c++. Steve Heller has a great online book which has done me good so far. It's about a thousand pages I'm about half way through, I hope to finish it by the end of the summer.

Stonehambey

I'm reading that book too! Right now I'm on chapter 3. The stuff on ASM, binary, and how the computer works is really getting me interested in learning a bit more about it from other resources.
BTW, the book is called "C++: A Dialog"

Until you can build a working general purpose reprogrammable computer out of basic components from radio shack, you are not fit to call yourself a programmer in my presence. This is cwhizard, signing off.