This is the in-progress free version of Learn C the Hard Way. It was just converted to a new format so things might be missing or formatted wrong. Email help@learncodethehardway.org to report any problems.
(read the article for extended symptoms and remedies)
Signs that you're a bad programmer:
- Inability to reason about code
- Poor understanding of the language's programming model
- Deficient research skills / Chronically poor knowledge of the platform's features
- Inability to comprehend pointers
- Difficulty seeing through recursion
- Distrust of code
Signs that you are a mediocre programmer:
- Inability to think in sets
- Lack of critical thinking
- Pinball Programming
- Unfamiliar with the principles of security
- Code is a mess
Signs that you shouldn't be a programmer
- Inability to determine the order of program execution
- Insufficient ability to think abstractly
- Collyer Brothers syndrome
- Dysfunctional sense of causality
- Indifference to outcomes
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
- Composing Methods of Refactoring
- Moving Features Between Objects
- Organizing Data
- Simplifying Conditional Expressions
- Making Method Calls Simpler
- Dealing with Generalization
- Big Refactorings
An essay about how object oriented methods can be used in C
Several example files in C.
Cscope is a developer's tool for browsing source code. It has an impeccable Unix pedigree, having been originally developed at Bell Labs back in the days of the PDP-11. Cscope was part of the official AT&T Unix distribution for many years, and has been used to manage projects involving 20 million lines of code!
Several example programs in C.