C++ Book Recommendations | Modern Cpp Series Ep. 106

Поділитися
Вставка
  • Опубліковано 15 гру 2024

КОМЕНТАРІ • 80

  • @catklyst
    @catklyst 2 роки тому +7

    +1 to effective modern C++, grabbed it to help me modernize an old legacy codebase and its been fantastic.

  • @georgiosdoumas2446
    @georgiosdoumas2446 4 місяці тому +3

    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.

    • @MikeShah
      @MikeShah  4 місяці тому

      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!

  • @tourdesource
    @tourdesource Рік тому +4

    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!

    • @MikeShah
      @MikeShah  Рік тому +2

      Cheers! Yes they have been gems for me

  • @damondouglas
    @damondouglas Рік тому +2

    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.

    • @MikeShah
      @MikeShah  Рік тому +1

      It sits on my desk 🙂Always a good reference

  • @thestarinthesky_
    @thestarinthesky_ Рік тому +4

    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🙏🏽💚

    • @MikeShah
      @MikeShah  Рік тому +1

      Cheers -- 100% agreed books are of great value!

    • @OCEAN-fc9wl
      @OCEAN-fc9wl 4 місяці тому

      @@thestarinthesky_ how are you progressing today?

    • @thestarinthesky_
      @thestarinthesky_ 2 місяці тому

      @@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!

    • @georgiosdoumas2446
      @georgiosdoumas2446 26 днів тому

      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.

  • @raonirodrigues3910
    @raonirodrigues3910 2 роки тому +2

    Best youtube channel for programmers! Keep it going, pls!

  • @everline_builders
    @everline_builders 2 роки тому +9

    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!

    • @MikeShah
      @MikeShah  2 роки тому

      Thank you for the kind words! As an avid reader, books are a wonderful gift :)

  • @acho8387
    @acho8387 2 роки тому +4

    That API design book looks very juicy! Can't wait to dig in.

    • @MikeShah
      @MikeShah  2 роки тому +3

      It's a best kept secret in my opinion!

  • @mihirpatel3010
    @mihirpatel3010 2 роки тому +3

    Thank you Dr. Mike.

  • @alextabacaru1463
    @alextabacaru1463 4 місяці тому +1

    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?

    • @MikeShah
      @MikeShah  4 місяці тому

      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

    • @alextabacaru1463
      @alextabacaru1463 4 місяці тому +1

      @@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!

  • @RezaMarz
    @RezaMarz 2 місяці тому +1

    Thanks Mike.

    • @MikeShah
      @MikeShah  2 місяці тому

      You are most welcome!

  • @VoidloniXaarii
    @VoidloniXaarii Рік тому +1

    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?!

    • @MikeShah
      @MikeShah  Рік тому +1

      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!

  • @idongarchie6632
    @idongarchie6632 6 місяців тому +1

    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.

    • @MikeShah
      @MikeShah  6 місяців тому

      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.

  • @stavb9400
    @stavb9400 2 роки тому +4

    What about Andrei Alexandrescu book ? I assume it is a step after effective C++ ?

    • @MikeShah
      @MikeShah  2 роки тому +1

      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!

  • @SBcode-s3n
    @SBcode-s3n 2 роки тому +3

    learn c++ in one hour a day is amazing book to

    • @MikeShah
      @MikeShah  2 роки тому

      Great books to help folks get started!

  • @thestarinthesky_
    @thestarinthesky_ 5 місяців тому +1

    Hi Mike,
    Do you recommend professional C++ sixth edition where it includes C++20 and C++23?

    • @MikeShah
      @MikeShah  5 місяців тому +1

      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++.

    • @thestarinthesky_
      @thestarinthesky_ 5 місяців тому +1

      @@MikeShah thanks for the response. You’re awesome 😊

    • @MikeShah
      @MikeShah  5 місяців тому

      @@thestarinthesky_ cheers!

  • @luank8599
    @luank8599 11 місяців тому +2

    I’m working like embedded engineer so what book C++ i should read to improve my knowledge??

    • @MikeShah
      @MikeShah  11 місяців тому +1

      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.

  • @k0dama600
    @k0dama600 Рік тому +2

    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
      @MikeShah  Рік тому

      Cheers! I found it on amazon (USA) as a used copy. Not sure it's printed much, but there should be used copies around 🙂

  • @robertstrickland9722
    @robertstrickland9722 2 роки тому +2

    That book from Scott Meyers really confuses me sometimes when he's working through the fine grain details of each of the recommendations.

    • @MikeShah
      @MikeShah  2 роки тому

      It's definitely the last book to read on the list as it gets into the fine details of the language.

    • @robertstrickland9722
      @robertstrickland9722 2 роки тому +1

      @@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*

    • @MikeShah
      @MikeShah  2 роки тому +3

      @@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

    • @robertstrickland9722
      @robertstrickland9722 2 роки тому +1

      @@MikeShah Mike is the GOAT!

  • @wika96
    @wika96 2 роки тому +1

    Great video Mike

  • @jishnuperiya1420
    @jishnuperiya1420 Рік тому +1

    Do you suggest c++ for game programmers or professional cpp for beginner? Thanks 🙏

    • @MikeShah
      @MikeShah  Рік тому

      C++ for Game Programmers is a bit more pragmatic. It may be even worthwhile to work through learncpp.com as well.

  • @amazlin8271
    @amazlin8271 Рік тому +2

    How about the book :
    Thinking in C++

    • @MikeShah
      @MikeShah  Рік тому +1

      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

    • @amazlin8271
      @amazlin8271 Рік тому +1

      @@MikeShah
      It's free.
      Thanks a lot

    • @MikeShah
      @MikeShah  Рік тому +1

      @@amazlin8271 Great book to start with, then I'd recommend tour of C++ for the modern stuff

  • @khomo12
    @khomo12 Рік тому +1

    Thank you!👍👍👍

  • @VoidloniXaarii
    @VoidloniXaarii Рік тому +1

    Thank you

  • @__hannibaalbarca__
    @__hannibaalbarca__ Рік тому

    C++; my first impression: I think theirs founders trying to write mathematic language for computer; or the closest language to mathematics.

  • @jnnemsky
    @jnnemsky Рік тому +1

    Any recommendations for ppl moving from C to C++? Very comfortable with C, thank you

    • @MikeShah
      @MikeShah  Рік тому +1

      Probably start with the tour of C++ by Bjarne. Then the API Design Book

    • @jnnemsky
      @jnnemsky Рік тому +1

      @@MikeShah thank you!

  • @joebosah2727
    @joebosah2727 2 роки тому +2

    Thanks

    • @MikeShah
      @MikeShah  2 роки тому

      Cheers, thanks Joe!

    • @joebosah2727
      @joebosah2727 2 роки тому

      @@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
      @MikeShah  2 роки тому

      @@joebosah2727 Great! Noted -- will add these topics to the future wish list.

  • @__hannibaal__
    @__hannibaal__ 2 роки тому +2

    I like C++ just because it is made by mathematicians, and not CSist , what bout Stepanov books and other books likes.

    • @MikeShah
      @MikeShah  2 роки тому +3

      From Mathematics to Generic Programming is a good one, useful to help folks think computationally :)

    • @__hannibaal__
      @__hannibaal__ 2 роки тому +1

      @@MikeShah thanks You.

  • @kafuu1
    @kafuu1 Рік тому

    How do you think of c++ primer plus? I thought every c++ person would recommend this book

    • @MikeShah
      @MikeShah  Рік тому

      I haven't read it personally, it's probably fine for someone who does not know any C++ but has some programming experience.

    • @kafuu1
      @kafuu1 Рік тому +1

      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

    • @MikeShah
      @MikeShah  Рік тому

      Cheers!@@kafuu1 I like the Art of Open Soruce Architecture series -- free, and talks specifically about code with many examples.

    • @kafuu1
      @kafuu1 Рік тому +1

      @@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 ?

    • @MikeShah
      @MikeShah  Рік тому

      @@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.

  • @hassanattar7312
    @hassanattar7312 Рік тому +1

    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?

    • @MikeShah
      @MikeShah  Рік тому +1

      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. :)

  • @UnknownSENKu
    @UnknownSENKu 2 роки тому +2

    I know some C but not everything. Anybody here who know every thing?

    • @MikeShah
      @MikeShah  2 роки тому +2

      The more you know, the more you end up knowing how much you don't know! :)

    • @UnknownSENKu
      @UnknownSENKu 2 роки тому +1

      @@MikeShah It's like NESTED LOOP ...