Sei sulla pagina 1di 5

SOLUCIÓN TALLER INTRODUCTORIO – PARADIGMAS DE PROGRAMACIÓN

DANIEL MOYA BEDOYA

1. ¿Qué es un paradigma de programación?

R/ Se puede decir que un paradigma es un modelo, un esquema o un


conjunto de ideas presentadas con anterioridad, el cual permite organizar
nuestras opiniones con respecto a una determinada solución en particular
de forma lógica, siempre teniendo un tema central o una visión hacia donde
se quiere dirigir o enfocar dicha solución; se puede afirmar entonces que
existen varios paradigmas, enfocados a resolver problemas de formas
diferentes.

2. ¿Cuál es la relación que existe entre las matemáticas y los paradigmas de


programación?

R/ Los paradigmas de programación llevan consigo modelos y conceptos


matemáticos que le han permitido al pensamiento humano llegar a
instancias inimaginables, logrando diseñar metodologías rápidas y sencillas
que le han permitido encontrar soluciones a los problemas que tenga.

3. ¿Qué es el sistema binario?

R/ Es un sistema para simplificar muchos de los procesos que suceden en


el mundo real, era muy utilizado por las primeras máquinas creadas por el
hombre con la Programación en Lenguaje de Máquina desde 1945. Tiene
como base el número 2, lo conforman solo dos dígitos, el 1 y el 0, y la única
operación que tiene es la suma.

4. Definir y diferenciar: Programación en lenguaje de máquina, programación


de bajo nivel y programación de alto nivel.

R/ La programación en lenguaje de máquina es un tipo de programación


“manual”, ya que se necesitaba de operadores humanos que introdujeran
los datos en una máquina para que hiciera cálculos simples. Los operarios
se encargaban de la entrada y salida de datos, de interpretarlos y de la
manutención de la propia máquina.
La programación de bajo nivel es un tipo de programación con un poco más
de nivel que la del lenguaje de máquina, ya que ya no se necesitaban
operarios que hicieran manualmente la entrada y salida de datos, eran
reconocidos como programadores ya que a través que programas
pequeños lograban facilitar los procesos a partir de instrucciones simples y
podían ampliar la solución de problemas a otras áreas de la vida real.
Desde este instante se hicieron conocidos términos como Programa,
Programador y Programación.
La programación de alto nivel, aunque no esta explícita en el documento, se
puede inferir que de nuevo el ser humano se encuentra con un problema,
que no permitía entender bien lo que un programador había echo y tocaba
volverlo a hacer desde el principio, surgieron a partir de aquí la lógica de
programación, la cuál es una estructura sencilla que implementan los
programadores para tener una base desde la cual partir, así todos sabrían
que tal proceso se lleva de esta forma y lo único que tienen que hacer es
analizar lo que el otro hizo, y a partir de aquí se empezaron a crear los
paradigmas de programación, cada uno con distintos enfoques y
estructuras libres de utilizarse.

5. ¿Qué es programación de computadores?

R/ Es el área de conocimiento que debe ser dominada por los


programadores para hacer efectiva su labor, los cuales son los encargados
de pensar, diseñar, construir, probar y poner a funcionar un programa en un
computador.

6. Definir y diferenciar programación imperativa, programación orientada a


objetos, programación declarativa, programación funcional, programación
lógica, programación por restricciones, programación concurrente y
programación para la web.

R/
- La programación imperativa logró simplificar aún más las órdenes que
se le daban al computador gracias al paradigma estructurado, el cual le
permitía al computador ejecutar las instrucciones literalmente como
quería el programador.

- La programación orientada a objetos nació con la idea de simular, lo que


más se pudiera, el uso y las características de los objetos de la vida
real, los cuales son traducidos a la informática como tipos de datos por
atributos y métodos.

- La programación declarativa es como la imperativa, solo que ahora


muchas ordenes son constituidas en una sola, convirtiéndose en
instrucciones de muy alto nivel, un proceso completo puede ser llamado
con tan solo una orden, lo cual permitió que los programas realizados
fueran más entendibles por las personas que los utilizaban.
- La programación funcional busca simplificar el objetivo, reutilizar el
código y reducir el tiempo de pruebas, esto se logra a partir de funciones
que puede construir el usuario a partir de distintos argumentos, logrando
hilar y construir programas mucho mas eficientemente; la
fundamentación matemática llamada cálculo lambda fue desarrollada
por Alonz Church.

- La programación lógica es construida a partir de la especificación del


conocimiento en un lenguaje de programación formal, como la lógica de
primer orden, y los problemas que se quieran plantear pueden ser
resueltos a través de un mecanismo de inferencia, el cual los controla.

- La programación por restricciones permite encontrar variables que


permitan llegar a la solución a través de un conjunto de instrucciones
que deben ser satisfechas por cualquier vista que tenga la solución que
se plantea al problema. Se diferencia con los otros lenguajes en que
este no establece de manera determinada los pasos para llegar a la
solución, conoce la solución y se centra en encontrar las variables que
hacen posible dicha solución.

- La programación concurrente tiene una relación directa con la


programación paralela o más conocida como programación distribuida.
Es asociada comúnmente con las redes y la computación distribuida ya
que utiliza varios procesos a la vez, los cuales se relacionan entre sí,
esa relación es el punto clave de la programación concurrente.

- La programación para la web es la aplicación de los conceptos teóricos


junto con las posibilidades tecnológicas de la web para implementar
soluciones eficientes con programación, es como si se cogieran los
conocimientos básicos de cada tipo de programación y se
implementaran en este, según lo que requiera el problema que se trate
de solucionar.

7. Presentar un comentario acerca de las tendencias que se presentan


actualmente en la programación de computadores.

R/ Leyendo las partes del documento donde pasaban de la programación


web a la programación de dispositivos móviles, yo creo que este concepto
de programación simplemente evoluciona con cada tecnología nueva que el
ser humano se inventa, las tendencias que se presentan ahora son las de
construir inteligencias artificiales que se acerquen lo que más puedan al ser
humano, logrando simular no solo la realidad como se buscaba antes, sino
simularnos a nosotros mismos, es algo muy increíble que tiene todavía
mucha investigación, por lo que no sabemos a donde vayamos a parar con
este nuevo enfoque, pero el día que logren hacer realidad la inteligencia
artificial sin errores, ese día nacerá un nuevo tipo de programación seguro.

8. Explicar con detalle qué es la programación funcional y cuáles son sus


principales características. Enunciar y describir brevemente algunos
lenguajes de programación funcional.

R/ La programación funcional es un tipo de paradigma donde un programa


se reconoce como una función matemática, la cual describe una entrada y
una salida y donde el concepto de estado o variable se elimina
completamente, lo cual quiere decir que un programador puede interpretar
una variable como cualquier cosa a la cual le haya dado un valor o un
símbolo, con esto se busca agrupar muchos términos en un solo y poder
hacer operaciones entre ellos, simplificando la manera en la que se
programa.
Fuente: https://www.ecured.cu/Programaci%C3%B3n_funcional
Algunos programas que utilizan este paradigma son: Java, PHP, Ruby,
Python, Elixir, Kotling, Haskell, Erlang, entre otros.

9. ¿Qué es LISP? Enunciar algunas características.

R/ LISP es un tipo de lenguaje que utiliza una familia de lenguajes de


programación como base de tipo multiparadigma desarrollado originalmente
en 1958 por John McCarthy, considerado el segundo lenguaje de
programación de alto nivel de mayor antigüedad.
Fue diseñado para la manipulación de fórmulas simbólicas y más adelante
nació su aplicación en la inteligencia artificial.
Posee un manejo de memoria automático que libera el espacio utilizado por
los objetos que dejan de ser necesarios, incluye un mecanismo bastante
simple para utilizar evaluación perezosa de evaluación y no posee un
sistema de tipos estáticos, por lo que los errores solo se detectan en el
tiempo de ejecución y no de compilación.

Fuentes:
- https://es.slideshare.net/charlyra/lisp-25805610
- https://es.wikipedia.org/wiki/Lisp

10. ¿Qué es Dr. Scheme? ¿Qué es Scheme? ¿Qué es Dr. Racket? ¿Qué es
Racket?
R/ Dr. Scheme es un ambiente de programación interactivo, integrado y
gráfico que es incluido con PLT SCHEME.
Scheme es un lenguaje de programación que surgió en los laboratorios del
MIT en 1975, cuando se buscaba una semántica clara y sencilla. Scheme
es un dialecto de LISP, o sea, un lenguaje interpretado, muy expresivo y
soporta varios paradigmas.
Dr. Racket es un entorno gráfico para el desarrollo de los programas de uso
de los lenguajes de programación de Racket.
Racket es un propósito general, un lenguaje de programación multi –
paradigma en LISP/Scheme. Uno de sus objetivos de diseño es la de servir
como una plataforma para la creación, el diseño y la práctica de un
lenguaje.

Fuentes:
- https://plt-scheme.org/software/drscheme/
- http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2010-2011/teoria/tema2.html
- https://prezi.com/zxt9_3f_ik6h/drracket/

Potrebbero piacerti anche