Books that would give a complete and comprehensive understanding of any programming language don’t exist. First, so much information can’t be put in one book. Second, knowing the language means understanding its structure and methodology, and not learning the lines of code and commands.
Thinking in Java, by Bruce Eckel
The Java programming language, by Ken Arnold, James Gosling
This one can be both a Java tutorial and reference book, depending on how you read it. The manual contains exercises for practice that will allow you to quickly understand the specifics of programming.
Learning Java, by Patrick Niemeyer, Daniel Leuck
This book contains a complete description of the language. On more than 1000 pages, the author describes each aspect of the language and client web applications. Each section considers the smallest details.
As you read this book and acquire the useful skills it contains, you’ll forget about the bad practices and techniques you’ve been using previously.
This book addresses the issues of productivity. Here the bottlenecks of performance are described in detail, as well as a number of recommendations on how to minimize their impact.
Frameworks and libraries
jQuery, jQuery UI, and jQuery Mobile, by Adriaan de Jonge and Phil Dutson
The book contains tips for using the jQuery framework to address common problems for web applications and mobile applications.
This is another book of tips for using jQuery. Each page solves a specific problem and illustrates how to use jQuery in this situation.
React: Up and Running, by Stoyan Stefanov
The book is devoted to studying React from the position of a web developer. This allows you to focus on learning React without being distracted by the new syntax or the use of additional tools.
ng-book, by Ari Lerner
In this book, the author explains the best practices that you need when developing on Angular2. Here, you’ll find real examples with source code explaining how it works.
Discover Meteor, by Sacha Greif and Tom Coleman
14 main chapters and 11 explanatory ones introduce you to the world of Meteor. Meteor is a full-fledged framework with its own separate universe of plug-in packages called Atmosphere.
Tips for choosing a book
Determine the aspects you want to learn
It’s the main step in choosing the right book. Web design is a pretty complicated subject, so there are no books that cover it completely. Most of them focus on particular aspects. In other words, each book focuses on its own matter, and you need to determine what knowledge you need at this point.
Pay attention to the publication date
Read reviews first
The best way to find out if the book is still relevant and contains the info you’re looking for is to read what others think about it. Once you read the reviews, you’ll know what to expect from the title. But you should use the reviews only to assess the quality of the book, and they shouldn’t become the decisive factor for you.
Combine theory and practice
When you want to learn something, you read the info about it twice or more. You keep reading it until you learn it by heart. But even the best JS books won’t guarantee you the best result, and there are other effective ways to make the information stay inside your head. You need to begin using your new knowledge in practice right away. There’s no better way to learn how to code than coding itself.