Un lenguaje interpretado es un tipo de lenguaje de programación que se basa en otra pieza de software llamada intérprete para ejecutarse. La mayoría de los lenguajes de programación se basan en un compilador, que cambia el código en un conjunto de instrucciones diseñadas específicamente para un tipo particular de máquina y sistema operativo. Cuando se escriben programas utilizando un lenguaje interpretado, el programa en sí es un archivo de texto con código y el intérprete actúa como intermediario, traduciendo las instrucciones en algo que la máquina pueda entender sobre la marcha. Los lenguajes interpretados tienen varias limitaciones en términos de rendimiento, pero también son más fáciles de trabajar e ideales para ciertos tipos de aplicaciones.
Hubo un tiempo en el que el uso de un idioma interpretado era a menudo muy cuestionable, principalmente debido a la velocidad. Durante la era en la que la potencia de procesamiento de las computadoras era escasa, los lenguajes interpretados tenían usos muy limitados porque consumían mucho más recursos. Con los lenguajes compilados, todo es más eficiente y directo porque los programas ya se han traducido a instrucciones amigables para la máquina. El proceso de compilación tiene que ocurrir cada vez que una persona ejecuta un programa interpretado, y el software de interpretación debe ejecutarse constantemente al mismo tiempo, lo que generalmente pone más énfasis en el rendimiento.
Los idiomas interpretados también tienen varias ventajas. Algunos de ellos son muy fáciles de aprender, como Python. Los programas creados con idiomas interpretados a veces pueden ser más fáciles de probar porque no tienen que cumplirse repetidamente y, por lo general, es más fácil realizar cambios en una pieza de software existente. En general, el proceso de trabajar con un idioma interpretado es más ágil, con tiempos de desarrollo más cortos y, a menudo, menos trabajo en general.
Otra ventaja importante de los idiomas interpretados es la fácil portabilidad. En términos generales, si existe una versión del intérprete para varios tipos diferentes de máquinas y sistemas operativos, entonces cualquier programa escrito en ese idioma se puede utilizar en una amplia variedad de plataformas. Por ejemplo, un programa escrito en un lenguaje interpretado podría ejecutarse en un sistema basado en Macintosh ™, Windows® o Linux® sin ninguna modificación.
A medida que mejoraron las velocidades de las computadoras, el uso de idiomas interpretados aumentó en general, pero aún existían ciertas limitaciones. Incluso con computadoras rápidas, un lenguaje interpretado no se considera ideal para ciertos tipos de aplicaciones, como los juegos. Algunos programas se crean utilizando una combinación de lenguajes interpretados y lenguajes compilados. En este tipo de implementaciones, el lenguaje interpretado solo puede manejar un pequeño aspecto de la funcionalidad, mientras que la mayoría del programa usa código compilado. Un ejemplo sería un juego con su propio intérprete incorporado para un lenguaje de secuencias de comandos que permite a los usuarios finales crear y modificar contenido fácilmente.