Overcoming Roadblocks

So its been close to a month since my last post and I’ve been doing quite well. I now understand OOP and how to implement it which was pretty much unfeasible at the time of my last posting. I have learned however that I am no where near the finish line…

Once again I’ve run into a wall. I find myself knowing the majority of the ‘syntax’ of C++ (at least what a beginner would need) but am at a loss for how to implement it. The majority of my code is hacked together and unruly – I guess that’s sort of to be expected for a beginner, but it just doesn’t feel correct. This becomes ever more frustrating when you watch a video time-lapse of someone coding and it appears as though they make an astounding amount of progress very quickly, and I spend two hours working out the Fibonacci sequence in prompt.

I’ve come to the realization that I must work on my logical skill. I have to learn to slow way down and not expect results immediately. Essentially, the hard part has just begun.

Posted in Dev Journal | Tagged , | Leave a comment

Being a C++ Beginner

In this post I’ll move through why I wanted to learn C++ and what I’ve learned along the way.

On Language

I’ve put a lot and time and consideration into choosing the right programming language.. well, not really. I remember it going something a little like this:

I really want to make a game. How do you make a game? Hmm.. according to Google I can either use this program called Game Maker and have a working game in one day, or I can spend a year learning a complex programming language called C++ and then make my game.

Well that was a no-brainer. Here I am a year later with the basics of C++ down and no game. I have no experience with Object Oriented Programming, and though its an understandable concept it still bewilders me. My lack of OOP knowledge greatly slows the development process since I find myself spending most of my development time thinking about the mystical wonders of OOP and how horrible I am for not getting it.

On Books

I’ve come to learn that every programming textbooks plain sucks. Sure, people will recommend many over-priced books and tell you that it’s worked for them, but I guess everyone learns differently. Obviously there is no set standard for text books which is both great and horrible. I’ve found that most books for beginners are bogged down with intricate information that a beginner does not need. Why explain what a short int is?.. we can learn that when writing applications large enough to need to utilize it. I never understood why books stress code optimization and speed when we’re just writing simple console applications, and I get the idea of teaching good practice but whats the point if I never learn the language properly.  I’ve also found that a lot of books talk in-depth about the simple concepts and gloss over the difficult ones, as you can imagine this becomes quite frustrating.

I would tell most beginners to skip buying tons of books and instead learn using online resources and choose a good C++ primer book to use as a solid reference. Also, avoid any ‘C++ for Dummies/C++ in 24 hours’ books like their the plague.

On Example Code

Examples almost always suck. I’ve yet to find an example that both thoroughly explains the topic at hand and is useful. I guess the idea is to learn in baby steps. The only problem with learning in baby steps is learning to take everything you’ve learned and put it together. I’ve found it best to ignore most example problems and instead create small challenges. For example, instead of staring at example problems for loops try to make a text based vending machine. Learning by trial and error seems to be the best way to go.

On Theory

So whats the problem, I know the language, right? Well as I expected knowing the language is only part of the solution; the hardest part of programming is mastering the theory behind the language. As with all things in life there are hundreds of ways to program a program and make it work, but the biggest challenge for most beginning programmers and I is finding the most effective solution. Right about now your probably thinking that learning is making mistakes and learning from those mistakes; you’re right, but it’s very discouraging.

Posted in Dev Journal | Tagged , , | Leave a comment

First Post

So this is the first post. The only reason I’m writing it is because the sites already been indexed by Google and the site’s description is weird since there are no posts.

I’ll be using this blog to document my progression through programming and design. The whole idea is to become less lazy by posting my work; I’ll be more accountable and get a certain amount of things done weekly. I’ll try to at least post once a week.. we’ll see how that goes… And yes I’ll be using the default WordPress theme, at least until I can make something a little more interesting.

Posted in Misc | Tagged , | Leave a comment