This talk will be divided into two parts. First, I will walk through several examples that illustrate the power and ease of use of Cirq as a python framework for programming quantum computers. While Cirq can run computations on real quantum computers, it acts as an interface that is agnostic to its backend. I will show how it can be used to simulate medium scale quantum circuits, thanks to the high-performance simulator qsim. In the second part of the talk, I will give an update on the newest methods we have developed at Google for the simulation of relatively large scale quantum computations over instances that were until now considered infeasible to simulate.