Different Program Books Make Different Goals. My favorite are that there is a higher point to be made. My favorite books of this type have been made by Matthias Felleisen.
Little Schemer helped me to understand the though process more than learning a specific language.
How to Design Programs was super dense but it took me through the process of actually designing programs in a logical manner.
My favorite domain specific book has been: Hands-On Programming with R. It also was more about here is a logical problem and this is a way to solve it. http://shop.oreilly.com/product/0636920028574.do
For the Hadleyverse or Tiddyverse this is a starter book based on dplyr and other tools.
Hands-On Programming with R http://shop.oreilly.com/product/0636920028574.do#
Get dozens of book recommendations delivered straight to your inbox every Thursday.