Programming languages that use the object-oriented approach have been around for quite a while
now. Most of them use either a static or a dynamic type system. However both types are very
common in the industry. But in spite of their common use in science and practice only very
few scientific studies have tried to evaluate the two type systems' usefulness in certain
scenarios. There are arguments for both systems. For example static type systems are said to
aid the programmer in the prevention of type errors and further they provide documentation
help for there is an explicit need to annotate variables and methods with their respective
types.This book describes a controlled experiment that was conducted to shed some light into
the presented matter. Which of the type systems can live up to its promises? Is one of these
better suited for a particular task? And which type system is the most supportive in a problem
solving? The main hypothesis claims that a static type system is faster in a problem solving in
use of an undocumented API. Thus in the study the participants need to solve different
programming tasks in an undocumented API environment with the help of the static type system
(Java) and the dynamic type system (Groovy).The author starts with a short introduction to the
topic the experimentation and the motivation. Then he describes a list of related works and
proceeds to the description of the experiment its evaluation and finally the discussion of
the results. This book should prove interesting reading for anyone who is interested in the
mechanics that drive programmer productivity and performance that depend on the kind of
technology used as well as for anyone who might be interested in empirical research in
software engineering in general.