HackerNews Books

Best Books for Learning C Programming according to Hacker News

Hacker News was created by Paul Graham, co-founder of Y Combinator, as a place for tech-savvy individuals to share and discuss interesting content related to technology, startups, programming, and more.

Initially, it started as a simple link aggregator, where users could submit links to articles, blog posts, and projects they found intriguing.

Over time, it evolved into a thriving community with a strong emphasis on intellectual curiosity, thoughtful discussions, and quality content.

I'm an avid reader of Hacker News and often come across high-quality discussions from the community. I found that the courses and books people discuss on Hacker News are really good, so I conduct monthly analyses and aggregate the top courses/books found in comments and rank them.



Why Learn C Programming

You've probably heard of C programming or you're wondering whether or not to spend the time learning the language. C programming is defined as one of the most powerful "modern" programming language, in that it allows direct access to memory and many low-level computer operations.

C is one of the lowest level languages that is still fairly readable (compared to binary code with 0's and 1's). It allows you to exploit some of the features of a computer's hardware with far more control and precision that higher level languages. A high level language would be something such as JavaScript or Python, where a significant number of libraries and functions are essentially "pre-built" and take care a lot of under-the-hood functionality but very limited precision or control.

It is important to note that today, most people who "learn to code" focus only on learning higher level languages and never understand what's going on at a fundamental level: how a computer treats data structures and types, how it assigns and manages memory, or how it stores data. If all you want to do is build a website, put a few boxes or forms here and there, then you probably don't need to understand the fundamentals of computer programming or software engineering.

However, if you want to become a software engineer, machine learning or AI engineer, a data scientist, or a full stack developer, understanding data structures and types, memory, performance, and architecture are absolutely vital to being a great engineer.

 

Top Books

1. Expert C Programming: Deep C Secrets
2. The C Programming Language
3. 21st Century C
4. C Companion
5. C Traps and Pitfalls
6. The Standard C Library
7. Data Structures Using C
8. Mastering Algorithms with C
9. C Programming Language, 2nd Edition
10. Data Structures In C
11. C Programming: A Modern Approach, 2nd Edition
12. Understanding and Using C Pointers
13. A Retargetable C Compiler: Design and Implementation
14. The C Puzzle Book
15. Practical C Programming (Nutshell Handbooks)
16. M C Escher Kaleidozyklen
17. Pointers on C
18. Head First C
19. C Interfaces and Implementations: Techniques for Creating Reusable Software
20. Illustrating C (Ansi/Iso Version)
21. Programming in C (3rd Edition)
22. C in Depth
23. Obfuscated C and Other Mysteries
24. Programming Embedded Systems in C and C++
25. C gengo hyoÌ"jun bunpoÌ" poketto rifarensu : ANSI C ISO C 99 taioÌ"
26. C A Software Engineering Approach
27. Applied Cryptography: Protocols, Algorithms, and Source Code in C
28. Compiler Design in C (Prentice-Hall software series)
29. Algorithms in C (Computer Science Series)
30. Using C on the UNIX System
31. Secure Programming Cookbook for C and C++
32. C Programming Absolute Beginner's Guide (3rd Edition)
33. Data Structures: An Advanced Approach Using C
34. Working Effectively with Legacy Code (Robert C. Martin Series)
35. 21st Century C: C Tips from the New School
36. Modern Compiler Implementation in C
37. Mastering C Pointers: Tools for Programming Power
38. Making 8-bit Arcade Games in C
39. Expert C Programming: Deep Secrets
40. Applied Cryptography: Protocols, Algorithms and Source Code in C
41. System Programming with C and Unix
42. Computer Graphics: Principles and Practice in C (2nd Edition)
43. C All-in-One Desk Reference For Dummies
44. Writing Apache Modules with Perl and C
45. Secure Coding in C and C++
46. Amiga C for Advanced Programmers (Abacus Amiga Books, Vol 11)
47. The CERT C Secure Coding Standard
49. Datastructures and Algorithm Analysis in C, 2/e
51. C Programming in 12 Easy Lessons
52. Memory as a Programming Concept in C and C++
53. Data Structures: A Pseudocode Approach With C
54. Teach Yourself C in 21 Days (Sams Teach Yourself)
56. C Primer Plus (6th Edition) (Developer's Library)
57. Reusable Data Structures for C (Prentice-hall Software Series)
59. Study Guide: for C Programming: A Modern Approach
60. Effective C: An Introduction to Professional C Programming
61. Secure Coding in C and C++ (2nd Edition) (SEI Series in Software Engineering)
62. Practical C Programming: Why Does 2+2 = 5986? (Nutshell Handbooks)
64. NSHipster: Obscure Topics in Cocoa & Objective C
65. Linux System Programming: Talking Directly to the Kernel and C Library
66. Test Driven Development for Embedded C (Pragmatic Programmers)
68. Advanced C: Tips and Techniques (Hayden Books C Library)
70. Introduction to Computing Systems: From Bits and Gates to C and Beyond

 

Our methodology

We conducted this analysis by "ranking things based on social signals"

It's the result of mining the HN archives for references to books and then ranking them and displaying all references in one place.

Ranking currently takes into account HN stories (points) and comments (sentiment, karma, estimated points).

 

Who are we

Find accountability partners, and study online courses & books with other learners. Moocable helps you find your next course/book/problem set, and lets you find study partners.