Brain Bleeding. Need Advice re: C++ / Windows Programming

Started by
9 comments, last by daviangel 17 years, 2 months ago
Oh my head. It hurts. It hurts so much. Online tutorials for learning C++ are either out of date, buggy, or inexplicable. Online tutorials for Windows programming are worse. I have yet to find a code example that actually works with MS Visual C++ 2005 Express. BLARGH! I am STILL (after more than a year) working my way through Stpehen Prata's "C++ Primer Plus" but I only "get" about a quarter of it so far. And of course the book is all console apps, no Windows. How do I make the jump? (Am I trying to make the jump too early?) Are the people who claim to have learned C++ and Windows programming in mere months full of **** or am I just not as smart as I thought I was? On the positive side, I found a perfect book for learning Direct X (but I'm not ready to learn Direct X, I still don't understand Windows programming... and Windows programming seems to be constantly changing... GAARGH!) Help? Do I need to adjust my approach? Can anyone give me any suggestions that might make this process faster/easier/less painful? Should I just give up and die?
Advertisement
Quote:Original post by Theodore Fuhringer
Are the people who claim to have learned C++ and Windows programming in mere months full of **** or am I just not as smart as I thought I was?


They alredy knew C++ or another programming language and picked up C++/Windows programming in a couple months. If you are just learning C++ you should stick to just C++ and forget windows programming until you understand the language.

-me
Quote:Do I need to adjust my approach? Can anyone give me any suggestions that might make this process faster/easier/less painful?


Use .NET. [smile] For the Window's GUI stuff, at least.

If you have specific problems with any of the code examples and stuff, you can ask us here and we will try to help.
Quote:Original post by Theodore Fuhringer
And of course the book is all console apps, no Windows. How do I make the jump? (Am I trying to make the jump too early?)

Yes. There's nothing magical about Windows apps. They just require you to call a bunch of functions defined in the Win32 API. Do that when you understand C++ programming, no sooner.
You need to learn *programming* before you even look at Windows "programming".
Practice makes perfect, is the only advice I can give. Read your book, do the exercises, try making little apps on your own.
And read your book again, and complement it with other sources, and keep doing that until things start to click for you.
Quote:Original post by Spoonbender
You need to learn *programming* before you even look at Windows "programming". Practice makes perfect, is the only advice I can give. Read your book, do the exercises, try making little apps on your own.
This is good advice!

There's a reason people spend months learning their first programming language, but only take days or weeks to learn new ones afterwards. The hardest part of becoming a programmer isn't learning the language, it's learning to think like a programmer. When you've reached the point where the language is a tool of expression instead of a stumbling block, you're ready to move forward.

The best way to reach that point is to actually use the language to build things of your own conception, instead of following a tutorial or exercise. Think of games or apps you can build using only the console, and try to use what you've learned to do it.
Going along with that, you can find "practice programs" on Computer Science department websites. Tutorials typically give you enough code to understand the syntax of your chosen language, but trying a complete program using what you know is the *best* way to practice your skills and get your mind thinking like a programmer.
Thansk for the good advice! And I really appreciate that you all tried to answer my real question. I posted this question on another forum and was told, "learn C# instead", "learn java instead", "don't try to program for windows, just use SDL" etc.

I'll just keep plugging away at it. I think I'll assign myself some exercises of my own; small programs that integrate what I'm learing and that actually make sense to me.

And as for smitty's suggestion of using .net: Well that sounds cool, but I have no idea how to actually do that from within MS Visual C++ Express. I wouldn't even know where to begin. I know what the .NET framework is but I have no idea how to use it.
Quote:Original post by Theodore Fuhringer
And as for smitty's suggestion of using .net: Well that sounds cool, but I have no idea how to actually do that from within MS Visual C++ Express. I wouldn't even know where to begin. I know what the .NET framework is but I have no idea how to use it.


You would need to use C++/CLI which is pretty much a whole different language. I'd stick with standard C++ for now.

My personal opinion would also be that, if you're going to go with .NET, you're as well learning C# (which seems to be Microsoft's flagship .NET language - it's the main one used in a number of their demos, SDKs and tutorials).

Don't worry about it taking a while in the beginning - it's like that for everyone, to similar extents. No programmer worth their salt learnt their first programming language in weeks - it was at least months until they got the fundamentals down. As has often been said, and was mentioned above - you need to learn programming, alongside the syntax of the language.

Once you've got the former down, and a bit of experience, you can see how stuff translates between (most) languages. I don't know Java, but I can certainly port stuff to C# (which is a similar language, admittedly, but I could port it to any number). Sure, there are a few languages which require sufficiently different paradigms (ways of programming) that it's difficult to manage, but you get the hang of them eventually.
[TheUnbeliever]
Just take your sweet little time and learn C++. When the book asks ya to do something. Try to do it. If you don't understand it then read that chapter again. Just keep on going over and over it and then after a little while things will start to click. What I do if I am not sure how to program something I tackle what I want to do as if it is a word problem in math class. I solve those one step at a time, and I do that to a programming problem.

I wish you the best of luck in programming! Learning your first language is one of the most HARDEST parts in programming.

Also, if you want someone to ask questions to that will answer them, then you can just E-mail me (found in profile) or just IM me on AIM (also in profile). I wouldn't mind at all to help you if you have some little questions.

Later!


Chad

Thanks again to everyone for the encouragement.

A friend on another forum suggested this site, http://www.functionx.com/ and it looks like there's some pretty good tutorials and such there.

I'll just keep swimming. :)

This topic is closed to new replies.

Advertisement