Please enable JavaScript.
Coggle requires JavaScript to display documents.
PRIMER TRABAJO LENGUAJE DE PROGRAMACION, URIEL CACERES V-29.664.183 -…
PRIMER TRABAJO
LENGUAJE
DE PROGRAMACION
Caracteristicas de un lenguaje
Operadores
Símbolos utilizados para realizar sobre operaciones de valores.
Estructuras de control
Declaraciones utilizadas para controlar el flujo de un programa.
Variables
Ubicaciones de memoria numeradas que almacenan valores.
Bibliotecas y Marcos de trabajo (Frameworks
)
Colecciones de código preescrito que aceleran el desarrollo.
Paradigmas:
Tipos de datos
Los diferentes tipos de valores que pueden ser almacenados en un programa.
Paradigmas
Estilos o filosofías de programación utilizadas en el lenguaje.
Sintaxis
Reglas y estructura utilizadas para escribir código en un lenguaje de programación.
LENGUAJE IMPERATIVO
FUNCIONAL,LÓGICO
Y
ORIENTADO A OBJETOS
Programación Orientada a Objetos (POO)
Basada en objetos que contienen datos y código. Ejemplos: C++, Java, Python, Ruby.
Programacion Logica
Programas basados en sentencias lógicas que expresan hechos y reglas. Ejemplo: Prólogo.
Programación Funcional
Funciones como ciudadanos de primera clase, evita el estado compartido y los datos mutables. Ejemplos: Lisp, Haskell, Erlang.
Lenguaje Imperativo
Secuencia de comandos que cambian el estado del programa. Ejemplos: C, C++, Java, Python.
Notación BNF: DIAGRAMAS SINTÁCTICOS
Diagrama
sintáctico
También conocido como diagrama de flujo sintáctico.
Utilizado en algunos lenguajes de programación para definir la sintaxis.
Representación gráfica de la sintaxis esperada en el código fuente de un programa.
Notación BNF
Introducida por John Backus y Peter Naur en 1960.
Similar a la gramática libre de contexto (CFG).
Método formal para describir la sintaxis de los lenguajes de programación.
MÁQUINAS VIRTUALES
Son ampliamente utilizadas en la programación moderna, desde el desarrollo y prueba de software hasta la implementación de aplicaciones en entornos de nube.
Máquinas virtuales del sistema
Sustituyen a una máquina real y permiten ejecutar sistemas operativos completos. Utilizan un hipervisor para compartir y administrar el hardware.
Máquinas virtuales de proceso
Diseñadas para ejecutar programas en un entorno independiente de la plataforma. Pueden emular diferentes arquitecturas de sistemas.
Ambientes de programacion
Un espacio virtual que se activa al utilizar un intérprete de un lenguaje de programación.
Entornos de desarrollo integrados (IDEs)
Son herramientas que ofrecen a los desarrolladores un espacio de trabajo conveniente al empaquetar todas las herramientas de desarrollo en una sola interfaz gráfica de usuario.
Características de los IDE
Incluyen la edición de código fuente, depuración de programas y automatización de tareas como la compilación y prueba de código.
Componentes del ambiente de programación:
Combinación de hardware y software que permite a los desarrolladores construir aplicaciones.
Ejemplos
Ambientes de programación: IntelliJ, Eclipse, NetBeans y Visual Studio son algunos ejemplos comunes de ambientes de programación.
Elección del ambiente adecuado
La elección del ambiente de programación puede depender del lenguaje de programación utilizado y las necesidades específicas del proyecto.
PROCESADORES DE LENGUAJE
Procesadores de lenguaje:
Se encuentran en lenguajes como Fortran y COBOL.
Programas utilizados para procesar el código del programa en código de máquina
Tipos de procesadores de lenguaje
Ensamblador
Traduce el lenguaje ensamblador en código de máquina. El lenguaje ensamblador consta de instrucciones de bajo nivel.
Intérprete
Lee el código fuente línea por línea, traduciéndolo y ejecutándolo antes de pasar a la siguiente línea. Los errores se detectaron y se muestran al usuario.
Compilador
Lee todo el código fuente y lo traduce en código de máquina. Los errores se muestran al final del proceso.
Descripcion de los lenguajes de programación
Semantica
Describa los comportamientos resultantes de la ejecución de un programa.
No todos los programas sintácticamente correctos son semánticamente correctos.
Significado asignado a los símbolos,caracter y palabra
Pragmática
Incluye aspectos como la gestión de memoria y el control del flujo del programa.
Implementación y ejecución del código en un lenguaje de programación.
Sintaxis
Conjunto de reglas que deben seguirse al escribir el código.
Describe las posibles combinaciones de símbolos para un programa correcto.
Estructura o forma del código en un lenguaje de programación.
Gramatica
Especifica cómo se forman átomos, listas, números, símbolos, etc.
Conjunto de reglas para construir sentencias correctas del lenguaje.
Compiladores
Un compilador es un programa que traduce el código fuente de un lenguaje de programación a otro lenguaje., conocido como lenguaje objetivo
Análisis semántico
En esta fase, se realizan comprobaciones adicionales para garantizar la coherencia y corrección del código fuente, como la verificación de tipos y la resolución de referencias.
Generación de código intermedio
Se traduce el código fuente a una representación intermedia, que es un lenguaje de más bajo nivel que el lenguaje fuente pero más alto nivel que el lenguaje objetivo.
Análisis sintáctico
Aquí se verifica la estructura gramatical del código fuente y se construye un árbol de análisis sintáctico, que representa la jerarquía de las expresiones y declaraciones del programa.
Optimización de código:
Se aplican técnicas de optimización para mejorar el rendimiento y eficiencia del código generado.
Análisis léxico
En esta fase, se divide el código fuente en unidades léxicas o tokens, como palabras clave, identificadores, operadores y símbolos.
Generación de código objetivo
Finalmente, se genera el código objetivo, que puede ser lenguaje ensamblador, código objeto o código de máquina, dependiendo del lenguaje objetivo y la arquitectura de la máquina.
Preprocesamiento
Esta fase se encarga de realizar tareas como la inclusión de archivos, la definición de constantes y la eliminación de comentarios.
Interpretadores
Los intérpretes permiten que otros programas se ejecuten en una computadora o servidor.
Tipos de interpretes
Intérpretes de Árbol de Sintaxis Abstracta: Convierta el código fuente a un árbol de sintaxis abstracta y luego ejecuten el programa según este árbol.
Auto Intérpretes: Son intérpretes de lenguajes de programación escritos en un lenguaje que puede interpretarse a sí mismo.
Interpretes de Bytecode: Convierte el código fuente a bytecode y luego ejecutan este código compilado.
Intérpretes de Código Enhebrado: Utilizan punteros para ejecutar el programa.
Procesar el código del programa en tiempo de ejecución, comprobando el código en busca de errores línea por línea.
Un intérprete es un programa que ejecuta instrucciones escritas en un lenguaje de alto nivel.
LENGUAJES DE ALTO NIVEL
Un lenguaje de programación con una fuerte abstracción de los detalles de la computadora, que utiliza elementos del lenguaje natural y automatización áreas significativas de los sistemas informáticos.
Traducción a lenguaje máquina
Los programas escritos en lenguajes de alto nivel deben ser traducidos a lenguaje máquina mediante un compilador o intérprete para su ejecución.
Abstracción en los lenguajes de alto nivel
Tratan con variables, matrices, objetos, expresiones aritméticas y booleanas complejas, subrutinas y funciones, bucles, hilos, bloqueos y otros conceptos abstractos de ciencias de la computación.
Ventajas de los lenguajes de alto nivel
Son más fáciles de usar, leer y mantener en comparación con los lenguajes de bajo nivel. Simplifican el proceso de desarrollo de programas al ocultar los detalles de bajo nivel de la computadora.
Ejemplos
Ada, Algol, BASIC, COBOL, C, C++, FORTRAN, LISP, Pascal y Prolog.
URIEL CACERES
V-29.664.183