Reddit Reddit reviews Accelerated C++: Practical Programming by Example

We found 63 Reddit comments about Accelerated C++: Practical Programming by Example. Here are the top ones, ranked by their Reddit score.

Microsoft C & C++ Windows Programming
Microsoft Programming
Computer Programming
Computers & Technology
Books
Accelerated C++: Practical Programming by Example
Addison-Wesley Professional
Check price on Amazon

63 Reddit comments about Accelerated C++: Practical Programming by Example:

u/Mydrax · 118 pointsr/learnprogramming

Well, this is usually because C++ is not really a beginner friendly language. You need to understand the architecture/fundamentals of a computer system at times to understand certain concepts and are often difficult to understand ex: pointers, dynamic memory allocation etc. and with C++ you never finish learning!

Yes, you are very correct about understanding basics before doing actual game-based programming, C++ Primer is pretty old but it's definitely a golden book alongside it though for someone like you I will suggest some of the books I read a couple years back and some that I believe are better for beginners:

Accelerated C++: Practical Programming by Example

Programming: Principles and Practice Using C++

The C++ Programming Language, 4th Edition- Very big book, read this after you've read the rest.

And a book that I've heard is pretty good for game development with c++: https://www.amazon.com/Mastering-Game-Development-professional-realistic/dp/1788629221

u/tragomaskhalos · 40 pointsr/programming

I think the problem is that there are two mutually incompatible teaching requirements here:

1/ Teach nix and C, including fork() and pals

2/ Teach C++ = modern, idiomatic C++ with STL
from the outset*, as is generally considered to be the best way.

These are almost entirely separate areas and should be taught separately.

u/cosmicr · 26 pointsr/Python

I'm amazed that no-one has mentioned this.

The absolute best book for you is Accelerated C++ by Andrew Koenig and Barbara E. Moo.

It is targeted at people who already know another language, especially Java or Python.

u/chekt · 21 pointsr/learnprogramming

As a beginner, the resources you use to learn are much more important than the programming language you end up learning with them. C++ may be more complex than C#, but they're both incredibly complex for a beginner, and so your effectiveness starting out relies an incredible amount on which books you choose to go through. When I was learning C++, I really enjoyed the book Accelerated C++ by Koeing and Moo. It eschews the "learn c, then c++" attitude some other books have, and believes that C++ is significantly different enough from C to warrant a different approach. And you learn C++ one piece at a time, so it's never overwhelming. I heartily recommend it if you decide to learn C++.

I don't own any C# books for beginners, so you'll have to ask someone else for a recommendation :P.

Just a quick note: programming is incredibly difficult when you're just starting out, but it's 10x as rewarding, and is one of the most fun skills you can pick up. Good luck on your journey!

u/zzyzzyxx · 19 pointsr/learnprogramming

No. C++ is somewhat unique in that you really get what you pay for; I've not seen a single good online resource to learn it. Every tutorial I have ever looked at contains misinformation and bad practice.

The best way to learn C++, if you have done programming before, is with a book like Accelerated C++ or another from this list. If I am to consider you a complete novice, I would suggest you pick up Python or Ruby again before delving in to C++. There are good resources online for those and they are linked in the sidebar and FAQ.

u/yukw777 · 16 pointsr/funny
u/lasthope106 · 14 pointsr/learnprogramming

If you go with C++ read Accelerated C++.

u/scramjam · 10 pointsr/learnprogramming

Well it depends how much you want to learn, trying to learn all (or even a lot) of C++ or even just the topics covered in that book before your semester starts is insane. C++ is really complicated and takes many years to really get a grip on. If you're just trying to learn some of what's covered in an intro to C++ class this book will serve you well, and you definitely don't need to go through the whole thing to get an introduction to the language.

If you want a shorter/faster book there's Accelerated C++ which is also in the wiki. I recommended C++ Primer since you mentioned you only had minimal programming experience. Accelerated C++ is aimed at folks who are familiar with programming but not C++, so it's faster.

Edit: I missed your mention of moderate experience with Java, so Accelerated C++ would probably be a fine choice as well. Although it doesn't cover the new C++11 features.

u/EmergentBehavior · 9 pointsr/cpp

I picked up Accelerated C++ and it's, by far, one of the best books I've read. It's terse and provides an amazing amount of detail for its size.

Amazon

u/jeykottalam · 8 pointsr/compsci

Introduction to Algorithms by CLRS

TAOCP is a waste of time and money; it's more for adorning your bookshelf than for actually reading. Pretty much anyone who suggests TAOCP and is less than 55 years old is just parroting Standard Wisdom™.

Godel, Escher, Bach is a nice book, but it's not as intellectually deep in today's world as it was when first published; a lot of the memes in GEB have been thoroughly absorbed into nerd culture at this point and the book should be enjoyed more as a work of art than expecting it to be particularly informative (IMO).

If you're interested in compilers, I recommend Engineering a Compiler by Cooper & Torczon. Same thing as TAOCP applies to people who suggest the Dragon Book. The Dragon Book is still good, but it focuses too much on parser generators and doesn't really cover enough of the other modern good stuff. (Yes, even the new edition.)

As far as real programming goes, K&R's The C Programming Language is still unmatched for its quality of exposition and brevity, but these days I'd strongly suggest picking up some Python or something before diving into C. And as a practical matter, I'd suggest learning some C++ from Koenig & Moo's Accelerated C++ before learning straight C.

Sipser's Introduction to the Theory of Computation is a good theory book, but I'd really suggest getting CLRS before Sipser. CLRS is way more interesting IMHO.

u/exoticmatter · 8 pointsr/learnprogramming

Accelerated C++. Unfortunately, there isn't a C++11 update, but this really is the best way to get into C++ if you are already a programmer.

> Also, is there a cpp equivalent to lwjgl?

Dunno - what is "lwjgl"?

u/[deleted] · 7 pointsr/learnprogramming

> I'll need to be working with C/C++ code

Which is it? The two languages are quite different, and the way you write code in one is very different from the way you write it in the other.

Assuming you want to learn C++ quickly, and have some programming experience, Accelerated C++ probably remains the best and the quickest way. If you want to learn C, The C Programming Language is hard to beat.

u/tango_oscar · 6 pointsr/gamedev

Best book to learn C++ in my opinion is Accelerated C++: Practical Programming by Example (350 pages). Right from the start, it teaches people to use STL containers and other C++ constructs, instead of teaching "C with classes" like many other books (including Thinking in C++). Unfortunately, it is outdated so you will have to learn about new features of the language. You can use A Tour of C++ for that(180 pages).

If you have the time and will to learn moder C++ from the start, then I would recommend C++ Primer. Similar in approach to Accelerated C++ but longer(970 pages).

u/xd43 · 5 pointsr/learnprogramming

You can check out: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

It's going to be unlikely, you would have to plan the curriculum yourself and get quality books/resources to teach you the material.

Books like http://www.amazon.com/Accelerated-C-Practical-Programming-Example/dp/020170353X

Offer a well planned introduction course into C++

u/pattakosn · 5 pointsr/Cplusplus

I was also first a C programmer and only started learning cpp later. I have found this book to be excellent:

Accelerated Cpp book

it is intended to complete novices, which you are not. However I think it is still perfect for you because I think that it introduces Cpp the way it should be and not as a C extension. After you are comfortable with the std I would suggest you move to good practices books (effective c++ etc) and/or design patterns books

u/Eggbotnik · 4 pointsr/learnandroid

I think the first confusion here is that the language is a entity in the construction of a program. Does the type of a house that is built depend on what type of hammer the carpenter used to put up the walls? Or what kind of wrench a plumber used to put together the piping? Sure, the carpenter or plumber could've used a crowbar to do their job, but was it the right tool for the right job?

The right tool to build an Android app is Java. If you need better performance, and you don't need Google APIs, you can include C or C++ to further improve performance at the cost of added complexity.

There are a lot of different abstractions to add the ability to use other languages on the platform, but this comes at the cost of performance, and added potential points of failure (more abstractions = more potential bugs not caused by the coder.)

Heavy number crunching (especially on a RISC architecture) may push the device to its limits. Do yourself a favor and learn how to use the right tool for the right job. This book is both entertaining and informative, and this book will get you started in on C++ in a short amount of time.

C++ is the inspiration for Java, and the creation of Java is what caused C# into being. As such, the syntax for all of these languages are tightly woven between each other. I wouldn't doubt that within 15 minutes of light reading on Java you'll be up and running in its entirety.

C++, while being a slightly more complicated beast, isn't inherently an overly complicated one. The Object-Oriented concepts are all there to be leveraged.

While you say you're not a professional programmer; I think you'll find that broadening the languages you do learn will improve your ability to convey your thoughts and concisely implement them.

Best of luck!

u/QAOP_Space · 4 pointsr/learnprogramming

Accelerated C++ by Koenig & Moo is a very good book that'll get you up to speed in no time.

u/fromwithin · 3 pointsr/learnprogramming

This one is very good indeed.

u/yash3ahuja · 3 pointsr/learnprogramming

If you want to learn, then pick up a book and start studying. Don't just post about it on a forum. There are resources available that describe good books to pick up for C# or C++, but I'll save you the trouble and recommend you Accelerated C++.

u/TheFryeGuy · 3 pointsr/learnprogramming

I've been using Accelerated C++ (you can find pdfs of it pretty easily if you don't want to buy it). It seems to be serving me well so far.

u/soundslikeponies · 3 pointsr/unrealengine

C++ is a complicated, technical language. I'd recommend hitting the books for it. Learning C++ properly will teach you a lot about almost any language.

Accelerated C++ is the place to start if you don't know how any of the syntax works (pointers, const, templates, etc). Read a bit of it and write some C++.

When you've written some files and feel comfortable in C++'s syntax, read Effective C++. It will teach you good practice with many points from it transferring over to other languages.

u/Fabien4 · 3 pointsr/cpp

Grab a copy of Accelerated C++ and give it a few hours. You should know whether C++ is for you.

u/ewiethoff · 3 pointsr/learnprogramming

If you'd like to take another stab at C++, I recommend Accelerated C++.

u/elbeesee · 3 pointsr/learnprogramming

Accelerated C++ was made for that purpose. Most of the low reviews are beginners complaining that they couldn't follow, or complaining about the "paper quality" (mine is fine).

u/Endyd · 3 pointsr/cpp_questions

I just went through Accelerated C++ by Koenig and Moo. It helped me learn most of the basic ideas from strings and pointers to polymorphism and template classes. Very well written, though I did need to google a few things and ask people I knew sometimes. I haven't done any online courses. I think I will work on personal projects using C++ from now on to learn, and google things to fill in the gaps.

u/juggerthunk · 3 pointsr/learnprogramming

I got my start by taking AP CS in high school. However, I had already gone to college and that was a while ago, so I read some books on the commute to/from work.

Initially, I read Sams Teach Yourself PHP, Mysql and Apache all in one to learn PHP.

Immediately afterward, I read Murach's Java Se 6 and Beginning Java Objects to learn Java.

Most recently, I read a portion of C++ Primer Plus, but got very sick of it. I've read most of Accelerated C++

I have a few other books on C# to read when the time comes to actually write code.

By the time I had read all of the above, I felt pretty confident on how to structure a program, regardless of language. As such, I was able to pick up Python and JavaScript quite easily just by reading online documentation at Python.org and W3Schools. When I'm writing a web app, I'll rely pretty heavily on PHP's and MySQL's online documentation to help me with whatever syntax quibbles I may have.

I still want to read Game Coding Complete and I'll probably want to find a few resources on programming within XCode.

They all tend to follow the same programming paradigms, to be honest. Java did a good job in getting me into an OOP mindset and C/C++ did a good job at helping me think about how to program things without layer of abstraction. Once I learned these concepts, it was pretty easy to get started with a new language. Programming in PHP can be super sloppy, but taking what I learned from other languages, I'm usually able to write fairly clean code in PHP (especially when I learned how to use classes).

I wouldn't recommend all of the books above, to be honest. I didn't have much ability to do online training at the time and compiled lists of books weren't nearly as useful at the time, so I relied mostly on Amazon book reviews. I'm sure you can find a few choice books on each language you want to learn and go that way. If you were to read books, I think Accelerated C++ is a good book, but works best if you already have some experience programming. I remember like Beginning Java Objects more than Murach's, though both are great as references (which is why they're both still in my bookshelf). C++ Primer Plus spends too much time teaching C and not enough time teaching C++ (you spend pages upon pages learning about C-style strings, aka char arrays, rather than just using the String Class, but I digress).

Ultimately, I could read a bunch about a language, but I never truly learned the language until I started writing in it. I've written a handful of programs just as proofs of concepts and I recommend you do the same while learning any language.

u/kalven · 3 pointsr/programming

Pick up a copy of Accelerated C++. It starts at the very beginning and takes a more modern approach to teaching C++ than a lot of the other books on the market.

It's part of the "C++ in-depth series" that also has a bunch of other great titles like Sutter's Exceptional C++.

u/stardustnr4007 · 3 pointsr/learnprogramming
u/StackedCrooked · 3 pointsr/cpp

> Other resources that move a little faster?

I learned C++ from the book Accelerated C++ and I recommend it to everyone that wants to learn C++ seriously. The learning curve is a little steep, but with some dedication you can work yourself through it in a month or three.

u/shyspy · 3 pointsr/gatech

Accelerated C++

There ya go. Now you don't have to take an entire class to learn C++.

u/Pseudohead · 2 pointsr/learnprogramming

I'm currently making my way through Accelerated C++. It's a common answer to the question "I'm already a programmer, but now I want to learn C++ - what book should I buy?", and is perfect for me (a C# & SQL developer with 8 years or so of professional experience).

It does actually start with a Hello World, but only gives the most cursory of explanations for the concepts it introduces - enough to be complete, and enough not to waste an experienced programmer's time. If you're still a bit of a beginner you might find it a bit hard to follow on its own - google will be your friend in this case.

Hope you find what you're looking for :-)

u/stormblaast · 2 pointsr/programming

And that is exactly why I recommend reading these books to people. Information online can often be misleading, wrong, old, or all of the above, at least in a book which is praised by so many people, you know that the info which you are getting is top value. I know that learing C++ can be a bit difficult, but remember that you do not need to know all of it at once (heck - nobody knows all of C++, and even Template Metaprogramming was kind of discovered by accident ). I hear that Accelerated C++ is a good book to start from if you already know some programming in another language. C++ Primer Plus is huge, but also good.

u/valbaca · 2 pointsr/cscareerquestions

These are books I actually own and would recommend. Of course there are other great/better books out there, but I'm going to stick with what I've actually bought and read or "read".

I say "read" because several books are NOT meant to be read cover-to-cover. These typically have about 1/3 that you should read like normal, and then skim the rest and know what's in the rest so that you can quickly reference it. These books are no less important, and often even more important. I've marked these kind of books as #ref for "read for reference". Normal books that should be read cover-to-cover are marked #read


For learning your first language: This is really the hardest part and unfortunately I don't have any books here I can vouch for. I started with "C++ for Dummies" and am not including a link because it's bad. Your best bet is probably "Learning <language>" by Oreily. I also love the Oreily pocket books because you can carry them and skim while on the bus or the john, but you can just do the same with your smartphone. Pocket Python, Pocket Java, Pocket C++

Top Recommendations:

Accelerated C++ #read Made for people who already know another language and want to pickup C++. Also great for people who need a refresher on C++. I really like how it doesn't start with OOP but gets you familiar with the imperative parts of C++ before diving into OOP.

The Algorithm Design Manual #ref This is my new favorite book and the first I would send back in time to myself if I could. Each algorithm & data structure is given a mathematical breakdown, pseudocode, implementation in very readable C, a picture (very helpful), and an interesting war story of how it Saved The Day.


Cracking the Coding Interview #read I originally avoided this book like the plague because it represented everything I hate about coding interviews, but many interviewers pull questions straight from this book so this book can equal getting a job. Put that way, it's ROI is insane.

The Pragmatic Programmer #read Must-have for any profressional software engineer that covers best-practices for code and your growth. You can also find the raw tips list here

Head First Design Patterns #read Many prefer the "GoF/Gang of Four" Design Patterns which is more iconic, but Head First is a modern-version using Java to cover actual design patterns used day-to-day by programmers.

For Intermediates:

Effective Java or Effective C++ and Effective Modern C++ #read When you're ready to go deep into one language, these books will give you a huge boost to writing good Java and C++.

Design Patterns #ref You'll want to get this at some point, but early on it's too much for a beginner and many of the patterns are obsolete.

The Art of Computer Programming #ref The programming "bible" but like Design Patterns you should hold off on this iconic book until you've got your basics covered. It would make for a great purchase with your first paycheck or first promotion :)

u/Octa581 · 2 pointsr/learnprogramming

>After reading all the comments, I ve decided to pick up C# and learn it this summer. If and hopefully I will manage to do it by then, I ll start working in unity and focus on it for half a year or so. Then I ll study C++ and switch to Unrea(as both are more advanced as far as I ve understood)!
>
>Here are the following books I ll use to learn C#: "Yellow Book" by Rob Miles along with "Begin to code wtih C# " and also try The C# "Player's Guide"
>
>For Unity: their website, a lot of youtube tutorials
>
>And for C++: "Accelerated C++: Practical Programming by Example"
>
>
>
>If you guys have better suggestions I`m all ears.Thank you all for the help, really means a lot to me!

u/eco_was_taken · 2 pointsr/SaltLakeCity

Umm, I think Python is a good language to start with. It's forgiving and low on boilerplate code. I haven't read it but Learn Python the Hard Way by Zed Shaw is supposed to be decent (and it's free online). I didn't like Learning Python published by O'Reilly. I'd just read reviews on Amazon if Learn Python the Hard Way isn't working for you. Whichever you end up with, I recommend typing all examples from the book into the computer by hand. Something about doing this really helps make things stick in your head. You'll also make the occasional typo and have to debug your program which is something we programmers spend more time doing than any of us care to admit.

I think it is important to try to think of something you want to make and have it in mind while you are learning the language. It can be any software but I recommend a video game. They are really good for this because you can just think up a simple concept or implement your own version of an existing game. Having a goal makes it so you are constantly solving the problems you will encounter while trying to reach that goal which is the most important part of programming (more so than learning the syntax of the language). This is actually the highest rated Python book on Amazon and is all about gamedev with Python.

After you've learned Python to the point where you are comfortable (no need to master it), learn other languages to grow as a programmer. Once you've gotten a couple languages under your belt it's actually really easy to learn even more languages (unless it's a very odd language like Haskell, Lisp, or Brainfuck). The problem solving skills you've acquired often work in any language and you learn some new techniques as you learn new languages.

u/ProfOak_ · 2 pointsr/learnprogramming

I would advise you to get really comfortable with C++. There are many reasons for this, and game development is one of them. Go to your local library, a book store, or a website that sells books and just check for books about C++. There's many parts to game development, aside from programming. There's probably a bunch of books that focus on game development in it's entirety. Some game libraries for C++ include APIs like DirectX and OpenGL (windows-only, cross platform respectively).

I always see this book recommended: Accelerated C++ What I'm saying should be taken with a grain of salt, as it's just one person's opinion and I am no expert.

u/xenvy04 · 2 pointsr/chemistry

I like this book for C++ if you want to learn C++. Python is easier though and most people start with Python. I like the book Learn Python the Hard Way (it's actually a pretty easy book lol) but there are quite a lot of books that are good for Python. (and I'm like 99% certain there are free versions of these books available on the web)

That's probably a good way to see if you like coding. Personally I love it 'cause it's a lot of problem solving, and then forcing a computer to do your evil bidding work.

Then for the chemistry part. I think everybody on the planet and their brother loves this book (it's also free on google). That will help you learn about the theory behind the software.

I also think you should talk to a professor who does computational work to let you toy around with it. I've had two advisors now in comp chem, and I get the feeling if a student came to either of them and said they wanted to play around with the software and see what comp chem is like, both of those professors would probably have been happy to set them up with an account to a supercomputer and show them a few tricks to setting up jobs, running simulations/calculations, viewing data, etc.

u/prince_nerd · 2 pointsr/AskReddit

I love this book. It's the perfect starter book.

u/wbeyda · 2 pointsr/programming

I recommend this book for python (It's big and fat and drills it all into your brain through repetition)

The Django and python websites have great documentation as well

this for Javascript (it's a classic)

www.jquery.com has great documentation as well

this for PHP (Rasmus is great)

this for C++ (they say it's outdated but the concepts still apply)

u/mdinger_ · 1 pointr/rust

Rust is currently premature but that is only temporary. You don't have to restrict yourself to only a single language. Try it and see how it goes. Rustbyexample and the guide set the barrier pretty low as far as trying things out (although, windows support may currently only be mediocre). Rustbyexample in particular because everything can be run in place (without downloading anything). Concepts in one language extend to others so learning one helps with others.

---
Some of the following comments about Rust may also extend to other language like python. For example, python has a well organized and seemingly comprehensive documentation set on their main site which is a huge help. Other (newer) languages may also.

If you intend to learn it using the internet only (without printed books) then C++ may not be a good choice (in my experience). This C++ tutorial is pretty good but it is extremely brief compared to a book like Accelerated C++ which is compact, detailed, and covers much more material than the tutorial will (it may be difficult for a beginner though).

Rust doesn't currently have the luxury of referring to good books for instruction. So best practices and coding conventions are being baked directly into the compiler/guidelines pages (currently WIP)/the guide. This is really convenient compared to C++ where resources are much more scattered (aside from books).

Inevitably, if you try writing something though in either language, you will get confused/perplexed by something regardless of the quality of documentation. In those cases, having IRC for help is incredibly helpful. They can save you hours upon hours of mystification. The Rust IRC is extremely extremely helpful in that regard.

Rust has cargo which makes testing new things incredibly easy. My experience with C++ is you find a new repository you want to test, you download it and spend the next 2 hours trying to get dependencies in order so you can compile it. With cargo, you often run this and you're done:

git clone site:repository
cargo build

The C++ compiler is notoriously unhelpful also which extremely confusing especially to a beginner. It is commonly the case that it finds some issue on line 12. When you eventually find the error, it's on line 20 (the compiler points you to the wrong location). What kind of issue could it be...maybe you forgot a semicolon. In general, the rust compiler is much more helpful with regard to error messages. If there is a confusing error message, the compiler team would like to make it better. If you're still confused, there is always IRC.

C++ has a lot of IDE support which is very helpful for advanced projects. Rust currently doesn't (Python doesn't seem to either). This will probably improve in the future. Also, IDE support often costs money depending on the language.

u/Ch3t · 1 pointr/pics
u/Yourdogsdead · 1 pointr/learnprogramming

If you want a good, well recommended book. I would try accelerated C++

u/ironmaiden947 · 1 pointr/learnprogramming

If you are familier with some programming concepts, you may take a look at Accelerated C.

u/Destroyah · 1 pointr/cpp

Accelerated C++ is an excellent recommendation. I would suggest quite the same thing, learn the basics before jumping into Boost. Accelerated C++ offers good, in-depth explanations of what's going on in the code, but not too mind numbingly deep that you get bored or can't understand it.

Boost::Asio is pretty good as far as a fairly mature socket and I/O library goes.

u/jse_79 · 1 pointr/learnprogramming

I can't speak highly enough of this book if you do decide to study C++.

Though you may want to ask around and find out if it may be worth waiting until there's some C++11 literature available as well.

I've also heard some C++ guru's (Meyers) say that the new implementation will be easier for people with Java and C# backgrounds to pick up on. What that implies I have no clue.

u/TurkishSquirrel · 1 pointr/gamedev

First thing I noticed upon looking into your code, and I do apologize if it sounds a bit harsh, please forgive me: It's very disorganized, you have non-constant globals (nasty), and very sparse comments (not useful when trying to figure out code, try to at least have simple descriptions of what a function does), your map is hard coded in game (not bad for simple example, but try reading it from a file later on). I'm also curious why you're doing

struct inputstate curstate = {false, false, false, false, false, false, false};

within main, calling

inputstate curstate = //blah

should be sufficient. Calling struct will create a new structure, although maybe in this case it's making an inputstate. Either way, it's an odd line. Putting struct before inputstate is unnecessary.

I strongly suggest you learn more about C++ and Object Oriented programming, as it will solve these issues with organization and global variables you're having, if you use the ideas correctly. Since it seems like you do know some programming, I would suggest Accelerated C++.

Now, on to your questions:

> Is there a problem with using an IDE?

No way, and don't let anyone tell you there is. Visual Studio is an insanely powerful IDE, and I use it myself and absolutely love it. If you're comfortable with VS there's no need to switch because people say it isn't 'proper'. However, learning to use a simple text editor, g++ on command line and makefiles will be valuable, even if only as a learning exercise. That is why you should try to learn it. I know both, but prefer working with VS, intellisense is too good to deny hahaha.

> Do people only use vim/text/command line

It's personal preference really

> How to generate make files

Cmake can do it, and you may be able to do with an extension from VS, but I'm not sure

> Quickstart tutorial for vim/make

Look up the g++ compiler for linux (on windows minGW) and get vim running. Although I prefer Sublime Text 2 for text editing.

> Advantages of VS

Tons, if you learn the IDE it is another very powerful tool. My personal favorite thing in VS is the fantastic code completion, I've not found anything on par with it from any other editor.

> Can I do int a = b

Yes. I'm a bit confused with your wording though, if you're implying that a would equal b at all times, that is false. a = b at the time the expression is evaluated. If you want a to reference b you need a to be a pointer to b's address like so

int a = &b

Then doing

a

Will return the value of b at the time you've called *a

> Where can I get more help?

See the recommended book above, when you feel you've learned the concepts in there well, move on to a more advanced book listed on SO's C++ book list

I hope this covers your questions

u/thepinkbunnyboy · 1 pointr/learnprogramming

This book is made for your use case, you can probably find it free somewhere


https://www.amazon.com/Accelerated-C-Practical-Programming-Example/dp/020170353X

u/phao · 1 pointr/learnprogramming

I can think of two books that surely can help you. They won't teach you C++ to its full capacity, of course, but I think they can get you up to speed.

  • Accelerated C++ - http://www.amazon.com/Accelerated-C-Practical-Programming-Example/dp/020170353X/
  • A Tour of C++ - http://www.amazon.com/Tour-In-Depth-Series-Bjarne-Stroustrup/dp/0321958314/

    They both teach significant aspects of the language while still being small, which are huge achievements for C++ books. Of course they miss a bunch of stuff. You can't become an expert on C++ on 8 months. But, I'm convinced that these books will teach you more C++ than what you'd learn in most (maybe all) college courses out there (considering of course the ones that teach C++).

    Accelerated C++ will go through key language concepts and facilities so you can start writing significant programs even though it won't teach you many language details. It as soon as possible introduces library facilities in C++ that allow you to write interesting programs instead of going through all the details about everything. It also is focus on teaching C++, and not C then C++ enhancements. In general the book makes a lot of effort to teach you useful C++ in 350 pages, so it focus on things that are generally useful, and it misses things that are also useful but less commonly so.

    Accelerated C++ is somewhat old (2000), which is why I think it'd be a good idea to read A Tour of C++ afterwards. This one is by the inventor of the language. He goes through C++'s features (it covers a lot of them... I'm not sure how much % though). Anyway, it impressively covers a lot of the language in 190 pages. The reason why I'm recommending this one is because it covers both C++98 and C++11, and it also goes into language features the first one doesn't.

    So 350 pages of Accelerated C++ with somewhat easy exercises (none that will require you hours of research as far as I remember) and 190 pages of Tour of C++. I think that can teach you a lot of C++ to code machine learning algorithms given you already know those, of curse =).

    Good luck.
u/zyax · 1 pointr/learnprogramming

I would recommend saving the money and learn from books. As said before most employers don't care about certifications and if they do, you probably don't want to work there.

The C++ Programming Language is written by the inventor of C++ Bjarne Stroustrup and arguably the best introductary book out there.

If you already know core programming principles by heart i would recommend Accelerated C++ .

u/SofaAssassin · 1 pointr/cscareerquestions

What kind of jobs are you applying for? Low-level stuff is typically applicable for things like engine work, graphics, optimization, networking and audio. Okay, that covers a lot of the game development process, but there are certainly jobs that aren't deep into that, like peripheral tooling (making tools for developers to use) or working on stuff like the webservices that powers the online community.

However, if your goal really is core game development, then you need to be a lot more targeted in how you learn. I have interviewed for and was hired by a game company that worked in C++, and have also worked in distributed, networked military simulations (think of it like boring, more realistic Starcraft), so here is how I gained the various knowledge I had in getting through those types of interviews (including a 90-minute written test for the game company where I had to debug C++ code on paper, answer various gotchas, etc.).

I don't know how far you have covered, but this is how I would approach the learning now, were I to start over again.


  • Become really good at C++ - During my first job, I mostly used Java with Python/C++/Perl/TCL on the side. I learned a lot of C++ in short order to prepare for interviews and move jobs (to simulation).

  • Read Accelerated C++ and/or C++ Primer. These are probably the best books for getting introduced to C++ and starting off in a good place (as in, not learning C++ in the form of C), getting familiar with using the OO system of C++ and using the standard library. Also remember to do the exercises to really reinforce the concepts.

  • Read Effective C++ SUPER COLLECTION - In honesty, you can make do with just Effective C++, Volume 1, but these cover good practices for using C++.

  • Read the C++ FAQ - lots of gotchas there and corner cases of C++.

  • If you want to go beyond those books and resources, there are Herb Sutter's Exceptional C++ books.

  • Understand the machine - this covers the low level component. Helping you to understand the machine itself, how your code runs, how it's executed.
  • Read Randall Hyde's Write Great Code - This is one of my favorite technical books, and is language agnostic.

    It covers low-level concepts like CPU pipelining, memory, and how code interacts with the machine. I read this years after I started my job building simulations, and it reinforced a lot of what I learned previously and in college. I also recommended this book to a friend of mine who credits it with giving him an edge over his fellow college grads (he's years younger than I am) in low-level knowledge. If you don't know concepts like cache locality, cache lines and how memory is allocated, this book will cover that and more.

  • Read Randall Hyde's Art of Assembly Language - I have only briefly touched upon this book, but it takes a unique approach to introducing you to x86 ASM (by using a higher-level form of ASM).


  • Understand the algorithms and data structures - I took multiple classes in this in college, as well as periodically read CLRS to refresh my knowledge. But CLRS is too mathematically rigorous and theoretical here if you just want to get familiar with algorithms.

  • Skeina's Algorithm Design Manual is a more practical approach to refreshing yourself on algorithms and also learning complexity theory.

  • Skeina's Data Structures Lectures are helpful for data structures. In general, though, know these (I include whatever C++ has as well):
    • Dynamic array - std::vector<T> in C++.
    • Associative structures - std::map and std::unordered_map
    • Sets - std::set and std::unordered_set
    • Linked List - std::list<T> and std::forward_list<T>
    • Stacks and Queues - std::stack and std::queue
    • std::deque - The C++ implementation of a double-ended queue.
    • Trees - binary trees, red-black, heaps, tries (no standard C++ implementations of these, though stuff like std::set is typically implemented with a red-black tree behind the scenes)
    • Graphs

    • Understand the complexities of actions on each data structure (insertion, deletion, modification, searching, etc.)

  • Read the wiki on Pathfinding, because this class of algorithms is very important in game development, as well as network communication.

    -----

    The above covers the 'core' stuff you'd have to learn. If you wanted to get into stuff like network programming or graphics programming rather than just core gameplay development, I can expound further.
u/VanFailin · 1 pointr/ProgrammerHumor

The first book I read that made C++ seem simple was Accelerated C++. You can easily find a PDF on Google if you're so inclined.

(It is a little out of date because C++11 brought about some important new features, but the basics are still fairly relevant)

u/aftli · 1 pointr/csharp

Heh, I don't know really. I usually recommend Accelerated C++, but it's a bit dated now with C++11. Perhaps we can help each other? :)

u/poseid · 1 pointr/programming

By chance, I was reading yesterday the introduction of http://www.amazon.com/Accelerated-C-Practical-Programming-Example/dp/020170353X - what I like in that style, is that you see some code, have it in your mind, and get a discussion of concepts based on that example. Writing about programming is very difficult (as I experience myself), but I start liking the idea, that actual code examples early help the reader to get a better feeling what is going on.

u/sarevok9 · 1 pointr/learnprogramming

I wouldn't go with "teach yourself C++" I'd highly advise: http://www.amazon.com/Accelerated-C-Practical-Programming-Example/dp/020170353X/ref=sr_1_1?ie=UTF8&qid=1324963126&sr=8-1 (Accelerated C++) which takes a late-object approach and is broken down very nicely.

u/AzurewynD · 1 pointr/starcraft

Perhaps this one? It always seems to pop up for me when discussions of C++ texts rear their head.

http://www.amazon.com/Accelerated-C-Practical-Programming-Example/dp/020170353X

u/okmijnuhb1 · 1 pointr/cpp

I've got that book too and I like the way it teaches things but it is definitely harder to understand initially than some other books. I suggest getting it along with another C++ book (I have SAMS Teach Yourself C++ in 21 Days) so that when you're having trouble with Accelerated C++ you can switch over to the other book and just read about a particular topic (such as pointers) and maybe go back to Accelerated C++ with a little more understanding.

u/uiucs2017 · 1 pointr/UIUC

Thank you! Yes I have heard only good things about that book.
Does it matter that it is C and not C++? Because I have been told Accelerated C++ is also a very good book and things are seen at a faster pace. But again, if you believe the K&R is a better approach I will by all means look into that one. I mentioned Accelerated C++ because of the time constraint I have.

u/wtfisthisidontevenkn · 1 pointr/EngineeringStudents

DON'T use K&R C as another poster suggested.

  • If you're in a REAL hurry to pick things up, try this: http://www.amazon.ca/Accelerated-C-Practical-Programming-Example/dp/020170353X edit: type in and compile every example/problem in this book

  • If you have some time to spend, use this: http://www.amazon.ca/Primer-5th-Edition-Stanley-Lippman/dp/0321714113

    The main thing is to practice. At the intro level, I know there isn't a whole lot to practice with if you don't have an idea of something you'd like to implement. I do have a series of 4 homework problems for a class I TA'd a couple of semesters ago - problems were due every 2 weeks and each assignment built on the previous one in order to encourage good object-oriented behaviour. PM me if you'd like them. I will try to dig up the solutions, but not sure if I still have them.

    After that you'll need a DS&A course, but this is probably in your program anyway.
u/Ilyps · 0 pointsr/learnprogramming

That book is about $40 and someone who doesn't have the rights to it, can't legally give it away.

You're using it without permission and very likely, illegally. If you want to do that, fine, but don't pretend it's allowed.

u/Yaxlat · 0 pointsr/pics