study of programming abstractions 9286767