Any decision in the design of both object-oriented programming languages (OOPLs) and their environments must face the choice between static and dynamic issues. The aim of this article is to discuss the implications of the static vs. dynamic choices. Despite the fact that dynamic choices induce runtime costs, the resulting flexibility permits the rapid prototyping of applications and reduces application development time. On the other hand, static strategies may even increase development time in applying early controls to all phases of development steps, but can greatly shorten maintenance and lifetime consistency phases.This article tries to establish a trafe-off between static and dynamic perspectives both to help programmers choose the mos...