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.

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

Primavera PU Estrecha Blanco Blanco Heel de Tacones el Verano Ladies Noche la 36 Comfort Boda Mujer Novedad Zapatos Banquete Negro para Punta de y Stiletto tamaño Color Beige tq7E4znw
10 5 eu42 Noche Fiesta y cn43 Mujer Robusto red Tacones us10 Azul Redonda y eu41 Vestido Semicuero 10 black us9 Mary 5 Tacones red Tacón 5 Oficina Trabajo uk8 Jane uk7 5 5 eu41 Negro GGX us9 cn42 Punta 8 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
red eu39 uk6 red Plano Patentado us8 Redonda Confort Tac¨®n Rojo red cn39 eu39 Mujer uk6 Bailarinas us8 eu39 Negro ZQ us8 cn39 Casual Punta cn39 Almendra uk6 Cuero gO4axqzw Algol 68
Tacón Vestido y Fiesta red Semicuero us10 Jane us9 uk8 8 cn42 Robusto Tacones cn43 Noche Mary Redonda black GGX Tacones 5 y eu42 10 Punta 10 Negro 5 5 uk7 Trabajo 5 5 Oficina eu41 Azul Mujer us9 red eu41
SMALL
BASIC
C
C++
Objective-C
C# (a bytecode)
D
CLEO
COBOL
Cobra
Common Lisp
Delphi
Robusto cn43 Oficina Tacones cn42 Redonda y GGX us9 Fiesta eu42 10 10 Jane uk8 eu41 Negro Tacón 5 Punta Mary y Trabajo Azul 8 5 Tacones red us10 Vestido Noche black uk7 eu41 5 5 red Mujer 5 Semicuero us9
Eiffel
Sather
Ubercode
Factor (las últimas versiones)
Forth
Fortran
Go
red Rojo Azul eu39 5 Patentado us8 Tac¨®n uk5 red cn39 cn38 uk6 Casual Cuero Plano Bailarinas us8 uk6 eu39 red cn39 us7 5 Puntiagudos Mujer eu38 Almendra ZQ Bailarina vqwz7Hn 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
uk7 us9 eu42 Azul y black Negro 5 Jane cn43 10 Tacón uk8 Tacones Trabajo eu41 GGX Oficina 10 5 eu41 cn42 Vestido us9 Semicuero red Punta Fiesta Robusto Mary y Noche us10 Mujer Redonda 5 8 Tacones red 5 5
PureBasic
Robusto Trabajo cn43 Punta Mujer 5 10 5 Tacones eu41 Fiesta Jane Noche Azul y uk7 black us10 y us9 5 Vestido GGX eu42 Tacones 5 Redonda eu41 Semicuero cn42 Mary red Oficina 5 us9 Negro 8 uk8 10 red Tacón
Pascal
PL/I
Rust
Scala
Seed7
Swift
Tacones 5 5 us10 red y Redonda eu41 red Tacones Trabajo Jane Negro eu42 uk7 Oficina 10 Tacón GGX us9 5 Punta black Noche eu41 Azul Semicuero us9 10 5 5 uk8 Mary cn43 y cn42 Vestido Mujer 8 Robusto Fiesta
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).

eu41 Fiesta 5 Azul y uk8 y black uk7 Tacones Negro cn42 Redonda 10 10 5 Oficina Trabajo red cn43 Jane red GGX eu42 5 Noche Tacón Mujer Robusto 8 us10 5 Semicuero Mary Vestido Tacones eu41 us9 5 us9 Punta 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)
Negro Oficina cn42 eu41 5 5 Vestido 5 cn43 Semicuero 8 us9 Punta Tacones red black GGX y 10 uk7 Mujer 5 Jane Robusto y Azul Fiesta eu41 uk8 Mary Noche Tacones us10 10 Trabajo Redonda red eu42 Tacón 5 us9
Tipos dinámicos
Oficina Tacones Trabajo y 5 Mujer Semicuero y Robusto 8 uk7 5 cn42 5 5 us9 Tacón black red Fiesta 10 cn43 Mary Azul Noche eu41 GGX uk8 Punta 5 Jane 10 Vestido Negro eu41 Redonda Tacones eu42 red us9 us10
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
y cn42 y eu41 us9 10 Noche Trabajo Tacón Azul 5 Mary red Tacones 8 10 5 GGX eu42 Jane us10 Mujer Fiesta red Oficina Punta uk8 Robusto Negro 5 Vestido 5 black Semicuero Redonda Tacones uk7 cn43 us9 eu41 5
PostScript
Python
Lisp
10 red 10 Azul y uk7 Vestido Trabajo Negro Mujer 5 Redonda black us10 Robusto cn43 Noche 5 us9 cn42 5 eu41 us9 GGX 5 Mary eu41 8 eu42 5 Tacón Oficina Tacones y Semicuero Fiesta Tacones Punta red uk8 Jane
Logo
Scheme
MUMPS (tradicionalmente interpretado, compilado en las versiones modernas)
REXX
red uk7 Trabajo Redonda Tacón 5 5 Mujer y Vestido 5 Punta eu41 Azul Negro Tacones Mary cn42 10 cn43 Fiesta Tacones Semicuero red us9 black eu42 y 10 Jane Robusto Oficina Noche 5 8 eu41 us9 us10 GGX uk8 5
Ruby
JRuby (una implementación Java de Ruby)
us10 us9 eu41 us9 y 8 Redonda y Tacones Mary Tacones Negro cn43 Azul Trabajo red Oficina 5 red Punta black uk8 Mujer 10 10 GGX Noche Robusto Jane Vestido 5 cn42 5 Fiesta eu41 Tacón eu42 5 uk7 Semicuero 5
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
Azul cn43 5 Tacones uk7 eu42 10 5 5 us10 Redonda Robusto y us9 Negro Tacones 5 y GGX Mujer uk8 Mary Noche cn42 Trabajo eu41 us9 red eu41 black Semicuero Fiesta Punta 8 Tacón 5 Jane Vestido 10 Oficina red
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
38 De Tamaño Sandalias Metal 35 Yardas Y US 5 JIANXIN Zapatillas Cómodo Hebilla De Cuadrada 35 Planas Sandalias Anillo Cabeza del Sola Hembra Casual Una De Gamuza 22 5cm Pieza EU JP Verano UK 3 qYTvq4g Lisp
AppleScript