3 ms·
If you have enough balls to learn C from K&R, you could try learning C++ from Koenig & Moo's "Accelerated C++" instead. C++ contains everything in C, and has a
by jey 19y ago
If you have enough balls to learn C from K&R, you could try learning C++ from Koenig & Moo's "Accelerated C++" instead. C++ contains everything in C, and has a lot of handy higher level constructs. You can deal with the specific idiosyncrasies of pure C later, but can get started quickly with C++. http://tinyurl.com/26cjz9 http://tinyurl.com/26cjz9
If you don't have any background in programming, or don't really know that you want to learn C or C++ specifically, I would recommend starting with Python. C++ is good if you know that you want to write systems software, or need to interface with C/C++ libraries. If you're just looking to learn to code, then learn Python. kyro said that he enjoyed learning from the free ebook "How to Think Like a Computer Scientist: Learning with Python". http://www.ibiblio.org/obp/thinkCSpy/ http://www.ibiblio.org/obp/thinkCSpy/
- jsackmann 19y agoDitto the recommendation on "How to Think..." ...a few years ago, I had no programming knowledge whatsoever, read about 1/3 of the book, and was already building useful stuff (to me, anyway).
- benhoyt 19y agoHmmm, I definitely wouldn't recommend newbies learning C++. Every time I've tried to dig into C++, it's been a turn-off. K&R's great. C's great, and it's small enough to get your head around, but if you want to know a language like C++, yeah, definitely agreed about Python.
- jey 19y agoWhat's the trouble with C++? It seem to me that using the higher-level constructs of C++ is a lot friendlier than having to malloc and free things all over the place. You don't have to jump into C++ template metaprogramming. :-)
- euccastro 19y agoSimilarly, automatic garbage collection is a lot friendlier than C++ memory management. With C for close-to-the-metal stuff and to optimize bottlenecks, Python for high level, and ctypes to glue both, I find no niche left for C++.
- benhoyt 19y agoTrue, it's just that if you want those features of C++ you're better off jumping up to something modern: Python/C#/Java. Those languages (perhaps even Java) feel well-designed and friendly instead of like a hacked-on OOP addition to C. I'm aware that C++ is not just a hack, but compared to modern designed-from-scratch languages, it does feel like one a lot of the time.