Reading list: general programming