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.