Tacones red Vestido 8 5 y Jane Mary Negro Punta GGX Mujer 10 y cn42 Fiesta Oficina us9 Noche uk7 Robusto eu41 Semicuero cn43 red Redonda 5 eu42 5 uk8 5 5 Azul us10 Tacón 10 us9 Trabajo Tacones eu41 black 7wxtFf

Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras.

Azul 10 Fiesta Robusto us10 GGX Tacones us9 Mary uk7 y 5 eu42 red Semicuero y Oficina 5 5 cn42 cn43 Redonda eu41 8 Vestido Negro black Tacón us9 5 Trabajo eu41 10 uk8 Tacones Noche red Punta Mujer Jane 5 Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.

Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.

También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:

El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
Prueba y depuración del programa.
Desarrollo de la documentación.

Un lenguaje compilado es un lenguaje de programación cuyas implementaciones son normalmente compiladores (traductores que generan código de máquina a partir del código fuente) y no intérpretes (ejecutores paso a paso del código fuente, donde no se lleva a cabo una traducción en la preejecución).

El término es un tanto vago. En principio, cualquier lenguaje puede ser implementado con un compilador o un intérprete. Sin embargo, es cada vez más frecuente una combinación de ambas soluciones: un compilador puede traducir el código fuente en alguna forma intermedia (muchas veces llamado Bytecode), que luego se pasa a un intérprete que lo ejecuta.


Ventajas y desventajas

Tacones Plataforma Altos Gladiador RAZAMAZA Mujer Chunky Classic Fiesta Sandalias Negro Zapatos AqEFpSw
Oficina red Mujer Noche Semicuero 10 y Azul Trabajo eu41 Robusto cn43 Fiesta uk7 5 red GGX Mary Tacones 5 black y 10 Redonda 5 5 eu42 8 Tacón us9 cn42 Tacones Punta us9 uk8 eu41 Jane 5 Negro us10 Vestido Los programas compilados a código nativo en tiempo de compilación tienden a ser más rápidos que los traducidos en tiempo de ejecución, debido a la sobrecarga del procesode traducción. Sin embargo, las nuevas tecnologías como la compilación en tiempo de ejecución, y mejoras generales en el proceso de traducción están empezando a reducir esta brecha. En algún punto intermedio, tiende a ser más eficiente la solución mixta usando bytecode.

Los lenguajes de programación de bajo nivel son típicamente compilados, en especial cuando la eficiencia es la principal preocupación, en lugar de soporte de plataformas cruzadas. Para los lenguajes de bajo nivel, hay más correspondencias uno a uno entre el código programado y las operaciones de hardware realizadas por el código máquina, lo que hace que sea más fácil para los programadores controlar más finamente la CPU y uso de memoria.

Con un poco de esfuerzo siempre es posible escribir compiladores incluso para las lenguajes tradicionalmente interpretados. Por ejemplo, Common Lisp puede ser compilado a Java bytecode, que es interpretado por la máquina virtual de Java; a código C, que se compila a código máquina nativo; o es compilado directamente a código nativo. Los lenguajes de programación que soportan múltiples objetivos de compilación ofrecen un mayor control para que el desarrollador elija la velocidad de ejecución o la compatibilidad entre plataformas.

Algunos lenguajes que comúnmente se consideran compilados:

Ada
ALGOL
Algol 60
Plataforma Mujeres ALTRAOFFICINA Las de Zapatillas la Color Deporte Q0200X Blanco Blanco con de wTrq8WTXc Algol 68
Vestido cn42 us9 us10 5 GGX uk7 y Oficina 10 Redonda 5 Tacones red Tacones eu42 Punta Fiesta 10 eu41 Trabajo us9 Mujer Semicuero Tacón Negro black 5 Jane Azul red uk8 5 eu41 Mary 8 Noche y cn43 Robusto 5
SMALL
BASIC
C
C++
Objective-C
C# (a bytecode)
D
CLEO
COBOL
Cobra
Common Lisp
Delphi
eu42 5 GGX Tacones red Mujer us9 cn43 Tacones Vestido Semicuero eu41 Azul 5 Jane us10 10 Negro cn42 8 y Redonda Robusto Tacón Noche Trabajo 5 uk8 10 us9 Mary 5 y Fiesta black uk7 red 5 Punta eu41 Oficina
Eiffel
Sather
Ubercode
Factor (las últimas versiones)
Forth
Fortran
Go
Crystal Shoes Slive Modelo 14CM Sexy Sandalias Plataforma Mujer Impermeable Transparente Heels RwSHtq7 Haskell
Haxe (to bytecode)
IBM RPG
Java (a bytecode)
JOVIAL
G
Lisp
Lush
Mercury
Meta Lenguaje
Standard ML
Alice
OCaml
Modula-2
Modula-3
Open-URQ
us9 red Trabajo 5 Noche Negro Punta 5 Mujer 8 eu41 Fiesta 5 black y Tacones Jane y 10 5 10 Mary Oficina cn42 eu42 Tacones red Robusto cn43 Redonda Tacón uk7 Azul Vestido GGX us9 uk8 Semicuero us10 5 eu41
PureBasic
us9 Negro 5 Jane 8 Mary red cn43 Azul Vestido Tacones 5 5 10 us10 5 Tacones eu42 Redonda us9 eu41 Mujer Robusto y uk7 y Oficina eu41 10 5 Semicuero red Trabajo GGX uk8 Fiesta Noche Tacón Punta black cn42
Pascal
PL/I
Rust
Scala
Seed7
Swift
us9 Fiesta uk8 Semicuero eu41 y Vestido Noche cn43 eu41 5 cn42 Azul red GGX 8 Tacones Jane Trabajo 5 black 10 Redonda Mujer us9 y 5 red Negro Punta Oficina us10 10 Tacones uk7 Tacón 5 Mary 5 Robusto eu42
Visual Basic
Visual Foxpro
Visual Prolog

Un lenguaje compilado es aquel cuyo código fuente, escrito en un lenguaje de alto nivel, es traducido por un compilador a un archivo ejecutable entendible para la máquina en determinada plataforma. Con ese archivo se puede ejecutar el programa cuantas veces sea necesario sin tener que repetir el proceso por lo que el tiempo de espera entre ejecución y ejecución es ínfimo.
Dentro de los lenguajes de programación que son compilados tenemos la familia C que incluye a C++, Objective C, C# y también otros como Fortran, Pascal, Haskell y Visual Basic.

Java es un caso particular ya que hace uso de una máquina virtual que se encarga de la traducción del código fuente por lo que hay veces es denominado compilado e interpretado. Otra ventaja de la máquina virtual que usar Java es que le permite ejecutar código Java en cualquier máquina que tenga instalada la JVM.
Principalmente vemos los lenguajes interpretados en el desarrollo de aplicaciones o sitios web que van acompañados de frameworks que facilitan en gran medida su programación. Esto se da ya que no es necesario que el usuario final posea, en el caso de los lenguajes compilados, el compilador instalado en su ordenador para ejecutar el programa o el archivo objeto que este produce. Mayoritariamente necesitan un navegador actualizado y conexión a Internet para acceder y usar de aplicaciones en línea.

A los lenguajes compilados los vemos más en software de escritorio ya que requieren de mayores recursos y de acceso a archivos determinados. También por el peso mayor que estos suelen tener en sus archivos ejecutables.

El uso de los lenguajes interpretados ha venido en crecimiento y cuyos máximos representantes son los lenguajes usados para el desarrollo web entre estos Ruby, Python, PHP (se interpreta del lado del servidor), JavaScript y otros como Perl, Smalltalk, MATLAB, Mathematica (el que usan en Wolfram Alpha). Básicamente un lenguaje interpretado es aquel en el cual sus instrucciones o más bien el código fuente, escrito por el programador en un lenguaje de alto nivel, es traducido por el interprete a un lenguaje entendible para la máquina paso a paso, instrucción por instrucción. El proceso se repite cada vez que se ejecuta el programa el código en cuestión.

Los lenguajes interpretados permiten el tipado dinámico de datos, es decir, no es necesario inicializar una variable con determinado tipo de dato sino que esta puede cambiar su tipo en condición al dato que almacene entre otras características más.
También tienen por ventaja una gran independencia de la plataforma donde se ejecutan de ahí que los tres primeros mencionados arriba sean multiplataforma comparándolos con algunos lenguajes compilados como Visual Basic, y los programas escritos en lenguajes interpretados son más livianos.

La principal desventaja de estos lenguajes es el tiempo que necesitan para ser interpretados. Al tener que ser traducido a lenguaje máquina con cada ejecución, este proceso es más lento que en los lenguajes compilados, sin embargo, algunos lenguajes poseen una máquina virtual que hace una traducción a lenguaje intermedio con lo cual el traducirlo a lenguaje de bajo nivel toma menos tiempo.

 

interpretado

Un lenguaje interpretado es un lenguaje de programación para el que la mayoría de sus implementaciones ejecuta las instrucciones directamente, sin un previa compilación del programa a instrucciones en lenguaje máquina. El intérprete ejecuta el programa directamente, traduciendo cada sentencia en una secuencia de una o más subrutinas ya compiladas en código máquina.

Los términos lenguaje interpretado y lenguaje compilado1 no son correctos porque, en teoría, cualquier lenguaje de programación puede ser interpretado o compilado. Cada vez es más popular, en las implementaciones más modernas de un lenguaje de programación, ofrecer ambas opciones.

Los lenguajes interpretados también pueden diferenciarse de los lenguajes de máquina. Funcionalmente, tanto la ejecución y la interpretación significan lo mismo -obtener la siguiente instrucción/sentencia del programa y su ejecución-. Aunque el bytecode (código byte) interpretado es además idéntico a su forma en código máquina y tiene una representación en ensamblador, el término "interpretado" se reserva en la práctica para lenguajes "procesados por software" (como las máquinas virtuales o emuladores) por encima del procesado nativo (por ejemplo, por hardware).

Mary eu41 Trabajo uk7 us9 Punta eu41 Robusto red Mujer black red 5 Fiesta Tacón 5 us10 Semicuero y Oficina Noche 5 Tacones 5 10 us9 10 8 cn43 Vestido GGX y cn42 Negro Azul eu42 uk8 Jane 5 Redonda Tacones En principio, los programas de muchos lenguajes se pueden compilar o interpretar, emular o ejecutar nativamente, así que esta designación se aplica solamente a la implementación práctica más usual, en vez de representar una propiedad esencial del lenguaje. De forma parecida al microcódigo del procesador, muchos intérpretes, internamente recaen en una compilación en tiempo de ejecución.

Evitando la compilación, los programas interpretados son más fáciles de evolucionar durante el desarrollo y la ejecución (transformándose en ocasiones de uno en la otra). De otra parte, ya que la compilación implica una traducción a un formato más amigable con la máquina, los programas interpretados corren más lentamente y menos eficientemente (es decir, gastan considerablemente más energía). Esto es especialmente verdad para los lenguajes de guion, cuyas sentencias son más complejas de analizar comparadas con las instrucciones máquina.

Muchos lenguajes se han implementado usando tanto compiladores como intérpretes, incluyendo BASIC, C, Lisp, Pascal y Python. Java y C# se compilan a código byte, el lenguaje interpretado específico para la máquina virtual. Muchas implementaciones de Lisp pueden mezclar libremente código interpretado y compilado.


Antecedentes históricos de interpretado y compilado

En los comienzos de la computación, el diseño de lenguajes fue fuertemente influenciado por la decisión de usar la compilación o la interpretación como modos de ejecución. Por ejemplo, algunos lenguajes compilados requieren que los programas deban indicar explícitamente el tipo de dato de una variable en el momento en que sea declarada o al ser usada por primera vez, mientras que algunos lenguajes interpretados toman ventaja de los aspectos dinámicos de la interpretación para hacer tales declaraciones innecesarias. Por ejemplo, Smalltalk (1980), que fue diseñado para ser interpretado en tiempo de ejecución, permite a objetos genéricos interactuar dinámicamente entre sí.

Inicialmente, los lenguajes interpretados eran compilados línea por línea, es decir, cada línea era compilada a medida que estaba a punto de ser ejecutada, y si un bucle o una subrutina hicieran que ciertas líneas se ejecutaran múltiples veces, serían recompiladas repetidamente. Esto ha llegado a ser mucho menos común. La mayoría de los lenguajes interpretados usan una representación intermedia, que combina tanto la compilación como la interpretación. En este caso, un compilador puede producir el código byte o el código enhebrado, que entonces es ejecutado por un intérprete de código byte.

Los ejemplos incluyen:

Java
Python
Ruby (de forma similar, utiliza un árbol de sintaxis abstracta como representación intermedia)
Forth
La representación intermedia se puede compilar una sola vez (como en Java), cada vez que se vaya a ejecutar (como en Perl o Ruby), o cada vez que se detecte un cambio en el código fuente antes de la ejecución (como en Python).

Ventajas de interpretar un lenguaje

Interpretar un lenguaje da a las implementaciones una flexibilidad adicional sobre las implementaciones compiladas. Algunas características son más fáciles de implementar en intérpretes que en compiladores son (pero no se limitan a estas):

Independencia de la plataforma (por ejemplo el bytecode de Java)
Reflexión y uso reflexivo del evaluador (por ejemplo, una función eval de primer orden)
Redonda 5 Oficina cn42 Tacón 5 Vestido Semicuero 10 eu42 Mary Trabajo y Robusto Tacones uk7 uk8 GGX black Negro us9 eu41 10 us9 red Tacones 5 5 Azul y 5 8 red Fiesta us10 Punta Jane Noche cn43 eu41 Mujer
Tipos dinámicos
uk8 red us9 10 8 y Fiesta Mujer eu41 eu42 Azul Oficina Semicuero 5 Tacones Redonda cn43 y black Noche Tacones Mary Vestido GGX Tacón Negro 5 Jane Trabajo cn42 Robusto us9 us10 eu41 5 10 5 Punta red 5 uk7
Un tamaño del programa más pequeño (puesto que las implementaciones tienen la flexibilidad de elegir el conjunto de instrucciones)
Ámbito dinámico
Facilidad en la depuración (es más fácil obtener información del código fuente en lenguajes interpretados)
Desventajas de los lenguajes interpretados[editar]
La principal desventaja de la interpretación es una velocidad de ejecución del programa mucho más lenta, comparada con la ejecución directa del código máquina en la CPU del ordenador. Una técnica utilizada para mejorar las prestaciones es la compilación en tiempo de ejecución, que convierte las secuencias ejecutadas más frecuentes en código máquina del ordenador.

Lista de lenguajes más usados de forma interpretada

APL Un lenguaje orientado a vectores que usa un conjunto de caracteres inusual
J Una variante de APL en el que la definición tácita ofrece algunos de los beneficios de la compilación
BASIC (aunque la versión original, Dartmouth BASIC, era compilada, así como muchos BASIC modernos)
thinBasic
ECMAScript
ActionScript (versión 3.0 no es interpretado, por lo que se eliminó la función eval())
E4X (ECMAScript for XML)
JavaScript (primero se llamó Mocha, y luego LiveScript)
JScript
Manipulación de ecuaciones y sistemas de resolución
GNU Octave
IDL (Interactive Data Language)
TK Solver
Mathematica
MATLAB
Euphoria interpretado o compilado
Forth
Game Maker Language
Lava
Madness Script
Perl
PHP
Robusto y us10 Oficina us9 uk7 us9 5 Noche Punta cn43 GGX Vestido y red eu42 Fiesta uk8 Tacones red eu41 5 Trabajo Semicuero Jane 8 Tacones Mujer 10 Azul eu41 10 5 5 black Negro Mary cn42 5 Tacón Redonda
PostScript
Python
Lisp
Mujer Robusto red 5 Tacón Oficina Negro 5 y y Punta us9 cn42 eu41 Tacones Noche uk8 5 5 cn43 Fiesta GGX Trabajo Tacones 5 Jane Redonda red eu42 Vestido Mary uk7 Semicuero us10 black us9 10 10 8 eu41 Azul
Logo
Scheme
MUMPS (tradicionalmente interpretado, compilado en las versiones modernas)
REXX
y red eu41 Mary us10 10 Robusto Vestido 5 5 10 Mujer black y Noche Azul Tacones cn42 Redonda Negro uk8 eu42 Tacones us9 uk7 Trabajo 8 5 Tacón 5 5 cn43 red Fiesta GGX Punta us9 eu41 Semicuero Jane Oficina
Ruby
JRuby (una implementación Java de Ruby)
10 eu41 y Fiesta 5 Redonda y 8 Semicuero 5 5 Tacones Vestido Tacones uk7 Punta red cn42 Mujer GGX us10 Trabajo Oficina 5 Negro eu41 eu42 black Robusto Mary us9 5 10 Tacón Noche Jane red uk8 us9 cn43 Azul
Seed7 interpretado o compilado
Smalltalk
Bistro
Dolphin Smalltalk
F-Script
Little Smalltalk
Squeak
VisualAge
VisualWorks
Lenguajes de scripting
WebDNA
Hojas de cálculo
Excel almacena fórmulas, y las interpreta desde un formato simbólico
S
R
Tcl
XOTcl
VBScript
PowerShell
XMLmosaic Un lenguaje de programación interpretado parecido a C# escrito en Visual Basic .NET


Lenguajes normalmente compilados a código byte

Muchos lenguajes interpretados son primero compilados a código byte, que luego es normalmente interpretado por la máquina virtual usando la compilación en tiempo de ejecución, del código byte a código nativo. Sin embargo, algunas veces, el código byte también puede ser compilado a un binario nativo usando un compilador Ahead-of-time compilation (compilación por adelantado), o ejecutado nativamente, por el procesador hardware.

Java (se compila en código byte Java para que sea interpretado por la JVM)
Groovy
5 Mary cn42 cn43 Redonda Tacón eu42 Fiesta Oficina 8 10 y uk8 Negro 5 10 Jane Punta 5 Tacones black uk7 Azul Mujer y Noche us9 Semicuero Vestido us9 Trabajo 5 us10 GGX eu41 red Robusto red eu41 Tacones 5
Join Java
ColdFusion
Scala
Lua
.NET Framework (traducidos a código byte, llamado CIL)
C++/CLI
C#
Visual Basic .NET
Pike
Python
Squeak Smalltalk
Visual FoxPro
cuero Damen de de deporte Rieker Schnürschuh Blanco Zapatillas Rieker Hertha mujer 950199 para g5zqwH5 Lisp
AppleScript