You are on page 1of 5

Lenguaje de Programación

Es un conjunto de sintaxis y reglas semánticas que definen los programas


del computador, permite al programador dar la capacidad de especificarle al
computador, que tipos de datos actúan y que acciones tomar bajo una
variada gama. Un programa escrito en un lenguaje de programación
necesita de un proceso de compilación, interpretación o intermedio, es decir,
ser traducido al lenguaje de máquina para que pueda ser ejecutado por el
ordenador.

Lenguajes interpretados (Interpretes) como Basic, Dbase.


Lenguajes compilados (Compiladores) como C, C++, Clipper.
Lenguajes interpretados con recolectores de basura (Maquina Virtual) como Smalltalk,
Java, Ocaml.
Lenguajes Scripts (Motor de ejecución) como Perl, PhP.

Lenguajes Imperativos o procedurales

Es un modelo abstracto, son un conjunto de instrucciones que le indican al computador


cómo realizar. Ejecutan las instrucciones de manera secuencial, salvo que se encuentren
estructuras de control condicionales o bucles. Algunos lenguajes permiten que no haya
declaraciones mientras que otros si las exigen. Este tipo de lenguajes son de la tercera
generación y los algoritmos pueden expresarse en lenguaje natural. En este tipo de
lenguajes no importa el resultado, si no el conjunto de instrucciones que indican lo que se
tiene que hacer, convirtiendo los datos de entrada en datos de salida finales.

Algunos lenguajes que representan este tipo sin C, C#, Cobol, Fortran, Java, Perl, Visual
Basic.
Los datos: elemento de información que puede obtener un valor dentro de
un conjunto de valores.

Para llevar a cabo el almacenamiento de datos dentro de la memória, se


utilizan una série de elementos o entidades: las constantes y las variables. A
continuación se define cada una de ellas:

Constantes: almacenan un dato que permanecerá intacto o constante en la


memoria durante la duración de la ejecución de un programa.
2
Variables: almacenan un dato el valor del cual puede variar en la memoria durante el
tiempo de ejecucuión del programa.

Sintaxis del Lenguaje

Declaración de variables y constantes:


<declaración> ::= const
<sec_const_declaración>
var
<sec_var_declaración>

<sec_var_declaración> ::= <var_declaración>;


| <sec_var_declaración>; <var_declaración>;

<sec_const_declaración> ::= <const_declaración>;


| <sec_const_declaración>; <const_declaración>;

<var_declaración> ::= <VarId> : <Tipo> [:= <expresión>]


<const_declaración> ::= <ConstId> : <Tipo> := <expresión>
Lenguajes declarativos

En este caso se da el “que” pero deja el “como” liberado a la


implementación particular del interprete. Este tipo de programación tiene
dos fases, la declaración y la interpretación.

En este caso no existe una descripción paso a paso de cómo se debe resolver, solo importa
el resultado, y habitualmente se suelen incluir características operacionales para mejorar la
eficiencia en la resolución de problemas.

Dentro de este paradigma se puede distinguir lenguajes como Prolog, SQL, Erlang, HTML.
Otros ejemplos de este tipo de lenguajes son las hojas de cálculo y lenguajes de consulta
3
para bases de datos relacionales.

Compilador

Proceso de traducción que convierte un programa fuente escrito en un lenguaje de alto


nivel a un programa objeto en código máquina y listo para ejecutarse en el ordenador, con
poca o ninguna preparación adicional.

Lee totalmente un programa escrito en un lenguaje (lenguaje fuente) y lo traduce a un


programa equivalente a otro lenguaje, lenguaje objeto. El compilador informara de errores
encontrados en el código fuente del programa.

Algunos compiladores son Turbo Pascal, Dev C, Turbo C.

Interprete

Realiza la operación de compilación paso a paso. Para cada sentencia que compone el
texto de entrada, realiza la traducción y ejecuta la sentencia y vuelve a iniciar el proceso
con la siguiente sentencia. Lee línea por línea y lo traduce a un código intermedio para
poder ejecutarlo. Los programas que son interpretados suelen ser más lentos que los
compilados. En conclusión el intérprete no genera código o no lo traduce a otro lenguaje
sino que lo ejecuta.

Algunos ejemplos de Intérpretes son los navegadores de internet, las líneas de comandos
SQL.
Ensamblador

Está a un paso del lenguaje máquina. Traduce cada sentencia del lenguaje ensamblador a
una instrucción de máquina. Los programadores deben estar bien familiarizados con la
arquitectura del computador. Es dependiente del hardware, y varía de acuerdo a cada CPU.

Máquinas Virtuales

Nos permite ejecutar software que está disponible en otra plataforma. En Java la máquina 4
virtual es presentada como un intérprete de instrucciones.

Las máquinas virtuales se pueden clasificar en dos grandes categorías según su


funcionalidad y su grado de equivalencia a una verdadera máquina.

 Máquinas virtuales de sistema (en inglés System Virtual Machine)


 Máquinas virtuales de proceso (en inglés Process Virtual Machine)

Una máquina virtual es una computadora abstracta, una computadora o máquina emulada
a partir de software. Es por esto que a partir del uso de máquinas virtuales surge el
término de portabilidad.

Ejemplo de Máquinas Virtuales son la VM/370 (de Seawrigth y MacKinnon, [10]), donde las
máquina virtuales, que se ejecutan sobre la IBM 370, ofrecen una copia exacta de la IBM
370.
5

Se
pue
den
divid
ir en dos partes:

Front End (etapa inicial): Analiza el código fuente, comprueba su validez, genera el árbol de
derivación y rellena los valores de la tabla de símbolos. Es independiente de la plataforma
o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas
entre el Análisis Léxico y la Generación de Código Intermedio.

Back-end: Es la parte que genera el código máquina, específico de una plataforma, a partir
de los resultados de la fase de análisis, realizada por el Front-End.

You might also like