Synchronous programming language

Synchronous circuits are indeed designed at a high level of abstraction where the timing characteristics of the electronic transistors are neglected.

The first synchronous programming languages were invented in France in the 1980s: Esterel, Lustre, and SIGNAL.

At a more fundamental level, the synchronous abstraction eliminates the non-determinism resulting from the interleaving of concurrent behaviors.

The drawback with an asynchronous model is that it intrinsically forbids deterministic semantics (e.g., race conditions), which makes formal reasoning such as analysis and verification more complex.

An example would be systems based on the Communicating sequential processes (CSP) model, which allows deterministic (external) and nondeterministic (internal) choice.