Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
What is the best alternative to The New Boston C Course?
Ad
Ad
C++ Primer
All
7
Experiences
Pros
3
Cons
4
Top
Con
Complaints about the Kindle version
To quote a reader: "The book itself is great. However, the formatting for the Kindle is messed up".
See More
Top
Pro
Great for people who know just the very basics of programming
This book is excellent for people who have basic knowledge of programming concepts or have read an introductory book on programming or C++.
See More
Top
Con
No mention of threads, atomic instructions, or memory model
See More
Top
Pro
Explains C++11 extension well
5th edition adds information on C++11 additions and integrates it throughout the book so it's not just an appendix with new stuff.
See More
Top
Con
Poor for people with no previous programming experience
See More
Top
Pro
Covers the core of the language without omitting anything critical
The book describes core concepts of C++ programming in-depth. It covers various nuances that would otherwise be easy to misinterpret.
See More
Top
Con
Does not cover template metaprogramming
See More
Hide
See All
Experiences
Paid
9
0
Learn C The Hard Way
All
5
Experiences
Pros
4
Cons
1
Top
Pro
Designed for people new to C
The book covers very basics such as C syntax, idioms, compilations, make files, linkers and how to find and prevent bugs.
See More
Top
Con
Has errors
Includes technical errors throughout the book.
See More
Top
Pro
Very practical and hands on
Contains many exercises that will require getting hands dirty very early on.
See More
Top
Pro
Can be combined with a video course
A complimentary course is available on Udemy. The course costs $29.
See More
Top
Pro
Free
The book is available online for free.
See More
Hide
Get it
here
22
2
The C Programming Language (AKA: K&R)
All
7
Experiences
Pros
4
Cons
3
Top
Pro
Well known classic
This book is so well known that it's affectionately called "K & R", after the authors. It's been cited in many other books and is familiar to most, if not all, CS students.
See More
Top
Con
Out of Date
Some commands and practices are out of date, so errata and googling is needed while going through the book.
See More
Top
Pro
It's excerpted from the idea of its creators
This book is written by Dennis Ritchie, who was one of the main people behind the development and design of C and UNIX.
See More
Top
Con
Teaches bad style
The K&R style works for old Unix mainframe command-line programs that exit after a simple task and leave the cleanup to the OS; where input is only from trusted experts; and most functions are only called internally to the program. The environment is very different today. This style will get your server owned by hackers, or crash it due to a memory leak, etc. You will have to unlearn what you've learned from this book to use C correctly in the real world today.
See More
Top
Pro
Creative, challenging exercises
The challenges at the end of each chapter do a great job of requiring many of the skills learned up to that point. Completing the challenges is a great way of insuring you understand the material.
See More
Top
Con
Not for beginners
Assumes familiarity not only with programming concepts but some C language specifics.
See More
Top
Pro
This book set the template for programming language books
See More
Hide
See All
Experiences
Get it
here
43
7
SoloLearn
All
10
Experiences
Pros
7
Cons
2
Specs
Top
Pro
Completely free
See More
Top
Con
Only the most commonly used languages are covered.
C++, Java, JavaScript, C#, Python, SQL, PHP, Swift, Ruby, JQuery, HTML, CSS. You won't find anything less common like Haskell, Erlang, Elixir, Common Lisp, Scheme, Clojure, Rust, etc.
See More
Top
Pro
Offline learning mode for mobile apps
Allows learning while disconnected from the net.
See More
Top
Con
Limited usefulness for intermediate or experienced programmers
No advanced coding challenges. Look for those on other sites like hackerrank.
See More
Top
Pro
Easy for beginners
Anyone can get started with this.
See More
Top
Pro
Share and modify others' projects
See More
Top
Pro
Browser-based code playgrounds
No software installation needed, just a modern web browser. On mobile devices though the mobile apps are highly recommended.
See More
Top
Pro
Excellent mobile apps available
See More
Top
Pro
Gamification
XP, levels, badges, certificates, etc.
See More
Specs
Languages:
C/C++, Java, JavaScript, C#, Python, SQL, PHP, Swift, Ruby, JQuery, HTML, CSS.
Offline operation:
Yes
Community support:
Yes
Mobile apps:
Yes
See All Specs
Hide
See All
Experiences
Free
57
9
C++
All
33
Experiences
Pros
12
Cons
20
Specs
Top
Con
Huge language gets in the way of learning
C++ is such an atrociously over-complicated language that its learning curve may get in the way of learning fundamentals. Learning C++ well is a ten-year project, and even experts are frequently surprised by the language.
See More
Top
Pro
Huge language supports most everything
C++ is a large language with an even larger community and following. It has libraries for every kind of task that is possible to do with C++
See More
Top
Con
Undefined behavior
Subtle errors can render the entire program "undefined" by the complicated C++ standard. The standard imposes no requirements in such cases. Thus C++ compiler writers are free to ignore the existence of such cases and Bad Things are prone to happen instead. Even experts can't reliably avoid undefined cases in C++, so how can beginners be expected to do so?
See More
Top
Pro
Powerful memory management
Allows puting large arrays on the "heap" to avoid "stack overflow".
See More
Top
Con
Tough to learn as the first language
Many of the concepts are hard to grasp if you have no prior programming experience.
See More
Top
Pro
Teaches fundamental OOP
Teaches you to leverage object oriented programming.
See More
Top
Con
Module system is not great
C++ uses the #include mechanism provided by C. Which unfortunately is a poor way of accessing the API of a library. Some of the reasons why the module system is weak are: Compile time scalability: The compiler must preprocess every header included in a file, and every header included in those headers. This process must be repeated for every translation unit in the program. As can be imagined, this doesn't scale very well. For each header added you are increasing the compilation time exponentially. Fragile: modules included are treated as textual imports by the compiler. This causes all sorts of problems since they are subject to any macro definitions in the time of the inclusion. If any of these macro definitions collide with a name in the library it can break the library API .
See More
Top
Pro
Excellent compiler optimization
Both open source compilers (such as Clang and GCC), and proprietary ones (like Intel's and Microsoft's) are very good at analyzing program flow and program optimization. This is mostly due to the widespread usage of C/C++ applications running everything from mobile/desktop/server Operating Systems, to search engines and webserver software, and the demand for performance.
See More
Top
Con
C++ succombs under its own weight
The years of cramped backward compatibility start to show in the syntax, complexity and very top-heavy language structures. Trying to keep up with far more elegant languages like C# doesn't do C++ any good either, because the committee always seems to be able to mess it up. After numerous years, still no modules... you must be kidding!
See More
Top
Pro
Teaches problem solving
The great STL is the most powerful Data Structure and Algorithms Library. It would benefit you very much in problem solving, your main main way to love programming. The code is much compact compared to Java and C#. No unnecessary classes are in your way; yet when you need classes they are available unlike C. The code runs very fast.
See More
Top
Con
Painfully slow compilation
Beginners need fast feedback
See More
Top
Pro
Teaches low-level programming, but doesn't have as many pitfalls as C
Teaches data types, low-level program flow and the so common C-style syntax while not being as much of a pain as C itself.
See More
Top
Con
Duplicates C features in incompatible ways
Arrays, strings, pointers, etc. have both C and C++ versions. Sometimes the C++ versions are worse. This is more useless trivia beginners have to sort through.
See More
Top
Pro
STD is often updated
The functionalities keep growing throughout the years. C++11 gave us a soft type of garbage collecting with the smart pointers.
See More
Top
Con
Undefined behaviors and weak limited type safety
Undefined behavior in a program can cause unexpected results, making it hard to debug. With UB, program behavior may vary wildly depending on optimization settings. There are many cases that invoke UB, such as signed overflow, invalid dereferences, large integer shifts, uninitialized variables, etc. C++ allows for non-type safe operations such as logic errors, wild pointers, buffer overflow, etc. UB and type safety issues create a large number of bugs and security vulnerabilities.
See More
Top
Pro
C code can be used in C++ code
Most C code will work as C++.
See More
Top
Con
No two programmers can agree on which 10% subset of C++ to use
C++ is such a huge and complicated language, that programmers have to learn a disciplined subset of it to reliably get anything done. The problem is, no-one can agree on which subset to use and they can't understand each other.
See More
Top
Pro
Faster execution of the same algorithms
Because C++ (and its precursor C) are "lower level" than a lot of popular programming languages they are also faster at executing code than Java or C# which require VMs and garbage collection threads.
See More
Top
Con
Retains nearly all bad habits of C
See More
Top
Pro
Universal, portable, best complexity/efficiency trade-off
See More
Top
Con
No reflection
C++ objects are frustratingly opaque. This makes debugging especially difficult, something beginners have to do a lot.
See More
Top
Pro
Best way to understand algorithms
See More
Top
Con
Memory leaks and segmentation faults
Because C and C++ allow the user direct access to memory and don't provide garbage collection threads, there is a probability that a program may have a "memory leak", which occurs when something a programmer allocated in the heap is not deallocated properly. Also, attempting to dereference memory protected by the operating system causes a segmentation fault and kills the program.
See More
Top
Pro
Has lots of library
C++ is mature and everything has standardized library.
See More
Top
Con
Arcane binding rules
See More
Top
Con
Incomprehensible operator overloading resoution
See More
Top
Con
After all these years of trying, still no decent string library.
Although you have several ways to handle strings, all of them are messy and error-prone, giving birth to many crashes and memory corruptions in the field. It's one of the worst languages ever, if you have to do strings.
See More
Top
Con
Bugs easily corrupt the memory you need to find them
You can usually get a core dump, but often the call stack gets completely overwritten. Compilers are not even consistent in how they map the binary objects to code.
See More
Top
Con
No way to locate definitions
No modules, just files, and no way to tell where anything came from.
See More
Top
Con
Complicated types
See More
Top
Con
Standard library missing important features
See More
Top
Con
Exceptions incompatible with C++ manual memory management
See More
Specs
Engine:
UE4 , Cocos-2d-x
Standard:
ISO/IEC 14882 or C++17
Hide
See All
Experiences
226
142
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
{}
undefined
url next
price drop