Intro a LP Flashcards

1
Q

¿Cuáles fueron los primeros lenguajes orientados a objetos?

A
Simula
Smalltalk
C++
Eiffel
Java
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Que es un lenguaje de programación?

A

Es un conjunto de signos y símbolos, sirve para hacer interfaz, dar comandos y generar programas que describen o implementan algoritmos sin necesidad de usar lenguaje máquina

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿En qué consiste el paradigma imperativo? Cuáles lenguajes pertenecen A este paradigma?

A

Está basado en la máquina de Von Neumann, es una ejecución secuencial del programa, tiene variables de memoria asignación, y entrada y salida típicamente procedural, tienen mejor desempeño.

Algunos son C, FORTRAN, ADA, PASCAL, ALGOL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cuáles son las tres características de un lenguaje de programación?

A

Función y objetivo: involucra un computador o dispositivo externo ejecutando un algoritmo.
Abstracción: abstracciones para definir y manipular estructuras de datos o flujo de ejecución.
Poder expresivo: un lenguaje de programación Turing incompleto puede realizar los cómputos que hace una máquina de Turing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Que es un paradigma de programación?

A

Son conceptos y aspectos de cómo están estructurados los programas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuáles son los 5 paradigmas de programación?

A

Imperativo, Procedural, Orientado a obj, Funcional y Declarativo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿En qué consiste el paradigma orientado a objetos? ¿Que lenguajes pertenecen a este paradigma?

A

Consiste en conjuntos de objetos o piezas interactúan controladamente intercambiando mensajes extendiendo el paradigma imperativo

Lenguajes OO:
Java, C++, Smalltalk, Ruby

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

En qué consiste el paradigma funcional? Que lenguajes pertenecen a este paradigma?

A

El paradigma funcional está basada en cálculo de Lambda, uso de funciones y recursión.

Algunos lenguajes funcionales son:
Scheme, Haskell y LISP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

En qué consiste el paradigma lógico? Que lenguajes pertenecen a este paradigma?

A

Está basado en cálculo de predicados (lógica simbólica) fundamentalmente basado en reglas y hechos. Dentro de este paradigma se encuentra el declarativo, En este se declara lo que se quiere hacer, no como, es más abstracto al no especificar un algoritmo.

Algunos lenguajes: Prolog, SQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

En qué consiste la Programación basada en eventos?

A

EL flujo de control está determinado por eventos que procesa el manejador de eventos. Por ejemplo interfaces gráficas, manejo de interrupciones y sistema de sensores, GO Y RUST

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿En qué consiste la programación concurrente?

A

Es un conjunto de procesos cooperativos que se pueden ejecutar en paralelo. Se requiere sincronización de recursos compartidos.
Usados para sistemas operativos y distribuidos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qué es la taxonomía de memoria de un lenguaje?

A

Esto es lo que determina como se administra la memoria de un lenguaje de programación. Existen tres tipos de memoria: memoria estática, memoria de stack y memoria de heap.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Cuáles fueron los primeros lenguajes de alto nivel?

A

Fortran
Lisp
Cobol

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

En qué consiste la programación visual?

A

Se crean programas manipulando objetos, gráficos, está integrado con otros lenguajes. Ej: KODU, LabView

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cómo se puede reducir la carga cognitiva de un programa?

A

Esto se puede realizar a través de la modularización, la compilación separada, reutilización, y ambientes de desarrollo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Cuáles son los tipos de tokens que existen?

A

Existen las palabras claves y reservadas, literales y constantes, identificadores, símbolos de operadores, símbolos especiales y comentarios.

19
Q

Qué aspectos prácticos se deben considerar de la sintaxis de un lenguaje?

A

Primero, no confundir palabras reservadas con identificadores pre definidos, segundo reconocimiento de largo de un identificador, formato libre versus formato fijo (afecta posición/identación)

21
Q

Qué ofrecen los lenguajes de programación más populares?

A

Estos ofrecen abstracciones, distintos tipos de datos, estructuras de control, y tipos de datos abstractos

22
Q

Nombra los criterios de evaluación que existen para un lenguaje de programación:

A
#1 Simplicidad: qué tan simple es en sintaxis y construcciones.
#2 Ortogonalidad: combinar conjuntos y operadores.
#3 Tipos de datos: ofrece tipos de datos adecuados.
#4 Diseño de sintaxis: palabras especiales, son claras o confusas?
#5 Soporte de abstracciones: esconder detalles de la implementación.
#6 Expresividad: pocas líneas de código, permiten computación compleja?
#7 Chequeo de tipos: chequea de forma dinámica o estática?
#8 Manejo de excepciones: comportamiento anómalo cómo responder a eso.
#9 Restricción de alias: podemos crear nombres para otras variables?
23
Q

Qué datos ofrece un lenguaje de programación popular?

A

Tres tipos: primitivos, simples, estructurados.

24
Q

Cómo es el proceso de análisis léxico y sintáctico? Cuáles son sus fases?

A

El proceso de reconocimiento de sintaxis tiene típicamente dos fases: scanning y parsing.
Scanning: Análisis Léxico, se reconocen tokens
Parsing: Análisis sintáctico, el traductor procesa los Tokens y determina si el programa está sintácticamente correcto.

26
Q

¿Que estructuras de control ofrece un lenguaje de programación popular?

A

Ofrecen sentencias, estructuras de control, abstracción de procedimientos y concurrencia

27
Q

Cuáles son los tres aspectos de diseño de un lenguaje de programación?

A

1- Arquitectura: donde se ejecuta el programa? Modelo de Neuman, imperativo es lo más común y mejor.

2- Estándares: los lenguajes de programación populares deben estandarizarse, que sean más portables y poseer datos primitivos, bibliotecas pero eso hace más pesado la innovación del lenguaje.

3-Sistemas legados: el lenguaje es compatible a sintaxis anteriores, permite código legado?

28
Q

Cuáles son los elementos básicos de un lenguaje formal?

A

Los elementos básicos son: sintaxis, semántica, alfabeto y una gramática formal.

29
Q

Qué es la ambigüedad?

A

La ambigüedad se da cuando se pueden armar dos parse tree según la gramática para evitar esto se establecen reglas de precedencia y asociatividad.

30
Q

Cómo se especifica formalmente una sintaxis de un lenguaje de programación?

A

Esto se hace a través de la BNF, Reconocer y generar el lenguaje

31
Q

Describe rápidamente como funciona el proceso de compilación.

A

Primero, Se realiza un análisis léxico usando la tabla de símbolos, del programa fuente y luego se realiza un análisis sintáctico, y por último un análisis semántico. Luego de finiquitar el proceso de reconocimiento se genera el código máquina y se genera un programa ejecutable.

32
Q

Que es una expresión regular?

A

Permiten reconocer patrones de cadenas de carácter. Sirve para especificar y reconocer Tokens, describir lenguajes

42
Q

De qué forma se puede implementar un lenguaje de programación?

A

3 formas: Compilación (C, C++), interpretación (LISP, Py) o híbrido (Java, C#).

53
Q

¿ Cuáles fueron los primeros lenguajes de programación estructurados?

A
ALGOL
ALGOL 68
PASCAL
C
ADA