This is a good overview on concepts behind not only bitcoin, blockchain and Ripple, but also an overview of coding languages that can be used to program blockchain apps and processes.