2:29 , in summer 2024 the API design for C++ got a 2nd edition! 3:22 , I believe that Professional C++ should be read before the API design book, because the API book assumes you already know enough C++11.
Indeed, I have a copy of the second edition already 😁 I can agree with that -- I've found that reading Professional C++ to supplement whatever I'm learning (so two books at once) had worked well for me. Thanks for adding your thoughts!
I never thought reading books on C++ could make a huge difference. I thought just watching videos on UA-cam, checking stackoverflow and reading blogs and doing practices are enough till i got confused about some topics and none of those references helped me till in the book written by Bejarne i could find it and i don’t think i’ll ever get confused. After that i decided to read his book one hour a day and practice concepts introduced there. I think reading good c++ books help to have deep knowledge not shallow which is required to become proficient in this lang. thanks for sharing🙏🏽💚
@@OCEAN-fc9wlI have read several C++ books and posting contents in LinkedIn and I think having read books has made a huge huge difference in my depth of knowledge and my job and strongly recommend reading books especially when these days short videos are a thing!
An important thing to pay attention for the book "The C++ programming language 4th ed" is to find the 4th printing at least (or a later print if it exists) because the initial prints have many errors and typos. By selecting a later print, you will have less corrections to do from the errata list that is posted online.
Thank you Mike your channel is fantastic! And you're a great teacher. My family always ask me what I'd like for Christmas and I genuinely couldn't think of anything this year. So thanks for the great recommendations!
Hey Mike! Thank you for this great list! I have a question: Would you recommend "C++ for Game Programmers" to someone who is looking to go into high-frequency trading rather or any other field outside of game programming?
I still think that book is very useful for understanding how C++ works -- so I'd recommend it. Probably the progression is: 1. read any intro c++/programming book 2. Read "C++ for Game Programmers" 3. Read a specific high-frequency trading for C++ book
@@MikeShah Thank you so much, appreciate the help! I’m currently in uni studying Java mostly, so I think I’ll use a tour of c++ as the first book followed by this one. Once again, thanks for the help!
Ashamed to say i gave up partly through effective modern c++ despite loving his effective and more effective books... Feelings a bit less bad after seeing another vid u made where u seemed to say it's ok to be an old c++ guy. Encouraged to see the book professional c++ i see every day... Trying to do 10 pages a day. Stopped partly through the up to c++17 version, got greedy/wasteful and got the c++20 version... Now worried soon there should be a c++23 version... Only up to around page 700 on this one .. on the other hand very impressed how they're managing to change the language subtly but deeply to the point that it becomes hard to read for a 2k gfx programmer... Hash tag eternally changing, hash tag evolution, hash tag... Is that too do with unordered maps?!
A few pages of C++ a day is a good plan! The older C++ Game Programming book covering C++ before C++11 is probably one of the best books to read after doing some basic tutorials on C++ to truly understand it. I think with C++20, C++23 will add a few features but less subtle. C++20 seems to be the new starting point for folks, as it was the most major version update imho since C++11. Language evolution is a good think, we'll all continue to learning. 🙂 Also, I play a lot of 2K games -- very cool!
Thanks for the list. Please may I ask what’s your recommendation for beginners to programming. Seems most of the ones you listed are for those with some knowledge of programming.
I think CS 50 on UA-cam is a pretty good place for most beginners to get a good crash course into programming in general. For C++, I'd probably pick up any 'learn game programming in C++' style book -- as you get to build some cool projects.
Yup, I'd pick up whatever the latest edition is. It's a good reference to know what is available. If you're just starting out, I recommend one of the other books, and then use the Professional Edition to supplement topics or otherwise get a complete picture of what is available in C++.
That's probably a better question for embedded engineers -- the main thing you'll want to have control over is allocations and erro handling. Professional C++ should touch on some of those topics. Game programming, low latency books also may be of interest. But there should be plenty of embedded C++ books out there worht a read.
Hey, Mike! I really like your Modern C++ series, appreciate your work! I have a little question: i really wanna read that "C++ for game programmers books", but i can't find it anywhere. Can you help me with this, please?
@@MikeShah Agreed haha. Which one of these books would you recommend for some more advanced implementations of iostreams in C++? I've run into a problem in a project of mine where I was trying to input binary data from a file with ifstream but ended up having to either: 1 - implement a convoluted solution involving reinterpret_casts between char and unsigned char. Or 2 - use C-style IO with FILE* and char*
@@robertstrickland9722 Optimized C++ by Kurt Guntheroth has a full chapter on optimizing read/write which I think is pretty good. The whole book itself is useful and a good text for you as you dig into performance. For specifically an input problem, there's a couple articles that you can take a look at that could result in some performance improvements: www.modernescpp.com/index.php/c-core-guidelines-improved-performance-with-iostreams and stackoverflow.com/questions/5166263/how-to-get-iostream-to-perform-better
I looked at it a while ago and it's quite a good book. I believe it is not updated with Modern C++, but may be a good option to start as I believe it was free for some time
@@MikeShahThanks, I got the Professional C++ 5th Edition today. I scanned through, it will surely complement and will be very helpful. I have two outstanding recommended books to get: C++ for Game Programmers and API design for C++. Surely get them soon. Please, can you give a high level overview UA-cam lectures on API and delegates in Modern C++ (about or less than 20minutes each).
@@MikeShah is that The Architecture of Open Source Applications? it seems like contain a lot of examples of software design, if there is some way that allowing us to understand it more throughly by doing some code or other forms of practices, or there is no need to do so ?
@@kafuu1Yes correct -- I think that provides some understanding and useful for study to see where patterns are applied. There are otherwise 'system design' interview like books, but I have not read.
Hey Mike. Thank you for this channel, you are awesome!!! just a quick question, I have read the book "Introduction to C++ Programming and Data Structures" by Y. Daniel Liang. I have taken an online course in Udemy about C++ and now I am following your videos. does "C++ for game programmers" can still help me or it would be too redundant? which of those books, do you think, I should read next?
C++ for game programmers has many pragmatic examples (Run-time type information, factories, memory allocation, design patterns) that show how to utilize C++ -- so I really do recommend that book for seeing the application. It lacks modern C++ constructs (which aren't always needed), but that's where the other sources (and my playlist) can otherwise fill in. :)
+1 to effective modern C++, grabbed it to help me modernize an old legacy codebase and its been fantastic.
Awesome!
2:29 , in summer 2024 the API design for C++ got a 2nd edition!
3:22 , I believe that Professional C++ should be read before the API design book, because the API book assumes you already know enough C++11.
Indeed, I have a copy of the second edition already 😁
I can agree with that -- I've found that reading Professional C++ to supplement whatever I'm learning (so two books at once) had worked well for me. Thanks for adding your thoughts!
Some of the books you mentioned are indeed off the beaten path, glad to see you're not just recommending some generic list. Thank you!
Cheers! Yes they have been gems for me
Thank you for going through this book list. I finally bought the book you talk about at 3:23. Thus begins my 1,161 page journey.
It sits on my desk 🙂Always a good reference
I never thought reading books on C++ could make a huge difference. I thought just watching videos on UA-cam, checking stackoverflow and reading blogs and doing practices are enough till i got confused about some topics and none of those references helped me till in the book written by Bejarne i could find it and i don’t think i’ll ever get confused. After that i decided to read his book one hour a day and practice concepts introduced there. I think reading good c++ books help to have deep knowledge not shallow which is required to become proficient in this lang. thanks for sharing🙏🏽💚
Cheers -- 100% agreed books are of great value!
@@thestarinthesky_ how are you progressing today?
@@OCEAN-fc9wlI have read several C++ books and posting contents in LinkedIn and I think having read books has made a huge huge difference in my depth of knowledge and my job and strongly recommend reading books especially when these days short videos are a thing!
An important thing to pay attention for the book "The C++ programming language 4th ed" is to find the 4th printing at least (or a later print if it exists) because the initial prints have many errors and typos. By selecting a later print, you will have less corrections to do from the errata list that is posted online.
Best youtube channel for programmers! Keep it going, pls!
Thank you Mike your channel is fantastic! And you're a great teacher. My family always ask me what I'd like for Christmas and I genuinely couldn't think of anything this year. So thanks for the great recommendations!
Thank you for the kind words! As an avid reader, books are a wonderful gift :)
That API design book looks very juicy! Can't wait to dig in.
It's a best kept secret in my opinion!
Thank you Dr. Mike.
Cheers!
Hey Mike! Thank you for this great list! I have a question: Would you recommend "C++ for Game Programmers" to someone who is looking to go into high-frequency trading rather or any other field outside of game programming?
I still think that book is very useful for understanding how C++ works -- so I'd recommend it. Probably the progression is: 1. read any intro c++/programming book 2. Read "C++ for Game Programmers" 3. Read a specific high-frequency trading for C++ book
@@MikeShah Thank you so much, appreciate the help! I’m currently in uni studying Java mostly, so I think I’ll use a tour of c++ as the first book followed by this one. Once again, thanks for the help!
Thanks Mike.
You are most welcome!
Ashamed to say i gave up partly through effective modern c++ despite loving his effective and more effective books... Feelings a bit less bad after seeing another vid u made where u seemed to say it's ok to be an old c++ guy.
Encouraged to see the book professional c++ i see every day... Trying to do 10 pages a day. Stopped partly through the up to c++17 version, got greedy/wasteful and got the c++20 version... Now worried soon there should be a c++23 version... Only up to around page 700 on this one
.. on the other hand very impressed how they're managing to change the language subtly but deeply to the point that it becomes hard to read for a 2k gfx programmer... Hash tag eternally changing, hash tag evolution, hash tag... Is that too do with unordered maps?!
A few pages of C++ a day is a good plan! The older C++ Game Programming book covering C++ before C++11 is probably one of the best books to read after doing some basic tutorials on C++ to truly understand it. I think with C++20, C++23 will add a few features but less subtle. C++20 seems to be the new starting point for folks, as it was the most major version update imho since C++11. Language evolution is a good think, we'll all continue to learning. 🙂 Also, I play a lot of 2K games -- very cool!
Thanks for the list. Please may I ask what’s your recommendation for beginners to programming. Seems most of the ones you listed are for those with some knowledge of programming.
I think CS 50 on UA-cam is a pretty good place for most beginners to get a good crash course into programming in general. For C++, I'd probably pick up any 'learn game programming in C++' style book -- as you get to build some cool projects.
What about Andrei Alexandrescu book ? I assume it is a step after effective C++ ?
Yup I still like it! A lot of the policy design that Andrei shows I think has influenced the modern STL for example, still relevant!
learn c++ in one hour a day is amazing book to
Great books to help folks get started!
Hi Mike,
Do you recommend professional C++ sixth edition where it includes C++20 and C++23?
Yup, I'd pick up whatever the latest edition is. It's a good reference to know what is available. If you're just starting out, I recommend one of the other books, and then use the Professional Edition to supplement topics or otherwise get a complete picture of what is available in C++.
@@MikeShah thanks for the response. You’re awesome 😊
@@thestarinthesky_ cheers!
I’m working like embedded engineer so what book C++ i should read to improve my knowledge??
That's probably a better question for embedded engineers -- the main thing you'll want to have control over is allocations and erro handling. Professional C++ should touch on some of those topics. Game programming, low latency books also may be of interest. But there should be plenty of embedded C++ books out there worht a read.
Hey, Mike!
I really like your Modern C++ series, appreciate your work!
I have a little question: i really wanna read that "C++ for game programmers books", but i can't find it anywhere. Can you help me with this, please?
Cheers! I found it on amazon (USA) as a used copy. Not sure it's printed much, but there should be used copies around 🙂
That book from Scott Meyers really confuses me sometimes when he's working through the fine grain details of each of the recommendations.
It's definitely the last book to read on the list as it gets into the fine details of the language.
@@MikeShah Agreed haha. Which one of these books would you recommend for some more advanced implementations of iostreams in C++? I've run into a problem in a project of mine where I was trying to input binary data from a file with ifstream but ended up having to either: 1 - implement a convoluted solution involving reinterpret_casts between char and unsigned char. Or 2 - use C-style IO with FILE* and char*
@@robertstrickland9722 Optimized C++ by Kurt Guntheroth has a full chapter on optimizing read/write which I think is pretty good. The whole book itself is useful and a good text for you as you dig into performance. For specifically an input problem, there's a couple articles that you can take a look at that could result in some performance improvements: www.modernescpp.com/index.php/c-core-guidelines-improved-performance-with-iostreams and stackoverflow.com/questions/5166263/how-to-get-iostream-to-perform-better
@@MikeShah Mike is the GOAT!
Great video Mike
Cheers!
Do you suggest c++ for game programmers or professional cpp for beginner? Thanks 🙏
C++ for Game Programmers is a bit more pragmatic. It may be even worthwhile to work through learncpp.com as well.
How about the book :
Thinking in C++
I looked at it a while ago and it's quite a good book. I believe it is not updated with Modern C++, but may be a good option to start as I believe it was free for some time
@@MikeShah
It's free.
Thanks a lot
@@amazlin8271 Great book to start with, then I'd recommend tour of C++ for the modern stuff
Thank you!👍👍👍
Cheers!
Thank you
C++; my first impression: I think theirs founders trying to write mathematic language for computer; or the closest language to mathematics.
Any recommendations for ppl moving from C to C++? Very comfortable with C, thank you
Probably start with the tour of C++ by Bjarne. Then the API Design Book
@@MikeShah thank you!
Thanks
Cheers, thanks Joe!
@@MikeShahThanks, I got the Professional C++ 5th Edition today. I scanned through, it will surely complement and will be very helpful. I have two outstanding recommended books to get: C++ for Game Programmers and API design for C++. Surely get them soon. Please, can you give a high level overview UA-cam lectures on API and delegates in Modern C++ (about or less than 20minutes each).
@@joebosah2727 Great! Noted -- will add these topics to the future wish list.
I like C++ just because it is made by mathematicians, and not CSist , what bout Stepanov books and other books likes.
From Mathematics to Generic Programming is a good one, useful to help folks think computationally :)
@@MikeShah thanks You.
How do you think of c++ primer plus? I thought every c++ person would recommend this book
I haven't read it personally, it's probably fine for someone who does not know any C++ but has some programming experience.
I have finished part 1-3 of professional c++! it is a fantastic book! Could you recommend more books for programming? like for system design@@MikeShah
Cheers!@@kafuu1 I like the Art of Open Soruce Architecture series -- free, and talks specifically about code with many examples.
@@MikeShah is that The Architecture of Open Source Applications? it seems like contain a lot of examples of software design, if there is some way that allowing us to understand it more throughly by doing some code or other forms of practices, or there is no need to do so ?
@@kafuu1Yes correct -- I think that provides some understanding and useful for study to see where patterns are applied. There are otherwise 'system design' interview like books, but I have not read.
Hey Mike.
Thank you for this channel, you are awesome!!!
just a quick question,
I have read the book "Introduction to C++ Programming and Data Structures" by Y. Daniel Liang. I have taken an online course in Udemy about C++ and now I am following your videos.
does "C++ for game programmers" can still help me or it would be too redundant? which of those books, do you think, I should read next?
C++ for game programmers has many pragmatic examples (Run-time type information, factories, memory allocation, design patterns) that show how to utilize C++ -- so I really do recommend that book for seeing the application. It lacks modern C++ constructs (which aren't always needed), but that's where the other sources (and my playlist) can otherwise fill in. :)
I know some C but not everything. Anybody here who know every thing?
The more you know, the more you end up knowing how much you don't know! :)
@@MikeShah It's like NESTED LOOP ...