Un dialecto de programación es una variación (relativamente pequeña) o una extensión de un
Lenguaje de programación que no cambia su naturaleza intrínseca.
En lenguajes como
Scheme o
Forth, las normas o estandares se puede considerar insuficientes, inadecuados o ilegítimos, incluso por los implementadores, por lo que a menudo se desvían de la norma o del estandar, creando un nuevo dialecto.
En otros casos, un dialecto se crea para su uso en algunos
Lenguaje específico del dominio, a menudo un subconjunto.
En el mundo de
Lisp, la mayoría de los lenguajes que utilizan la expresión básica
Expresión S y una semántica similar a Lisp se consideran dialectos de Lisp, a pesar de que varían ampliamente, como lo hacen, por ejemplo, Bigloo Scheme, newLISP o
Emacs Lisp.
Es muy común que un lenguaje llegue a tener varios dialectos, hasta el punto en que puede llegar a ser bastante difícil para un programador sin experiencia encontrar la documentación necesaria.
Otro ejemplo de un lenguaje con muchos dialectos es
BASIC.