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 Learn C The Hard Way?
Ad
Ad
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
Hackr.io
All
3
Experiences
Pros
3
Top
Pro
Community trust
Instead of getting a recommendation from a single dev, you get recommendation from the entire programming community.
See More
Top
Pro
Recommendation for every programming language/framework/library
You can find Python as well as Jenkins.
See More
Top
Pro
Nice filters
Free, Video, Book, Beginner, Advanced, etc.
See More
Hide
0
45
0
C Programming: A Modern Approach
All
3
Experiences
Pros
2
Cons
1
Top
Pro
Challenges your way of thinking
The book really challenges you to think like a programmer by constantly asking questions that force you to solve problems, rather than telling you how to solve the problem and only asking you to write the syntax.
See More
Top
Con
Answers to exercises aren't provided
The exercises throughout the book don't have the exercises provided, which may be a con to beginners.
See More
Top
Pro
Written in a very clear, understandable way
The author breaks things down into small pieces and uses examples to explain everything in a very clear way.
See More
Hide
Get it
here
13
0
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
CS50x - HarvardX (edX)
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Amazing instructors
The instructors are very enthusiastic and extremely knowledgeable. The main professor uses a variety of fun examples to demonstrate points, often making for exciting and funny lectures.
See More
Top
Con
Large demand on time
The course is very fast-paced. Weekly suggested readings are usually a couple of chapters from two different text books, there are hours of videos each week, plus problem sets that often take a beginner many hours to complete. In order to keep up with the course, you have to be prepared to put in a lot of hours.
See More
Top
Pro
High quality instruction
CS50x is the actual Harvard course turned into a MOOC, with the lectures filmed from the actual Harvard course. The problem sets are all the same as well. This has resulted in the quality of the course being extremely high.
See More
Top
Pro
Really in-depth
The reason the time demand for the course is so great is because of how in-depth it is. CS50 has you programming in C right from the start. Computer Science concepts, such as runtime analysis and data structures, are also taught very early on and applied in projects. Along with C, this course will also introduce you to web development (JavaScript and PHP).
See More
Hide
Get it
here
8
0
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
Questions throughout the course:
Yes
See All Specs
Hide
See All
Experiences
Free
57
9
PluralSight
All
14
Experiences
Pros
10
Cons
3
Specs
Top
Pro
Offers advanced content
PluralSight offers programming courses for intermediate and advanced students, providing more depth than many of it's competitors.
See More
Top
Con
Some courses are outdated
Some of the courses are years old, so they are fairly outdated.
See More
Top
Pro
Offers learning paths
PluralSite offers learning paths, which help you figure out which courses to take and in what order.
See More
Top
Con
No coding exercices
There is no space where you can test your learned skills.
See More
Top
Pro
Mobile apps available
Available iPhone and Android apps.
See More
Top
Con
Paid
Not Free
See More
Top
Pro
Consistent quality
The course quality is high because Pluralsight has a full-time editing staff that carefully reviews every video produced. They enforce audio, video and content standards that help ensure a consistent and high quality result.
See More
Top
Pro
You can check your skill in learned language
You get rating for each tested language. This rating is compared to the other users of pluralsight.
See More
Top
Pro
Huge breadth of content (over 4000 courses)
Courses on software development, design, 3D modeling, and much more.
See More
Top
Pro
Notes in courses
You can add notes to each course, which makes it easier to repeat what you learned in past.
See More
Top
Pro
New material added frequently
PluralSight is constantly adding new courses to reflect the evolving industry. Currently they offer over 4000 courses.
See More
Top
Pro
Assessments and certificates of achievement
Plural site offers both pre-course and post-course assessments. Passing post-assessments will allow you to view and print off a certificate of achievement.
See More
Top
Pro
Public profile statistics page
You can share your learning progress and interests. Useful to attach to a links section in resume.
See More
Specs
Features:
Video tutorials, written tutorials, progress saver, projects
Hide
See All
Experiences
Get it
here
95
14
W3Schools
All
9
Experiences
Pros
4
Cons
5
Top
Pro
Easy to learn
All the tutorials are written in a straightforward and easy to understand way.
See More
Top
Con
Outdated practices / problem solutions
The practices that are shown to solve the problems at hand are rarely, if at all, updated. Usually, their tutorials and learning material is updated only after they see their profits drop.
See More
Top
Pro
Built in editor
Almost every example has a "try it yourself" button which opens up an editor in a new tab. It allows you to play with the example code and see how it works.
See More
Top
Con
Doesn't care about teaching right
There are multiple errors in the data they show. Although the solutions they show work, they will lead to unmaintainable code. That happens even when the maintainable code alternatives are as easy or accessible to new programmers as the alternatives.
See More
Top
Pro
Well organized tutorials
All of the lessons are separated into their own pages, which makes it easy to learn about specific concepts.
See More
Top
Con
Certifications not recognized
Many professionals in IT agree that w3s certifications are not recognized by them and are deemed useless. Good luck finding any respectable professional that accepts a w3s certification.
See More
Top
Pro
Great source from Google search's perspective
See More
Top
Con
It is for profit
What defines what goes is and what gets fixed on w3schools is what gives them profit and what doesn't (through their ads system).
See More
Top
Con
Written tutorials only
While many learning resources offer a mixture of media in their courses (such as videos, challenges etc.), w3schools offers only written tutorials and code editors. This makes w3schools more beneficial as a quick reference rather than a primary learning resource.
See More
Hide
See All
Experiences
Get it
here
53
21
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
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
Powerful memory management
Allows puting large arrays on the "heap" to avoid "stack overflow".
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
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
The New Boston C Course
All
3
Experiences
Pros
3
Top
Pro
Video tutorials
Tutorials are presented as videos, making them easy to follow / see what's going on at each step. Many people find this format less daunting and easier to take in than traditional text based tutorials.
See More
Top
Pro
Setup instructions included
The first video explains how to set up everything you need to get started on your machine. A lot of tutorials tell you about the language but leave you in the dark on how to get it up and running, creating a stumbling block before the first post.
See More
Top
Pro
Suitable for beginners
No assumptions are made about prior knowledge, meaning anyone can start watching and pick up the basics of the language fairly quickly.
See More
Hide
Get it
here
0
0
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