I highly recommend the book Concepts, Techniques, and Models of Computer Programming (http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695) which is the closest I’ve seen to distilling programming to its essence. It’s language agnostic in the sense that you start with a small “kernel language” and build it up incorporating different concepts as needed.
Are you interested in algorithms (in which case you’d want to take a look at Knuth)? In the proper way to architect or organize software (in which case Design Patterns might be useful)? In how to write clear, understandable, efficient code (in which case language will have to enter into this)?
I generally recommend Code Complete by Steve McConnel for procedural and OO programming, less so for rapid scripting, even less suitable if you are into functional programming (where SICP rules supreme). For ways to deal with the common issues on a software development team, see his other books, Software Project Survival Guide. Rapid Development is also good.
Completely language-agnostic programming book is a bit of a contradiction. You’re better off finding books on the subject that use the language you’re most comfortable with. I’d look at books on object oriented programming and algorithm design, and when you’re completely comfortable with those topics, move on to design patterns.
Relatively basic, at a level just above codecademy.com. Mostly I’m trying to help my young son become a better programmer and I don’t have the language to do it when, for example, he makes things much more complex than necessary.
I’m looking for a non-language specific book on proper computer programming techniques.
I highly recommend the book Concepts, Techniques, and Models of Computer Programming (http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695) which is the closest I’ve seen to distilling programming to its essence. It’s language agnostic in the sense that you start with a small “kernel language” and build it up incorporating different concepts as needed.
The book’s author is running a MOOC on EdX https://www.edx.org/course/louvainx/louvainx-louv1-01x-paradigms-computer-1203
You’ll have to specify your needs a bit better.
Are you interested in algorithms (in which case you’d want to take a look at Knuth)? In the proper way to architect or organize software (in which case Design Patterns might be useful)? In how to write clear, understandable, efficient code (in which case language will have to enter into this)?
I generally recommend Code Complete by Steve McConnel for procedural and OO programming, less so for rapid scripting, even less suitable if you are into functional programming (where SICP rules supreme). For ways to deal with the common issues on a software development team, see his other books, Software Project Survival Guide. Rapid Development is also good.
Completely language-agnostic programming book is a bit of a contradiction. You’re better off finding books on the subject that use the language you’re most comfortable with. I’d look at books on object oriented programming and algorithm design, and when you’re completely comfortable with those topics, move on to design patterns.
What level are you at with programming and what kinds of techniques? Algorithms and data structures? Design patterns?
Relatively basic, at a level just above codecademy.com. Mostly I’m trying to help my young son become a better programmer and I don’t have the language to do it when, for example, he makes things much more complex than necessary.
Code: The Hidden Language of Computer Hardware and Software is a good book for a precocious ~12 year old.
Thanks, I just ordered it.