Lenguajes de Programación
Lenguajes de Programación
Lenguajes de Programación
Lenguaje de Programación
Introducción
Fundamentos del lenguaje de programación
Características de un lenguaje.
Eficiencia u optimizabilidad
Simplicidad
Expresividad
Capacidad de restricción
Extensibilidad
Interoperabilidad
Otras características
Paradigmas de programación y sus diferencias
Lenguaje imperativo, funcional, declarativo o lógico y orientado a objetos
Ambientes de programación.
Descripción de los lenguajes: Sintaxis, semántica, programática y gramática.
Notación BNF: Diagramas sintácticos.
Procesadores de lenguaje.
Máquinas virtuales.
Interpretadores.
Compiladores.
Lenguaje de alto nivel
Conclusión
Bibliografía
Introducción
Características
La simplicidad de un lenguaje debe ser visto desde dos puntos de vista el sintáctico y
el sistemático:
1. Semántico: Según la cantidad de conceptos.
2. Sintáctico: Proporciona un código fácil por la legibilidad de su sintaxis.
Paradigmas de programación
Los paradigmas de programación solo son propuestas tecnológicas adoptadas por los
desarrolladores que se enfocan a resolver uno o varios problemas definidos y delimitados.
Ambientes de programación
Procesadores de lenguaje
Un procesador para un lenguaje de programación es un sistema capaz de manipular
programas escritos en dicho lenguaje con el objeto de ejecutarlo o prepararlo para su
ejecución. El estudio de los procesadores de lenguajes se plantea desde el punto de vista
del diseño e implementación de un procesador de lenguajes.
El procesador es el “cerebro” del ordenador. Es el componente encargado de la
ejecución de las instrucciones de los programas. Todos los ordenadores tienen al menos un
procesador
Máquinas virtuales
Es un entorno que funciona como un sistema informático virtual con su propia
CPU, memoria, interfaz de red y almacenamiento, pero el cual se crea en un sistema de
hardware físico.
Existen dos tipos, las de sistemas y las de proceso. Las de sistemas son el tipo de
máquina virtual que se usa en la virtualización (creación a través de software) de hardware
y las de proceso se ejecutan como un proceso normal dentro de un sistema operativo
sirviendo de enlace entre un lenguaje de programación y el sistema operativo, realizando
una técnica de enlace entre fuente y código máquina.
En palabras más sencillas, Una máquina virtual no es más que un software capaz
de cargar en su interior otro sistema operativo haciéndole creer que es un PC de verdad.
Tal y como su nombre indica, el concepto es tan sencillo como crear una máquina (PC,
consola, móvil o lo que sea) que en vez de ser física es virtual o emulada.
Interpretadores
Un interpretador es un programa informático capaz de analizar y ejecutar otros
programas. Los intérpretes se diferencian de los compiladores o de los ensambladores en
que mientras estos traducen un programa desde su descripción en un lenguaje de
programación al código de máquina del sistema, los intérpretes solo realizan la traducción
a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no
guardan el resultado de dicha traducción.
Los programas interpretados suelen ser más lentos que los compilados debido a la
necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles
como entornos de programación y depuración (lo que se traduce, por ejemplo, en una
mayor facilidad para reemplazar partes enteras del programa o añadir módulos
completamente nuevos), y permiten ofrecer al programa interpretado un entorno no
dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que
se conoce comúnmente como máquina virtual).
En palabras más sencillas, un intérprete o interpretador es un programa informático
que procesa el código fuente de un proyecto de software durante su tiempo de ejecución,
es decir, mientras el software se está ejecutando, y actúa como una interfaz entre ese
proyecto y el procesador. Un intérprete siempre procesa el código, línea por línea, de
modo que lee, analiza y prepara cada secuencia de forma consecutiva para el procesador.
Este principio también se aplica a las secuencias recurrentes, que se ejecutan de nuevo
cada vez que vuelven a aparecer en el código. Para procesar el código fuente del software,
el intérprete recurre a sus propias bibliotecas internas: en cuanto una línea de código
fuente se ha traducido a los correspondientes comandos legibles por máquina, esta se
envía directamente al procesador.
Compiladores
Es un Software que traduce un programa escrito en un lenguaje de programación
de alto nivel (C / C ++, entre otros) en lenguaje de máquina.
Un compilador es un programa informático que traduce todo el código fuente de
un proyecto de software a código máquina antes de ejecutarlo. Solo entonces el procesador
ejecuta el software, obteniendo todas las instrucciones en código máquina antes de
comenzar. De esta manera, el procesador cuenta con todos los componentes necesarios
para ejecutar el software, procesar las entradas y generar los resultados. No obstante, en
muchos casos, durante el proceso de compilación tiene lugar un paso intermedio
fundamental: antes de generar la traducción final en código máquina, la mayoría de los
compiladores suelen convertir el código fuente en un código intermedio (también llamado
código objeto) que, a menudo, es compatible con diversas plataformas y que, además,
también puede ser utilizado por un intérprete.
Al producir el código, el compilador determina qué instrucciones van a enviarse
al procesador y en qué orden. Si las instrucciones no son interdependientes, incluso es
posible que puedan procesarse en paralelo. Entre los lenguajes compilados puros se
incluyen, entre otros, los veteranos C, C++ y Pascal.
Los intérpretes se diferencian de los compiladores en que mientras estos traducen
un programa desde su descripción en un lenguaje de programación al código de máquina
del sistema, los intérpretes solo realizan la traducción a medida que sea necesaria,
instrucción por instrucción y normalmente no guardan el resultado de dicha traducción.
Paradigmas
https://sisbib.unmsm.edu.pe/bibvirtual/publicaciones/indata/v04_n1/lenguajes.htm
https://balanze.wordpress.com/2014/03/16/paradigmas-programacion/
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/paradigmas-de-
programacion/
Notación BNF
https://es.wikipedia.org/wiki/Notaci%C3%B3n_de_Backus-Naur
https://artsandculture.google.com/entity/m0gv00?hl=es
Máquinas virtuales
https://www.xataka.com/especiales/maquinas-virtuales-que-son-como-funcionan-
y-como-utilizarlas
Interpretadores y compiladores
https://es.wikipedia.org/wiki/Int%C3%A9rprete_(inform%C3%A1tica)
https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/compilador-e-
interprete/
https://www.universidadviu.com/es/actualidad/nuestros-expertos/lenguaje-de-alto-
nivel-los-mas-utilizados#:~:text=Cuando%20hablamos%20de%20un
%20lenguaje,cognitivas%20de%20los%20seres%20humanos.