As a programmer I suggest you read at least two programming related books a year for fun! That means not counting the books you need to read due to some project specific language or task. I mean books you read to educate yourself on programming. Not books you are forced to read.
Programming is fun, it should be kept fun. The following is a list of books I recommend that you read. Unfortunately, Coding Drunk isn't one of these books. For that part you're on your own.
General and project related
- The art of Unix programming
- Journey of the software professional
- The psychology of computer programming
- The mythical man month
- Tao che thing
- The tao of programming
- The Dilbert principle
- The Cathedral and the Bazaar
All of the above books are not language specific, they are people and somewhat methodology specific. I do not preach the gospel of these books being the golden calf of software development. But I believe they are essential to all aspects of software development.
Design, Architecture and Quality
- Design patterns: Elements of reusable object oriented software
- Pattern-Oriented Software Architecture (series)
- Compilers, principles, techniques and tools
- Computer Graphics: Principles and Pratice
- Refactoring
- Managing projects with GNU Make
- Gnu Autoconf, Automake and Libtool
- Extreme programming
- The Art of Agile
- The pragmatic programmer
- 97 Things every programmer should know
- 97 things every software architect should know
- Reading code
- Code quality
These books have an approach of software and build design. Attempting to assist you in designing scale able long term solutions, and helping you in changing broken software in to quality software.
Language specific
- The C programming language
- Thinking in C++
- Thinking in Java
- Flex and bison
- Mastering regular expressions
- Learning the bash shell
- Learning PHP, MySql, Javascript, HTML5
- Perl library
- PHP Book
- Dive into HTML5
- HTML5 for web designers
- Eloquent Javascript
- Hardcore Visual Basic
In general you should know more than one language. If I should suggest a language, that language would be C. The reason for this is that mostly any other major programming language like, C++, C#, Java, PHP, Javascript, all share a common set of features with C.
By learning C you'll have a great entry point into learning all the other languages in no time.I know there are aspects of object orientation that are not covered by C, to this i say: "Did you know that all member functions of your objects are defined by using structured programming?".
By learning C you'll have a great entry point into learning all the other languages in no time.I know there are aspects of object orientation that are not covered by C, to this i say: "Did you know that all member functions of your objects are defined by using structured programming?".
Embedded, System and C/C++ specific
- Programming Embedded systems in C
- Test Driven Development for Embedded C
- Advanced C++
- Effective C++
- More Effective C++
- Effective STL
- Programming with Posix threads
- The black art of 3d game programming
When developing embedded systems, computer game, platform software, dynamic libraries, etc. There are some optimisation requirements that you simply need to know about. Also, concepts like multi threading, and fixed math must be covered.
These things may not be directly projected into other languages or libraries. But if you look carefully you might see the similarities in pthreads and Java threading.
These things may not be directly projected into other languages or libraries. But if you look carefully you might see the similarities in pthreads and Java threading.
UX related
- Don't make me think
- Java 2D Graphics
- Build an HTML5 game
Websites
- Coding horror
- Smashingmagazine.com
- Stack exchange
- Embeddedgurus.com
- Yo Linux
- CSS Zen Garden
- ioccc.org
John's books
The 480 pages in this book are the most valuable information you'll ever read. Then you realize this is just the introduction.
If you study or work in computer science read this book now. It's practical and to the point!
Plus, it puts ...
If you study or work in computer science read this book now. It's practical and to the point!
Plus, it puts ...
No comments:
Post a Comment