Tricky Uses of a Paradigm

Tricky uses of a paradigm are a tell that something is wrong with the paradigm being used.

Loops vs. Recursion

It has been discovered that Loops are a subset of Recursion.

Who cares?

Engineers and Implementors care.

Normal people don’t care.

CEOs don’t care.

Non-programmers don’t care.


Continuations can be used to describe control-flow using the functional paradigm.

Who cares?

Normal people don’t care.

Thread Libraries

Thread libraries can be used to force-fit concurrency into the functional paradigm.

Who cares?

Normal people don’t care.

Normal people use concurrency in their day-to-day lives (e.g. cooking recipes) without thinking about the details.

Architects need to capture concurrency requirements specified by “normal people” and need to translate such details into Engineering requirements.


Ideally, there should not be a large gap between requirements specified by customers and details required at the Engineering levels.

The flow of requirements from customers to Architects to Engineers to Implementors should contain a smooth flow of provenance (being able to track customer requirements to their Implementation details).

If the mapping from customer requirements to Implementation cannot be performed in one smooth step, then a series of steps - layers - should be used.

See Also

Table of Contents