Best forum for C++ beginner?

Morlock

Limp Gawd
Joined
Jun 8, 2012
Messages
508
I'm a total programming noob and I'm working through C++ Primer 5th ed. What's a good place to go if I'm having trouble with the text? I'm leaning toward CodeProject over Stack Overflow at the moment because the latter seems kind of strict and rules-bound, but I'm open to other suggestions.
 
Stack Overflow is wrought with know-it-all people that scoff at anything that isn't perfectly worded, or hasn't been asked before. It's not newb friendly, at all.

You could try some of the sub-reddits that pertain to programming such as, /r/LearnProgramming, /r/cpp, and /r/cplusplus.
 
As long as you search for your problem first and post what you've tried to do, stackoverflow is a great resource. If you post duplicates or "I need code that does ___" questions, they will probably get closed.
 
As long as you search for your problem first and post what you've tried to do, stackoverflow is a great resource. If you post duplicates or "I need code that does ___" questions, they will probably get closed.

Right. Ask well formed questions that aren't duplicates and nobody will have to kick you in the shins.
 
Stack Overflow is wrought with know-it-all people that scoff at anything that isn't perfectly worded, or hasn't been asked before. It's not newb friendly, at all.

You could try some of the sub-reddits that pertain to programming such as, /r/LearnProgramming, /r/cpp, and /r/cplusplus.

I still get like 95% of my code answers from SO lol. Valuable resource for sure.
 
Stack Overflow is wrought with know-it-all people that scoff at anything that isn't perfectly worded, or hasn't been asked before. It's not newb friendly, at all.

You could try some of the sub-reddits that pertain to programming such as, /r/LearnProgramming, /r/cpp, and /r/cplusplus.

People who ask poor quality questions, get poor quality responses. If you make an effort to write a detailed question that shows some basic research, you'll usually get a great response. If not then it is usually a duplicate or it is unanswerable for a variety of reasons.
 
Long post ahead. I don't know your reasons for learning development, but I'm going to go on this tangent anyway. Cliff's notes: teach a man to fish; don't prioritize C++; get thyself paid

I'd suggest going to IRC. I don't know where you'd want to go for C++ specifically, but the channels I've been on for various other languages and technologies have been helpful.

But really, unless you're completely stumped, the best solution is to figure it out on your own. Anything you'll be trying to do for quite some time has been done, and well-documented, many times before. A huge part of being an effective developer is learning how to research a problem effectively, which will typically include a few go-to resources for tutorials and documentation. Stack Overflow is very helpful if you can tell the community what you've tried to do on your own to figure out your issue and are still stuck.

Having gone through the same book as you a while back, I still firmly believe that for actually learning development, a book isn't nearly as effective as an outcome-driven approach. Yes, you need the fundamentals, but having a realistic goal in mind will force you to learn things in a way that you'll internalize more effectively. I say find some tutorials that you like to get the fundamentals down (I can't speak for their C++ tutorials, but their C# tutorials got me rolling- https://www.thenewboston.com/videos.php?cat=16 ), keep the book handy for when you need to take a deep dive into theory, and build what you've set out to build with your own research.

Also, why C++? It's really not a particularly beginner-friendly language. It's notoriously tricky for beginners, in fact. You'd get a great grasp of theory, but it's a steep learning curve to be able to do anything useful. In terms of career applicability, we live in an age of abundant computing power, and the stuff that's performance-critical enough to need something like C++ is fairly niche- high-performance computing, high frequency trading, and certain areas of game development.

The developer job market is on fire in most specialties, but there are some clear trends- web and mobile technologies are dominating, and will continue to do so. The role of C++ is limited here- there are very limited applications for C++ in common server-side frameworks, and very limited applications in mobile development.

I'll give you a bit of color on the market. I'm a finance guy, and worked at major asset managers and investment banks in NY from the time I was 19 until I was 25, doing risk and strategy stuff. A company I founded years earlier and sold out of hired me at 25 to go run an algorithmic hedge fund based on some theoretical work I had done. My development experience wasn't vast at that point, but I knew I could figure it out (with the help of my team, of course). I did- I built my trading models and backtests in C#, did some of the performance-critical pieces in C++, and did some reporting and front end stuff in AngularJS. We were doing ok, but the backers pulled out after a year because the overhead of running the shop was quite pricey.

That was a year ago, and I've been running a health tech startup ever since then. I have a team of 3 people working with me, including 2 doctors, and I'm the only technical co-founder. I built some kick-ass software with an AngularJS frontend, ASP.NET/C# backend, and packaged it into hybrid web apps that our clients really like. Getting funding has been a grind, so I'm looking to do some consulting dev work to keep the lights on, despite that not being my career plan.

Wednesday, I spent like 20 minutes on Indeed looking for jobs. I sent out 5 resumes. I got 3 calls back immediately. Had 2 rounds of interviews for 2 jobs already, have the final round next week with both, and have a few other interviews for other positions pending.

I am calling a top on this economy- the money on the table to be a contract full stack AngularJS/C# developer is more than I ever made as a fucking hedge fund manager or banker. Almost enough to make me, like, want to do this.

As of right now, Indeed shows 898 C# jobs paying >$120k (which is very comfortable despite NY's high cost of living) in the NYC area- http://www.indeed.com/jobs?q=c#+$120,000&l=New+York,+NY

A solid C++ developer at a hedge fund will make multiples of that, but typically requires a lot of experience and an advanced degree from a top school (that's for the real quant stuff- http://wilmott.com/ has an awesome forum on quant software development). These jobs do exist, but I have friends with doctorates from top schools that can't get them. They're crazy competitive.

Python (especially Django) is very hot right now as well. Front end development everywhere seems to be gradually adopting web standards- JavaScript is a sucky language for a lot of reasons, but is used in everything from modern Windows app UIs to the web to various mobile app platforms (Cordova, Ionic, etc.).

The coding boot camps tend to push tech stacks that are more widely used among startups than among big companies. A lot of them focus on Ruby, but the job market doesn't look great there from what I've seen. I saw a presentation from a company that was working to launch a different sort of boot camp recently that had a slide contrasting the technologies taught in boot camps vs. number of job postings. Most of the jobs (thanks to large corporates) were in C# and Java, but those are very rarely what people learn in boot camps.

Full-stack devs are in huge demand. I maintain that JavaScript, for better or worse, is inescapable. Good luck.
 

This is a really excellent post.

Your 100% correct about being able research skills being a big factor in being an effective developer. Knowing how to find and read user guides, specifications, APIs, bug reports, etc is just part of the job.
 
As long as you search for your problem first and post what you've tried to do, stackoverflow is a great resource.
Completely agree. There's no reason to be a forum n00b even if you're a c++ n00b.

Anyways, chances are the same question has already been asked and answered hundreds of times online. For a more in depth overview, instead of asking questions constantly you may want a reference like Bjarne Stroustrup's books ("The C++ Programming Language").

And assuming you want to do something with c++, there are a number of software engineering and secure coding books to help avoid making an insecure, buggy mess of your code. Some free ones are here: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c-1
 
You need a project and a purpose. Start with modifying code projects already built and tweak them just to see how things work or simply study them to see how they were coded. Granted, a lot of it is going to be very confusing without a decent understanding of C++ basics. I'd recommend a college level course in C++. Comp SCI 101 - Intro to programming or the like will get you started a lot quicker than trying to muck through the book yourself. Check iTunes U. There are some beginner programming courses and full 16 week lecture series with code examples you can download and follow along with from top schools like Berkeley, MIT, etc.
 
totally agree, have a project in mind, something you're working on. Maybe a clone of a simple game, or a tool you want to use for something say a torrent scraper? or a filesystem browser? because if you're like me I have problems dealing with the abstract and things don't fully click until I get an applicable example and what better example than something you're working with.

That being said, learning C++ will give you a solid understanding of the fundamentals as well as help you appreciate the power of being that close to the metal and also the fun that the more abstract interpretive languages like python and the like offer.
 
Back
Top