Effective Implementation of Object-Oriented Programming Languages