Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lenguajes de Programación, image, image, image, image, image, image, image…
Lenguajes de Programación
Concepto
Lenguaje utilizado para
comunicar instrucciones a una computadora
.
Computacionalmente completo
si es capaz de expresar todas las funciones computables.
Ejemplos
: Java, Python, C.
Permiten
escribir código
que pueda ser
leído por un humano
e
interpretado por una computadora.
Definición de un Lenguaje
Sintaxis
Descripción del conjunto de secuencias de símbolos
considerados como programas válidos.
Involucra reglas, un orden de aparición establecido y palabras clave, para hacer programas por bloques.
Se usa mucho la
notación BNF y EBNF.
Sistema de Tipos
Previenen errores
en tiempo de ejecución.
Se puede hacer
análisis de tipos
en tiempo de compilación (para tipos estáticos), o de ejecución (para los dinámicos).
Semántica
Descripción del
significado
de las instrucciones y expresiones.
Revisa que las expresiones
construidas a partir de los símbolos que definen al lenguaje
sean correctas.
Puede ser
informal
(depende del individuo) o
formal
(basada en técnicas matemáticas).
Procesadores de Lenguaje
Convierten programas fuente en
lenguaje de alto nivel a lenguaje máquina
para su ejecución. Son meta-programas.
Intérprete
Lee el código fuente
línea por linea
y realiza las acciones necesarias para su ejecución.
Pequeño, fácil de depurar y distribuir, portable.
Compilador
Traduce un programa fuente en un
programa objeto, en código ejecutable
. Al final deja un archivo nuevo.
Usa un
Linker
para verificar bibliotecas / librerías.
Se ejecuta más rápido que el interpretado, procesa módulos por separado, es para un SO específico.
Paradigmas de Lenguajes
Diferentes maneras de
expresar computación
. Se relacionan a un modelo relacionado a un método de programación.
Tipos
Imperativo
Modificación reiterada de
memoria implícita
. Variables como etiquetas a posiciones de memoria.
Basado en ciclos.
Funcional
Uso de
funciones matemáticas
. Nada se guarda en memoria. Basado en
recursividad
.
Lógico
Predicados recursivos.
No hay memoria implícita. Los resultados intermedios se pasan con
unificación
. Basado en
recursión.
Orientado a Objetos
Los
objetos
se agrupan en
clases
, que se agrupan en
jerarquías
. Mensajes son llamadas a los métodos.
Usa parámetros para pasar resultados
.