Dicotomía de Ousterhout

Algunos ejemplos típicos de estos lenguajes son el C y el Modula-2.

Por el contrario, los lenguajes de "scripting" son lenguajes con tipificación dinámica de datos, que permiten poco o ningún uso de estructuras de datos complejas y son interpretados.

Muchos creen que ésta es una dicotomía bastante arbitraria, y se refieren a ésta como la "Falsa dicotomía de Ousterhout" o la "Falacia de Ousterhout".

Además, argumentan que ni la semántica ni la sintaxis dependen de cuándo el código es compilado a un lenguaje de máquina, es interpretado, separado en lexemas, compilado y luego ejecutado, o una mezcla de estas técnicas.

Muchos lenguajes han sido implementados haciendo uso de intérpretes y compiladores, incluyendo a Lisp, Forth, Pascal, Perl y Java.