Advice for beginner programmer

Hi all, I'm looking for some advice as a beginner programmer. I'm learning with several books, mainly Jumping Into C++ by Alex Allain. I don't know a lot yet, but I'm finding that when attempting to practice the things I learn, I run into all sorts of problems. For example, I feel like a simple text adventure would be a great way to practice what I've already learned, but without a word wrap function, it makes everything a complete and utter mess. I found a word wrap function and got some very nice and helpful people to explain its use, but it seems like every time I try to implement it in a new way, it breaks, and I have to come begging for help again which makes me feel bad, like I'm bothering people asking newb questions.

I'm starting to get the feeling that learning to code is extremely hard without a teacher or a skilled friend to help. I know lots of people self-taught themselves, so I was hoping someone might have some advice for the best way to go about that. Should I stick with the books? I find they progress too fast, jumping into new convoluted concepts without giving sufficient time to practice what came before. And again, trying to practice the things I know is a mess without certain functions to format things properly.

Any advice would be appreciated, I know it's kind of a weird question... just looking for some inspiration to get me out of this dejected slump. Thanks!
The best way of learning is by doing. Sounds obvious, and it kinda is.
I've never read a book on C++, nor have I had any sort of formal education. Everything I know was taught to me by the internet, and reinforced by my desire to make a bunch of projects.

So, that's my advice. Start a bunch of projects, even if you're never going to finish them. You'll find that maybe your overall direction changes in the long run, which helps you find a niche, or you might experiment with different stylistic choices. These projects, however, need to interest you somehow, of course. All that's required is for you to dig a little deeper, and figure out what you're really interested in.

For example, when I was starting out, I had no clue what I was interested in. I thought I wanted to work on games, so I started researching that. I became interested in Artificial intelligence, so I went down that road. Later on, I knew that I was interested in smart, randomly procedural content creation, so I started with OpenGL and shaders to see what kind of neat visuals I could create. However, I learned that I was more interested in Audio and Sound design, and how procedural content creation carries over into synthesis, which is what I'm doing now-a-days.

Also, ask questions! Don't feel like a burden. It doesn't matter if you think your questions are "noobish", because they might be of help to someone else. Besides, regardless of whether or not people think you're "noobish", nobody is forcing them to answer your questions.
I bought Alex Allain's book and stopped reading it before chapter 3. You blow the money to get it and then have the crappy realization that his book is nothing more than all the tutorials from his site that you can read for free with a chapter or two that isn't part of his site. For example, the short chapter on binary trees is really nothing more than a more elaborate (ie better charts/pictures) of his unfinished binary trees tutorial on his site.

I always recommend getting the books at the bottom of this page (3. Learn More): https://isocpp.org/get-started

They are all updated books with C++11 coverage in it, which I'm not even sure if Alex's book is up to date with C++11 or the previous standard.

Outside of that issue, I'd say program as that is the best way to learn. Read something in the book, then decide a project around it or around several things you just read about to help solidify them in you mind. Build from there. Never stop asking questions and never stop programming. Above all else, always experiment with ideas. Experimenting is where the great ideas and programs come from because you will be doing one thing and it will spark an idea for another project.
Starting out with C++ is what I started with and its a great book.
closed account (EwCjE3v7)
Go with C++ Primer 5th Edition. Its a great book, rewritten for C++11. Teaches you basic and libraries and is great. Sometimes it may give you an exercise that you have no clue about but the reason behind that is that they want you to research and see.
closed account (z0My6Up4)
Mary Magdelene wrote:
I'm starting to get the feeling that learning to code is extremely hard without a teacher or a skilled friend to help. I know lots of people self-taught themselves, so I was hoping someone might have some advice for the best way to go about that. Should I stick with the books?


The truth is that so long as you have an internet connection you have lots of options for getting help with C++. I use Usenet. There are some excellent newsgroups out there dedicated to C++ and filled with experts who are always willing to help. Try looking at comp.lang.c++ and comp.lang.c++.moderated and you will see immediately why usenet is such a great resource when it comes to learning C++

By the way, if you don't know what I am talking about, you need a newsreader, which is a special program to access usenet. I just use mozilla thunderbird and set it up to use my ISPs newsserver. If your ISP does not have a newsserver, there are free ones out there eg http://www.newsgroupreviews.com/eternal-september.html


EDIT
You can also access these newsgroups easily through google groups (but it does not have the same 'feel' as when using a newsreader!)
Last edited on
It depends on if Mary Magdelene is a complete beginner in programming (ie never touched a language) or an experienced programmer looking to learn C++ for the first time.

During a discussion I had with Bjarne, I was seeking his advice on what books were good for a complete beginner. I'm tutoring the son of one of my wife's cousins and wanted to make sure he didn't face any of the pitfalls I did.
Bjarne Stroustrup wrote:
I don't think that the Primer teaches programming; rather it teaches C++ for people who are already programmers. That may be the problem.

Good design - such as using appropriate functions and classes - comes with experience. IMO people primarily learn that from seeing examples, rather then from applying principles.


He then went on to recommend his new Programming Priciples and Practices Using C++ edition that you can pre-order now and covers C++11 and C++14 and aimed at completely new programmers. I intend to get it so I have it if I ever agree to tutor locally again.

@flint
Unfortunately, most ISPs don't offer newsservers anymore. I know my ISP did away with them a year or two ago. From what I've found a lot of the free ones have stopped running too so, while I agree with you, I don't know of any to recommend for her off hand.
closed account (z0My6Up4)
@BHX Specter what you say about Bjarne Stroustrup's view is very interesting - in fact from my experience with C++ Primer I think it is completely accurate. I have been reading this book for a few months now and it is strong meat. What I mean is that it is not at all easy for a novice like me to understand and some parts are just plain puzzling. Even so, i'm finding parts are sinking in and so I am pressing on with it.

I've added the book Programming Principles and Practice Using C++ to my Amazon wishlist though. When it is released I might buy it.
closed account (EwCjE3v7)
During a discussion I had with Bjarne


WAIT WHAT!!! How did you get in contact with him?


EDIT: I`m finding Primer hard to. It`s a little to complicated. There are pitfalls. I will see if I can get it.

And isn`t it out yet? I believe it is: http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726
Last edited on
closed account (z0My6Up4)
Xp3rtHamm0r wrote:

During a discussion I had with Bjarne


WAIT WHAT!!! How did you get in contact with him?



Actually Mr Stroustrup (and other authors - including those who wrote C++ Primer) have previously got involved in discussions on the Usenet newsgroups ( I have mentioned) in the past. Another reason you should check out newsgroups on perhaps google groups if your ISP does not offer newsgroup access.

The new book is not out on the UK website - but seems to be available on the Amazon US website.
Last edited on
closed account (z05DSL3A)
WAIT WHAT!!! How did you get in contact with him?
go to his web site, his email address is there, it 'aint rocket surgery.
closed account (z0My6Up4)
@Canis lupus - hehe I never even thought of that! With these famous figures it is easy to think that they are rock stars and inaccessible when all you need to do is email them like us ordinary folk!!
I always address him as Mr., but technically it is Dr. Stroustrup.

@Xp3rtHamm0r
That link is to his first edition as the second edition says it covers C++11 and C++14. Bjarne even said it won't be out until next month, but Amazon is now saying it will be in stock on May 25th (originally was saying June 2nd).

http://www.amazon.com/Programming-Principles-Practice-Using-Edition/dp/0321992784

Though, I do get a kick out of people's shock when I admit I talk to him. He is just a normal person and the time I've talked to him has always been polite in his replies.
Last edited on
Topic archived. No new replies allowed.