A historical and practical survey of quantum computing using QISKit