A selection of good books for programmers
In this post, we have gathered the most popular books for developers. They cover many different topics and are the best to start learning a particular technology.
24 Deadly Sins of Software Security
In the book «24 Deadly Sins of Software Security», Michael Howard and David Leblanc, who are the security experts at Microsoft, discuss the most widespread and serious mistakes while creating different software. In this book, they have covered most of the programming languages and platforms. Each chapter is dedicated to a certain vulnerability option.
Artificial Intelligence for Games
Nowadays, creating high-quality and advanced artificial intelligence is one of the most difficult tasks that game developers face. Most commonly, the whole project commercial success depends upon the quality of AI.
In this guide, Jan Millington, a well-known game developer and author of books series, shares his experience of building and improving Artificial Intelligence in numerous games. Furthermore, the book includes plenty of real-life examples and the source code of popular commercial AI algorithms implementations. The author pays a lot of attention to the gameplay development with reference to artificial intelligence. Also, there are tons of information regarding the game characters behaviour development behaviour and puzzle games development features.
Mathematics for 3D Game Programming and Computer Graphics
This updated third edition covers the topic of all the mathematical concepts that should be mastered by a modern game developer to build graphics and game engines at a high level.
In this edition, the author covers such topics as projections, shadows, physics, cloth rendering and numerical methods. Moreover, the whole code base is fully associated with the latest shader language specifications.
Game Programming Patterns
The biggest problem faced by many game developers is the finalization of product development. Quite often, projects become flat being overloaded with their own code complexity and embarrassment.
«Game Programming Patterns» is the templates’ collection which makes the code (not only game dev) cleaner, easier for understanding and much more productive. Using this book, you will know how to create a sustainable game cycle, how use to the processor’s cache to improve the performance and so on. Actually, you will dive into both the script engines with their optimization and the way the classic design patterns are used in the game development.
Jump Start MySQL
MySQL refers to the super popular relational database management system that is used by the majority of websites.
With the help of this book, you will mater MySQL, learn how to use its speed and flexibility in a matter of 7 days.
Head First. Android development
In case you have an idea of a killing Android app, but you do not know how to implement it, then this book is a perfect fit for you. With the help of this manual, you will learn how to create a proper application structure, build an interface and the database. Moreover, you will master the way to make it working on a wide variety of mobile devices and tablets, and so on.
According to the author, this book is like an experienced Android developer for you. Everything you need for start is a bit of knowledge of Java.
97 Things Every Programmer Should Know
«97 Things Every Programmer Should Know» is the collection of short practical advices and suggestions from the leading IT specialists. It will help you avoid many problems that you may face as a software developer.
Clean code: creation, analysis and refactoring
Robert C. Martin, relying on his personal experience and actual examples from his practice, covers the topic of how to code. The main difference from the McConnell book is that there are far fewer statistical grounds for the accuracy of certain actions. Most commonly, you will read the code (almost a third of the book) and Martin’s recommendations.
If you have a goal to build a successful developer career, this book is a must-have one for you. Regardless of the development sphere, you are planning to work in, the preparation level, the face you are a beginner or a team lead – this book provides any code-related person with valuable information.
The C Programming Language
«The C Programming Language» (also known as K&R) is the book by Brian Kernighan and Dennis Ritchie. The latter is one of the authors and creators of the C programming language.
Actually, the book became the fundamental of C development and popularization. Even now, it stands for an in-demand book and is widely used as a classic language book. For a long time, the book has been the only reference guide and, in fact, the language standard.
The Pragmatic Programmer: From Journeyman to Master
Another representative of the programmer’s literature, where three hundred pages systematically describe the basic principles of creating high-quality code and the conditions under which you will enjoy work, and the client from the results. The book is written in a pleasant language, so a lot of time for its development will not go away.
Soft Skills: The Software Developer’s Life Manual
Almost every developer was followed by a desire to create and see how the symbols transform into applications. However, you can face the flipside here: high competition, hard relations with customers, colleagues, executive management, and financial uncertainty. All these aspects of the dark side are covered by John Sonmez in his book.
Structure and Interpretation of Computer Programs
This book covers writing the code based on the basic principles. It means that you will see algorithms, the interaction between the application environment and local machine, and, subsequently, you will be provided with the optimization methods for your future code.
Despite the topic’s generatily, this book is considered useful for both beginners and experienced developers among the developers community.
Cracking the Coding Interview: 189 Programming Interview Questions and Solution
This book provides 189 most-oft asked questions during the interviews in IT companies. The answers are attached. It helps you both train your skills and understand the mindset in Amazon, Apple, Facebook, Google, and Microsoft.
It is a pretty good book for those people who start their programming path. In this book, the author describes the main stages of the development process in simple words: from idea to final testing.
Release it! Design and Deploy Production-ready Software
Now, we turn from serious and fundamental application principles to the practical side of software development. Specifically, you will learn about usability, performance, scalability, maintenance and so on. you will face real code examples by author, several Java code examples and professional pieces of advice and suggestions, both general and specific.
Coders at Work: Reflections on the Craft of Programming
If you have had a goal to watch other experienced developers working, then this book is a perfect fit for you. Fifteen developers in a lively interaction format tell about their attitude on profession, the future of programming and provide with the actual practical suggestions.
The Mythical Man-Month
In the USA, this book is the must-read one for any software developer. It was published in 1975, but the described stages, problems and suggestions on software development are useful even now.
It will be hardly useful for an experienced developer with at least a couple of years working in IT industry. However, it is a perfect choice for students and IT beginners to read this book.
Don’t Make Me Think
In case “The Mythical Man-Month” is a book for developers, then this book is like a bible for web-developers. The author covers such topics as website performance and attractiveness, suggestions for beginner, experienced programmers and team leads. Everyone will find it valuable reading this book of Steve Krug.