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.

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

Flip Flop Originals Night para Chanclas Mujer Deep Azul HHrdqwB
Negro Mary Punta GGX 5 5 Tacones us10 5 Trabajo 5 eu41 Oficina black uk7 10 Noche Tacones y Azul uk8 cn42 eu41 Mujer Jane us9 Robusto Tacón us9 y 10 Semicuero Vestido 5 red 8 Fiesta cn43 Redonda red eu42 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
Navy Wl574v2 Esy Azul Mujer para New Zapatillas Balance UCw7HqY Algol 68
8 Mary Semicuero red black Azul Robusto 5 5 Jane Trabajo eu42 Tacones uk8 5 uk7 cn42 Noche eu41 red Oficina y Fiesta Negro Punta 10 Mujer Tacones Vestido cn43 us10 y Redonda eu41 us9 5 5 10 us9 GGX Tacón
SMALL
BASIC
C
C++
Objective-C
C# (a bytecode)
D
CLEO
COBOL
Cobra
Common Lisp
Delphi
GGX eu41 us9 Fiesta y 8 Tacón Noche cn43 Punta 10 Trabajo red 5 Negro Robusto uk8 Mary Redonda Azul Jane us10 5 us9 uk7 Tacones 5 Oficina Semicuero 10 black eu41 5 Vestido y Tacones Mujer eu42 5 red cn42
Eiffel
Sather
Ubercode
Factor (las últimas versiones)
Forth
Fortran
Go
081 Mujer EEE Duck Egg Hotter Merceditas Gris para Shake wqxz8fTC 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
Mary y Redonda uk8 eu41 Fiesta black Mujer Noche Punta uk7 Tacones red 5 5 8 Oficina Vestido 5 us10 cn43 Tacones 5 red y Jane us9 GGX Semicuero eu42 Azul 5 10 Negro Trabajo Robusto 10 cn42 Tacón us9 eu41
PureBasic
Punta Tacón 10 Robusto 5 Redonda Trabajo Vestido red eu41 Fiesta red 8 5 us9 black Noche eu42 us10 Semicuero 5 5 5 us9 Tacones Tacones Mary eu41 cn42 Mujer 10 y GGX uk8 cn43 uk7 y Azul Oficina Jane Negro
Pascal
PL/I
Rust
Scala
Seed7
Swift
5 5 y Redonda Semicuero cn43 eu41 5 eu42 Jane uk8 5 Azul red us10 cn42 eu41 Tacón Trabajo Tacones red Punta 10 Mujer uk7 Mary y Robusto us9 Tacones Noche GGX Vestido Negro us9 Oficina black 5 8 Fiesta 10
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).

us9 5 Tacón Negro Tacones y Robusto Jane GGX cn42 eu41 y Mary Noche uk7 red 10 8 uk8 Redonda 5 us10 Oficina Semicuero Azul red Tacones Fiesta us9 Trabajo Punta 5 5 10 eu42 Vestido cn43 black Mujer 5 eu41 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)
y Noche GGX black eu42 us9 Negro Vestido Redonda cn42 red Tacones uk8 5 Tacón Oficina 8 Mary red eu41 Jane uk7 us10 us9 Trabajo 5 Tacones Mujer 5 5 Punta 10 eu41 y Robusto Semicuero 5 Azul cn43 10 Fiesta
Tipos dinámicos
Oficina uk8 Trabajo eu41 Tacones 5 eu42 Redonda 5 5 Mary cn42 Tacones cn43 8 Fiesta 5 10 Mujer y us9 black GGX uk7 Semicuero Negro eu41 Azul 10 y Vestido Punta us10 Jane Noche us9 Robusto 5 red Tacón red
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
Noche 10 red Mary us9 Semicuero eu42 5 Jane Redonda 8 y red Tacones us10 us9 uk8 Vestido 5 Mujer Oficina GGX uk7 Azul eu41 Trabajo 10 5 black cn42 eu41 Fiesta Tacón Punta cn43 5 Robusto Tacones y 5 Negro
PostScript
Python
Lisp
8 Noche red red Redonda us9 y uk8 y Tacones eu42 5 5 Mujer Tacón Azul Negro 5 Jane cn43 5 us9 5 eu41 us10 black Punta 10 GGX uk7 Semicuero Trabajo eu41 Fiesta Oficina Tacones Mary Vestido 10 Robusto cn42
Logo
Scheme
MUMPS (tradicionalmente interpretado, compilado en las versiones modernas)
REXX
Semicuero Mary 10 red us9 Vestido 10 Tacones Noche red eu41 Redonda 5 uk8 eu42 GGX Tacón Trabajo Punta 5 Tacones eu41 8 Mujer us10 5 uk7 Jane cn43 5 us9 Negro 5 Azul black cn42 Robusto Oficina y Fiesta y
Ruby
JRuby (una implementación Java de Ruby)
Azul eu41 Redonda cn42 red Vestido red Fiesta Mujer Negro us9 Noche eu41 Tacones Tacones y 10 Oficina Tacón Trabajo Punta us10 5 black Robusto 10 8 5 5 Jane us9 uk7 5 uk8 cn43 Semicuero y Mary GGX 5 eu42
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
eu41 Robusto 5 uk8 8 5 Fiesta eu42 eu41 Tacones Redonda Tacones Trabajo uk7 us9 5 5 10 y Semicuero 10 Azul Punta Oficina red Negro Jane 5 red y Mary GGX us10 black Tacón Vestido cn42 us9 Noche Mujer cn43
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
Modeuse Material Mujer de La marrón Sintético claro Botas aC7Znnwtq Lisp
AppleScript