This book is useful if you are absolutely new to R language. R is very powerful functional programming environment for data analysis but it has its own quirks. People like me coming from procedural and object oriented language background got lost in R foundations like vector operations in the beginning. In fact I had almost decided to give up on R and adopt Python. Fortunately I persisted and got hold of this book. The book allowed me to learn the philosophy behind R language environment. It covers fundamentals of R. How to do vector operations, write functions, write For loops, call functions etc. The concepts like data frames are explained very well. You use R for data analysis (often large set of data). All the operations that are needed to access, write, modify the data set are explained. There is one catch though. Lot of powerful functionality of R is hidden in various libraries written by people. That means much of what you do will be done by using various function calls in various libraries. Although this book covers few basic functions, it only scratches the power. And to do any serious data analysis of real life messy data you need to use libraries like dplyr, caret, ggplot etc which are not mentioned in the book. For that you need to read another excellent book called "R for Data science" written by Grolemund and Wickham. You will need this book to do any serious work. So the conclusion is as a very first step in your R journey this "Hands on programming" book is very useful to make you productive quickly. But note that by no means this book is alone.