0% encontró este documento útil (0 votos)
81 vistas5 páginas

Introducción A Los Lenguajes de Programación: 1.1. Traductores de Lenguaje: El Proceso de Traducción de Un Programa

Este documento presenta una introducción a los lenguajes de programación y conceptos relacionados. Explica el proceso de traducción de programas, los tipos de traductores como compiladores e intérpretes, y resume la evolución de lenguajes populares como Fortran, COBOL, BASIC, C, Pascal, C++, Python, PHP y Java. También define paradigmas de programación como imperativo, declarativo y orientado a objetos, y describe conceptos como algoritmos, análisis de problemas, diseño de algoritmos y representaciones gráficas como diagramas

Cargado por

Luis Vqz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
81 vistas5 páginas

Introducción A Los Lenguajes de Programación: 1.1. Traductores de Lenguaje: El Proceso de Traducción de Un Programa

Este documento presenta una introducción a los lenguajes de programación y conceptos relacionados. Explica el proceso de traducción de programas, los tipos de traductores como compiladores e intérpretes, y resume la evolución de lenguajes populares como Fortran, COBOL, BASIC, C, Pascal, C++, Python, PHP y Java. También define paradigmas de programación como imperativo, declarativo y orientado a objetos, y describe conceptos como algoritmos, análisis de problemas, diseño de algoritmos y representaciones gráficas como diagramas

Cargado por

Luis Vqz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Introducción a los lenguajes de programación

1.1. Traductores de lenguaje: el proceso de traducción de un programa


El proceso de traducción de un programa fuente escrito en un lenguaje de alto nivel a un lenguaje máquina
comprensible por la computadora, se realiza mediante programas llamados “traductores”.
Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en lenguajes de
alto nivel a código máquina. Los traductores se dividen en compiladores e intérpretes.
Un intérprete es un traductor que toma un programa fuente, lo traduce y, a continuación, lo ejecuta . Los
programas intérpretes clásicos como BASIC, prácticamente ya no se utilizan, más que en circunstancias
especiales.

La compilación y sus fases


Un compilador es un programa que traduce los programas fuente escritos en lenguaje de alto nivel a
lenguaje máquina.

Evolución de los lenguajes de programación


Desde 1801 puede hablarse de lenguajes de programación, quizás no le da forma en la que hoy se conocen, pero sí
para comenzar a narrar la evolución de los lenguajes de programación.
1 – Fortran (1957)
FORmulaTRANslation es el lenguaje de programación más antiguo y que continúa en uso. Creada por John
Backus, esta herramienta fue desarrollada para la computación científica de alto nivel, matemáticas y estadísticas.
2 – Cobol (1959)
El Common Business Oriented Language está detrás de la mayoría de los sistemas de transacciones de negocio de
los procesos de las tarjetas de crédito, ATMs (Modo de Transferencia Asíncrona), telefonía, sistemas hospitalarios,
gobierno, sistemas automatizados y señales de tráfico.
3 – Basic (1964)
Creado por estudiantes de Dartmouth College, el denominado Beginners All Purpose Symbolic Instruction Code
fue diseñado como un lenguaje simplificado para aquellos que no tenían como base fuertes conocimientos técnicos
o matemáticos.
4 – C (1969)
Este lenguaje fue desarrollado entre 1969 y 1973 por Dennis Ritchie para los laboratorios Bell Telephone para
usarlos en el sistema Unix. Se le llamó «C» porque sus características derivaban de un lenguaje anterior llamado
«B».

5 – Pascal (1970)
El lenguaje se llamó así en honor de Blaise Pascal, el inventor de las calculadoras matemáticas, aunque su creador
se llamaba Niklaus Wirth, y lo desarrolló como una herramienta de enseñanza y formación, aunque tiene un uso
meramente comercial. Este lenguaje se usa en Skype.
6 – C++ (1983)
En los laboratorios Bells, Bjarne Stroustrup modificó el lenguaje C al C++, creando lo que muchos consideran el
lenguaje de programación más popular que ha existido nunca. Además, ha sido listado en lo alto de los top ten de
los lenguajes de programación desde 1986 y archivado en el Hall of Fame en 2003.
8 – Python (1991)
Monty Python sirvió de inspiración para nombrar este lenguaje. Guido Van Rossum lo creó para solucionar
problemas en el lenguaje ABC y continúa utilizándose para tal fin. Hoy en día es usado por la NASA, Google y
YouTube.
10 – PHP (1995)
Rasmus Lerdoff desarrolló PHP para reemplazar unos scripts de Perl usados para mantener su web personal.
11 – Java (1995)
Un grupo de trabajadores de Sun Microsystems, liderado por James Gosling, creó Java para arrancar los
decodificadores de una televisión interactiva.
13 – Ruby On Rails (2005)
Fue extraído por David Heinemeier Hansson de su trabajo en Basecamp, un proyecto dirigido por 37 señales.
Hasson lanzó Ruby On Rails, en principio, como código abierto, en 2004, pero no compartió los derechos hasta
febrero de 2005.

Paradigmas de programación

Un paradigma de programación es una manera o estilo de programación de software. Existen diferentes formas de
diseñar un lenguaje de programación y varios modos de trabajar para obtener los resultados que necesitan los
programadores. Se trata de un conjunto de métodos sistemáticos aplicables en todos los niveles del diseño de
programas para resolver problemas computacionales.

Paradigma imperativo
Los programas consisten en una sucesión de instrucciones o conjunto de sentencias, como si el programador diera
órdenes concretas. El desarrollador describe en el código paso por paso todo lo que hará su programa.
Algunos lenguajes: Pascal, COBOL, FORTRAN, C, C++, etc.

Paradigma declarativo
Este paradigma no necesita definir algoritmos puesto que describe el problema en lugar de encontrar una
solución al mismo. Este paradigma utiliza el principio del razonamiento lógico para responder a las preguntas o
cuestiones consultadas.
Programación orientada a objetos
En este modelo de paradigma se construyen modelos de objetos que representan elementos (objetos) del
problema a resolver, que tienen características y funciones. Permite separar los diferentes componentes de
un programa, simplificando así su creación, depuración y posteriores mejoras.
Programación reactiva
Este paradigma se basa en escuchar lo que emite un evento o cambios en el flujo de datos, en donde los objetos
reaccionan a los valores que reciben de dicho cambio. Las librerías más conocidas son Project Reactor, y RxJava.
React/Angular usan RxJs para hacer uso de la programación reactiva.

Metodología de la programación y desarrollo de software


Las metodologías de desarrollo de software se utilizan en el ámbito de la programación, entre otros, con el objetivo
de trabajar en equipo de manera organizada. Estas metodologías han ido evolucionando a lo largo del tiempo,
pasando de ser un mero trámite de organización a ser una base importantísima a la hora de desarrollar software de
una manera productiva y eficaz.
¿Qué es una metodología de desarrollo de software?
Las metodologías de desarrollo de software son un conjunto de técnicas y métodos organizativos que se aplican
para diseñar soluciones de software informático. El objetivo de las distintas metodologías es el de intentar
organizar los equipos de trabajo para que estos desarrollen las funciones de un programa de la mejor manera
posible.

Análisis del problema


El propósito del análisis de un problema es ayudar al programador (Analista) para llegar a una cierta
comprensión de la naturaleza del problema. Una buena definición del problema, junto con una descripción
detallada de las especificaciones de entrada/salida, son los requisitos más importantes para llegar a una solución
eficaz.
Para realizar el análisis del problema realizamos varios pasos:
 Definición del problema: Tenemos que entender y comprender la naturaleza del problema, tenemos que
dominar los conceptos con los que estamos trabajando y conocer que operaciones hay que realizar para
solucionar el problema y obtener la información de salida.
 Especificación de los datos de entrada: Hay que determinar que datos de entrada necesitamos para
resolver el problema.
 Especificación de los datos de salida: También hay que determinar los datos de salida que van a ofrecer
la solución del problema.

Concepto y características de los algoritmos


Un algoritmo es un conjunto de acciones que especifican la secuencia de operaciones realizar, en orden, para
resolver un problema.
Los algoritmos son independientes tanto del lenguaje de programación como del ordenador que los ejecuta.

Característica de los algoritmos


 Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
 Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado cada vez.
 Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o
sea, debe tener un número finito de pasos.

Diseño de algoritmo
Aunque en la solución de problemas sencillos parezca evidente la codificación en un lenguaje de programación
concreto, es aconsejable realizar el diseño del algoritmo, a partir del cual se codifique el programa.
Las soluciones a problemas más complejos pueden requerir muchos más pasos. Las estrategias seguidas
usualmente a la hora de encontrar algoritmos para problemas complejos son:
 Partición o divide y vencerás: consiste en dividir un problema grande en unidades más pequeñas que
puedan ser resueltas individualmente.
o Ejemplo: Podemos dividir el problema de limpiar una casa en labores más simple
correspondientes a limpiar cada habitación.
 Resolución por analogía: Dado un problema, se trata de recordar algún problema similar que ya esté
resuelto. Los dos problemas análogos pueden incluso pertenecer áreas de conocimiento totalmente
distintas.
o Ejemplo: El cálculo de la media de las temperaturas de las provincias andaluzas y la media de las
notas de los alumnos e una clase se realiza del mismo modo.
La descomposición del problema original en subproblemas más simples y a continuación dividir estos
subproblemas en otros más simples se denomina diseño descendente (top-down design). Tras la primera
descripción del problema (poco específica), se realiza una siguiente descripción mas detallada con más pasos
concretos. Este proceso se denomina refinamiento del algoritmo.

Representación gráfica de los algoritmos


 Un diagrama de flujo es una de las técnicas de representación gráfica de algoritmos más
antiguas. Ventajas: permite altos niveles de estructuración y modularización y es fácil de usar.
Desventajas: son difíciles de actualizar y se complican cuando el algoritmo es grande.

 El pseudocódigo, nos permite una aproximación del algoritmo al lenguaje natural y por tanto
una redacción rápida del mismo.

Diagramas de Nassi-Schneiderman (N-S)


Conocido como diagrama N-S, se considera como otra forma de representar algoritmos. Se basa en escribir las
instrucciones en bloques o cuadros de texto. Este diagrama también se conoce con el nombre de diagrama de
Chapin y es una combinación de la escritura en pseudocódigo y del diagrama de flujo.

Herramientas de programación
Las herramientas de programación, o herramienta de desarrollo de software, son programas informáticos que
los desarrolladores de software utilizan para crear, depurar, mantener, encontrar solución de errores, o apoyar
programas y aplicaciones.

Codificación de un programa
Una vez que los algoritmos de una aplicación han sido diseñados, ya se puede iniciar la fase de codificación. En
esta etapa se tienen que traducir dichos algoritmos a un lenguaje de programación específico C, C++, JAVA,
PYTHON, ETC.
Un lenguaje de programación se puede definir como un lenguaje artificial que permite escribir las
instrucciones de un programa informático, o dicho de otra forma, un lenguaje de programación permite al
programador comunicarse con la computadora para decirle qué es lo que tiene que hacer. Con esta finalidad, el
hombre ha inventado muchos lenguajes de programación, ahora bien, todos ellos se pueden clasificar en tres tipos
principales: máquina, de bajo nivel y de alto nivel.
Compilación y ejecución de un programa
Compilador:
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de
programación a otro lenguaje de programación, generando un programa equivalente que la máquina será
capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un
código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.
Ejecución:
En informática, ejecutar es la acción de iniciar la carga de un programa o de cualquier archivo ejecutable.

También podría gustarte