Hacker News new | past | comments | ask | show | jobs | submit login
I'm learning to program with SICP. Best book to get a grip on C and C++?
9 points by boppo1 on Oct 22, 2021 | hide | past | favorite | 5 comments
I felt my fundamentals were lacking so I've been working my way through SICP and it has been illuminating. However, realistically I expect to wind up working in c++ or java, which I loosely understand is a rather different paradigm. What do I need to understand about the differences? Or should SICP adequately prepare me, even if I'll miss some features?



C and C++ have noticeable differences, despite a common origin, and should be treated as different languages.

For C, many people recommend Gustedt's "Modern C" which is available in print but has a free ebook version (https://gustedt.gitlabpages.inria.fr/modern-c/).

For C++, Stroustrup's "A Tour of C++" seems to be well liked.


SICP is about execution models above theory, C and C++ is about legacy, tooling, subtle nuances and “shoot yourself in the foot or how I stopped worrying and left my job after lunch”. The specific paradigm is almost irrelevant there. If you want a job, pick what’s popular today or gains popularity quickly (as in _/). Otherwise you’ll feel trapped in boring and tedious after a while. If you want to play with low level to understand how it works (but not work in embedded tech), I’d refer to modern low-level languages like Go, Rust (not being fan of) or Nim, or Zig, and read but not write some assembler, just to get feel of the “bare metal”.

If by “fundamentals” you mean programming fundamentals, not hardware ones, practical languages have not much of it really, I mean they have, most of them have, but it is usually not their selling point or something life-changing. You don’t choose languages and paradigms in them, you choose ecosystems and frameworks that help building your solutions. Lisp/scheme already may have all the paradigms you’ll ever meet, but nobody uses them until the sun goes down.


I found The Cherno's youtube series for C++. Short Videos, Direct to the point and good code examples. https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfG...


The C Programming Language (Kernighan and Ritchie)

The C++ Programming Language (Stroustrup)

Spend time on them if you're interested. If you're studying for the purpose of getting your first software job some day, don't waste time on C++. It's a huge and difficult language with very few entry-level jobs. There aren't many C jobs either so it's up to you to decide if investing the time is really worth it and that depends on your goals and time horizon.


i highly recommend "the c programming language", the k&r book.

some may claim it's old but i don't know if there is a good "modern" c book. you can pick up the modern part quite easily. now that i am typing this, it would be amazing if BWK were to write a modern c book.

sicp is good, if you wanna get all meta.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: