Vous êtes sur la page 1sur 5

Universidad Nacional Experimental de Guayana

Vicerrectorado Académico- Puerto Ordaz

Proyecto de Carrera - Ingeniería Informática

Unidad Curricular: Fundamento de la programación

Lenguajes de
Programación
Profesor: Alumna:

Luis Estraño Isabel Español

Marzo, 2018

“El presente escrito tiene como finalidad de definir un lenguaje de programación como un conjunto de
reglas, símbolos y palabras especiales que permiten construir un programa, donde las combinaciones
aceptables en los lenguajes pueden ser empleadas correctamente por medio de los tipos de análisis
donde pretende dar visión de las estructuras de información y las secuencias de acciones necesarias
para ejecutar una tarea concreta “ .
os lenguajes de programación emplean juegos de caracteres “ alfabeto “ para comunicarse con

L
las computadoras, por ende, los primeros programas se escribieron en este tipo de códigos
denominándose código máquina, y, basado en dígitos de 0 y 1 entendible por la máquina
directamente, ocasionó el surgimiento de los lenguajes de programación por la enojosa labor de
la programación en dicho código, promoviendo los métodos de correspondencia como son los
códigos entendibles conocidos hoy día como ASCII( American Standard Code For Information
Interchange) que comprende de 7 bits, capaz de representar un total 128 caracteres distintos y el
EBCDIC ( Extended Binary Coded Decimal Interchange code ) con 8 bits que equivaldría al código
ASCII ampliado que consta de 256 caracteres. Son dos de los lenguajes más empleados y
similares al del lenguaje humano.

De este modo, una computadora a través de diferentes lenguajes de programación emplean


caracteres fácilmente interpretados por el computador y que puedan ser programadas por el usuario;
esto promueve la complejidad cognitiva por parte del usuario y la complejidad ciclomática que pende
exclusivamente de la interpretación de los comandos emitidos en el computador, es por ello que un
lenguaje de programación consiste en un conjunto de órdenes que describen el proceso deseado, cada
lenguaje tiene instrucciones y enunciados verbales propios que, combinados forman lenguajes de
cómputo. Es relevante destacar que los lenguajes de programación no son aplicaciones, sino
herramientas que tan solo permiten construir y adecuar aplicaciones.

Existen diversos lenguajes y paradigmas de programación que se han diseñado con el propósito de
hacer fácil la tarea de la programación en diferentes ámbitos. Como muestra de ello, la programación
orientada a objetos es un paradigma dirigido al mejoramiento de la calidad del software por medio de
la observación de los aspectos del mismo; en cuanto a la programación lógica, tenemos, pues, que la
expresión de este paradigma es en términos lógicos para una solución final a partir de métodos de
inferencia.

En este sentido, cada práctica de programación es implementado a través de diversos lenguajes que
radican en cuatros modelos básicos de computación, que serán expuestos a continuación: 1) Lenguajes
imperativos o de procedimiento, son lenguajes controlados por instrucciones donde la ejecución de cada
enunciado hace que el intérprete pase a un nuevo estado de la máquina para hallar una solución; tales
lenguajes son C, C++, FORTRAN, ANGOL,PL/I, Pascal, Ada, Smaltalk, COBOL que manejan este modelo; 2)
Lenguajes aplicativo, se basa en examinación de funciones que el programa representa a partir de los
estados que deberá pasar la máquina para obtener soluciones;3) Lenguajes a base en reglas, se
ejecutan verificando la presencia de un acierta condición que al satisfacerse, ejecutan de tal manera
una acción adecuada, un ejemplo de este tipo de lenguaje es Prolog, del que se le atribuye como un
programa meramente lógico, la similitud con los lenguajes imperativos es en la ejecución; exceptuando
que, los enunciados no son secuenciales; 4) Programación orientada a objetos, es un tipo de lenguaje por
el que se construye objetos complejos de datos y seguidamente se designa un conjunto limitado de
funciones que dominen esos datos de forma operativa; es decir, “los objetos van designando extensiones
de otros objetos como herencia de las propiedades de los mismos, y así va ganando la eficiencia de los
lenguajes imperativos por construcción de clases de funciones y flexibilizando la confiabilidad del
modelo aplicativo”.

Dado a una amplia gama de lenguajes de programación, podemos apreciar que, cuando surge la
primera computadora, el famoso Eniac , remonta una programación en componentes físicos, que al
programarse se cambiaba el Hardware para luego obtener la programación binaria, por tal motivo se les
denota “ Lenguajes máquina” y los “Lenguajes ensambladores” ( bajo nivel) como ( primera y segunda
generación dependiente de la máquina. Sin embargo, se requiere de un conocimiento de la arquitectura
mecánica para hacer efectiva la programación en cualquier nivel del lenguaje.

El proceso de traducción de un programa, de su sintaxis original a una forma ejecutable se agrupa de


acuerdo con el número de pasos que se efectúan sobre el programa fuente, donde el compilador
estándar emplea dos pasos sobre el programa fuente, el primer paso de análisis descompone el programa
para obtener información del mismo, y, consecuentemente, genera un programa objeto a partir de la
información recopilada; este es el segundo paso cuya relevancia es elemental para (traducción-
compilación); en términos generales, el traductor procesa el lenguaje dado que acepta programas en
cierto lenguaje fuente ( puede ser de alto o de bajo nivel) donde hay tipos especializados de traductores,
un ensamblador es un traductor cuyo lenguaje objeto es una representación simbólica del código
máquina objeto , donde un compilador es un traductor cuyo lenguaje fuente es un lenguaje de alto nivel
y cuyo lenguaje objeto se aproxima a lenguaje máquina de una computadora; por ejemplo, El C se
compila a un lenguaje ensamblador , que, luego es convertido en lenguaje máquina por un ensamblado.
En al caso de un cargador o editor de vínculos, es un traductor cuyo lenguaje objeto es un código de
máquina real y cuyo lenguaje fuente es casi idéntico, bajo esta misma tendencia, se encuentra los
preprocesadores o un macroprocesador que es un traductor cuyo lenguaje es de alto nivel donde se
estructura en subprogramas, enunciados y declaraciones, que, durante la traducción analiza la
estructura del programa. Ahora bien, la fase fundamental de cualquier traducción es agrupar una serie
de caracteres que implica el análisis léxico donde el analizador o revisor lee reglones sucesivos de
entrada, descomponiéndolo de tal forma que identifique el tipo de cada elemento léxico para adjuntarlo
y, además suele hacer la conversión a una representación interna en forma binaria e identificadores de
símbolos que satisfagan las cadenas de caracteres, la finalidad de análisis léxico es “simplemente de
explorar y analizar el programa fuente carácter por carácter”. Por otro lado, el análisis sintáctico (
parsing) es la segunda etapa de la traducción que engloba identificaciones de las estructuras de
programas más grandes , dos analizadores (sintáctico y semántico) crean un monomio usando una pila,
donde el primero introduce en la pila los diversos elementos de unidad sintáctica hallada y el segundo,
los recupera y los procesa; en contraste , el análisis semántico es tal vez la médula del procesamiento; es
decir, aquí se procesan las estructuras sintácticas reconocidas por el analizador sintáctico y la
estructura del código objeto ejecutable; cabe destacar que el analizador semántico puede producir en
efecto el código ejecutable en sencillas traducciones para una optimización del traductor antes de
generarlo, esto explica que los analizadores semánticos varía según el lenguaje y la organización lógica
del traductor.

Luego de optimizarse el programa traducido, dícese como generación y optimización de códigos, el


optimizador de códigos realiza modificaciones sobre el código intermedio para mejorar la eficiencia en
velocidad y el generador de códigos intermedio transforma un árbol semántico a una representación en
un lenguaje intermedio cercano al código objeto; en la representación interna se debe transformar en
los enunciados en lenguaje ensamblador, código máquina u otra forma de programa objeto que va a
construir la salida de la traducción; este proceso implica dar el formato apropiado a la salida con base
en la información que contiene la representación interna del programa. En cualquier lenguaje de alto
nivel en que se escriba un programa, éste debe ser traducido a lenguaje máquina antes de que pueda
ser ejecutado, esta conversión de instrucciones de alto nivel a instrucciones a nivel máquina se hace
por programas de software del sistema denominados compiladores e intérpretes; en síntesis, un
compilador es un programa que se lee y traduce el programa fuente ( conjunto de instrucciones de un
lenguaje de alto nivel como Pascal ) a programa objeto ( instrucciones en lenguaje máquina que el
computador pueda interpretar y ejecutar, de bajo nivel) en el cual generará una lista de los posibles
errores (bugs) que tenga el programa fuente, los compiladores proporcionan mayor detalle de los
errores, mayor consumo de memoria y mayor velocidad de ejecución tras una única compilación; en
cambio, los intérpretes no proporcionan mayor detalles de los errores .Hay varios tipos de compiladores:
Ensambladores, compilador cruzado, compilador con montador, auto compilador, metacompilador y
descompilador.

No obstante, el compilador efectúa solo la traducción; mas no la ejecución del programa; es allí; que
interviene los intérpretes, los lenguajes de programación además de ser compilados pueden ser
interpretados, un intérprete es un programa que procesa los programas escritos en un lenguaje de alto
nivel, sin embargo, no es independiente entre la etapa de traducción y de ejecución, básicamente realiza
la función de: “ traducir cada instrucción o sentencia del programa escrito en un lenguaje a código
máquina e inmediatamente se ejecuta y sigue mismo proceso con la siguiente sentencia “ durante cada
ciclo, el intérprete obtiene la dirección de la instrucción siguiente del registro de direcciones del
programa tomando operando designados, el intérprete ocupa lugar en la memoria principal (RAM) junto
con el programa usuario. En primer lugar, los programadores desarrollan y depuran los programas
utilizando un intérprete interactivo como BASIC. Para desarrolladores, emuladores de Android es un
sistema operativo abierto para dispositivos móviles, se propaga principalmente en Java y su núcleo está
basado en Linux, para el desarrollo de aplicaciones Android Software Development Toolkint. Un punto
clave al momento de desarrollar aplicaciones para dispositivos móviles es la existencia de aplicaciones
conocidas como emuladores, ya que, por lo general están disponibles para sistema de escritorio y
emulan tanto el sistema operativo como la funcionalidad del dispositivo. Existen entornos IDEs de
desarrollo que incorporan emuladores en dispositivos móviles donde no solo es posibles la edición y
depuración del código fuente, sino que previsualisa en un dispositivo simulado la ejecución del código.

Para finalizar, actualmente existe en el mercado diversos lenguajes de programación que van desde C
y C++ hasta BASIC, pasando por Java, las aplicaciones pueden ser desarrolladas y probadas por
emuladores ; así como la estructura de un compilador en cuanto a su independencia física posee tabla
de símbolos, análisis léxico, análisis sintáctico, análisis semántico, Generador de códigos intermedio y
gestión de errores; por otro lado, la dependencia física abarca desde la optimización de código
intermedio hasta la generación de código objeto; donde los bloque básicos permite la optimización más
compleja de los códigos y con ello se hace referencia a los distintos tópicos de estudio presentados en
este ensayo.

Referencias bibliográficas
ProcesadoresDeLenguajeTema8-3xpagina.pdf
Luis Joyanes Aguilar QA. 9.58. J68 , 2008, e.3

Vous aimerez peut-être aussi