Effectiveness measures how well language features serve their intended purposes. In practice, it means choosing compact, appropriate expressions that save development time, improve productivity, and often support correctness. section 1.2.3
Mistake: duplicating behavior. Separate constructors or methods may repeat the same knowledge, increasing cognitive load and allowing implementations to diverge. Reduce behavior implementations by identifying a minimal basis from which the others can be built. section 7.5
Centralize a Cylinder's behavior
A Cylinder with three constructors duplicates radius, height, area, and volume calculations. A safer design initializes radius and height once through init, then derives basearea and volume from those values. One calculation change no longer requires updating several constructors.
Mistake: underusing expressions. An if/else statement computes a result through control flow, while a ternary expression directly produces a value. Use the shorter form when it clarifies a value computation, without forcing every conditional into an expression. section 12.5
Compute an evenness label directly
Repeated if/else branches print either “even” or “odd.” The cleaned-up form places (isEven(n) ? "even" : "odd") directly in the output expression, removing duplicated output structure while keeping the decision visible.
Separate short-circuit cases
For mean, handle no values by throwing and one value by returning immediately. Leave the remaining path for the main summation, so base cases do not obscure the computation with unnecessary else nesting. section 12.6

