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 C Programming Language (AKA: K&R)?
Ad
Ad
Structure and Intepretation of Computer Programs
All
3
Experiences
Pros
3
Top
Pro
Knowledge can be applied to any language
This isn't a book you'll glean direct practical tidbits out of, an introduction to not only functional programming but how to think in a paradigm outside the usual way C*/Python/Ruby/Java/etc... are coded. Even if you wind up never working in Scheme or any other primarily functional language, the tactics and thought processes you'll learn here will apply to any currently-evolving language to a greater or lesser degree. You'll be able to map your thought process into the paradigm that works best for your current situation and not just be forced into a limited set of idioms that causes unnecessary boilerplate and clunky code mangling.
See More
Top
Pro
Teaches very important programming concepts
Like closures and encapsulation without language support of objects.
See More
Top
Pro
Very good for absolute beginners
This book gives a great insight about immutable and mutable state (with pros and cons), typisation, FP, OOP, and many other things in a very beginner-friendly manner
See More
Hide
Get it
here
49
3
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
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
The Design of Everyday Things
All
6
Experiences
Pros
2
Cons
3
Specs
Top
Pro
Transcendental principles
This book isn't focused on recent trends or properties specific to a certain field, and thus applies to all design. It provides a broad view and allows focusing on the fundamental goals of the user experience, rather than being limited in scope.
See More
Top
Con
Quite dated
Examples are quite old, as are the illustrations.
See More
Top
Pro
Focused on the user
Whatever that's being designed, for whatever purpose, it always has the same goal of being used by someone. This book is focused on that interaction and on why users make mistakes. These principles still apply directly to web design, when design leads users to make mistakes, it will ultimately drive users away.
See More
Top
Con
A lot to read
It's quite a long read, there is a lot of material to be covered, if you compare it to similar but more concise books, like The Non-Designer's Design Book.
See More
Top
Con
Not specifically for web design
This book challenges the reader to think about the design of all objects, and their user-friendliness/usability. It is not specifically targeted towards web designers, but will help web designers think in a way that benefits users.
See More
Specs
Pages:
368
Hide
Get it
here
56
1
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
Head First Programming
All
3
Experiences
Pros
3
Top
Pro
Creative teaching style
Head First approaches learning with the idea that anything which increases brain activity will help you learn. Head First does this through humor, pictures, surprise and more.
See More
Top
Pro
Relevant, challenging and fun puzzles
The puzzles and exercises are challenging and unique. They help to reinforce what you've learned while guiding you through developing fun programs from the start.
See More
Top
Pro
Engaging writing style
One of the ways these books encourages the retention of material is by using an engaging and amusing writing style.
See More
Hide
Get it
here
5
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
Questions throughout the course:
Yes
Mobile apps:
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
Rationality: From AI to Zombies
All
8
Experiences
Pros
5
Cons
3
Top
Pro
Will make you smarter
Your intelligence is being used to defeat itself. Learn how to stop that.
See More
Top
Con
Not enough citations
Just Google it.
See More
Top
Pro
Mindblowing ideas
From (friendly) AI to (philosophical) zombies. Also Pebblesorters. And why humans are insane.
See More
Top
Con
Has some highly technical references in places
Things like physics (relativity, quantum mechanics), mathematics and computer programming. Scared? Didn't think so.
See More
Top
Pro
Fictional interludes
These are quality science fiction short stories in their own right.
See More
Top
Con
Long
The chapters are relatively short and digestible essays and short stories. The problem: there are 333 of them. On paper, this would take volumes, but this is an ebook. You'll get a lot out of it long before you finish though.
See More
Top
Pro
Funny
See More
Top
Pro
Engaging
See More
Hide
See All
Experiences
$5 - $0
4
1
JavaScript: The Good Parts
All
3
Experiences
Pros
2
Cons
1
Top
Con
Lack of consistency
Where some parts of the book cover very basic concepts, other parts expect at least an intermediate understanding on JavaScript. There is a lack of consistency, causing some confusion as to who the book is aimed at.
See More
Top
Pro
Explains what makes JS confusing and how to go about it
JS can be a confusing language and often provides difficulty writing good code that uses objects and methods. Crockford explains why that is and how to think about the language to avoid confusion.
See More
Top
Pro
Good for intermediate programmers
The book requires basic understating of how programming works and even some understanding of JavaScript itself.
See More
Hide
Get it
here
17
5
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
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
For Dummies
All
3
Experiences
Pros
2
Cons
1
Top
Pro
Price
Compared to beginner books of the same language by another publisher, For Dummies books are usually the more affordable option.
See More
Top
Con
Inconsistent
The "For Dummies" series covers a wide variety of languages. However the style is largely inconsistent across the different books, so it's recommended that you look up reviews for that specific book first.
See More
Top
Pro
Great for complete beginners
For someone who has no prior programming experience, these books will take you through the fundamentals of programming at a reasonable pace.
See More
Hide
Get it
here
1
1
An Introduction to Functional Programming Through Lambda Calculus
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Works with most programming languages
Lambda calculus can be done with paper and pencil, but any programming language with lambda (like Python) can work with it.
See More
Top
Con
Hard to pick up
The first chapter is reportedly not so good.
See More
Top
Pro
Hard to put down
Learn how to build a functional programming language from first principles.
See More
Top
Pro
Non-technical
This book doesn't assume any kind of math or programming knowledge beyond elementary school.
See More
Hide
Get it
here
0
0
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