UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE SEDE SANTO
DOMINGO
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
CARRERA DE INGENIERÍA EN TECNOLOGÍAS DE LA
INFORMACIÓN
PERÍODO ACADÉMICO : 202351 SII NOV 23 - MAR 24
ASIGNATURA : Fundamentos de Programación
TEMA : Lenguajes y Paradigmas de Programación
ALUMNOS : - Andrea Sinmaleza
-Brigitte Rodríguez
-Sebastián Lanche
GRUPO :5
NIVEL-PARALELO : Primer Nivel “B”
DOCENTE : Ing. Javier Cevallos
SANTO DOMINGO - ECUADOR
2023
1
Contenido
1 Introducción ...................................................................................................................................... 2
2 Objetivos ........................................................................................................................................... 2
2.1 ........................................................................................................... Objetivo General
2.2 .................................................................................................... Objetivos específicos
3 Desarrollo .......................................................................................................................................... 3
4 Conclusiones ..................................................................................................................................... 7
5 Recomendaciones ............................................................................................................................. 7
6 Anexos ............................................................................................................................................... 8
7 Bibliografía ..................................................................................................................................... 10
2
1 Introducción
Los lenguajes de programación son herramientas formales diseñadas para comunicarse con
las computadoras y darles instrucciones para realizar tareas específicas. Como lo menciona el
informe de Industrial Data: “El lenguaje de programación debe ser implementable en una
computadora, es decir; debe ser posible ejecutar un programa en términos del lenguaje en cualquier
máquina” (Edgar Ruiz, 2001)
Un paradigma de programación, por otro lado, es un enfoque o estilo de programación que
determina cómo se estructura y organiza un programa. Según el informe de Iván Trejos: “Los
paradigmas corresponden a los modelos matemáticos que subyacen a una determinada forma de
resolver un problema y que, en la actualidad, involucra en gran medida la participación de
tecnología informática” (Iván Trejos, 2013). Cabe mencionar que cada paradigma tiene sus propias
reglas y prácticas recomendadas.
2 Objetivos
2.1 Objetivo General
Comprender y diferenciar las características de los distintos lenguajes y paradigmas de
programación, con el fin de conocer los elementos que componen a cada uno de estos, mediante
la comparación de los lenguajes y paradigmas de programación reconociendo las ventajas de los
mismos.
2.2 Objetivos específicos
Identificar y analizar las principales características de los diferentes lenguajes de
programación: Este objetivo implica estudiar detenidamente las características individuales de los
diferentes lenguajes de programación, tales como: Sintaxis, semántica y características únicas.
Analizar y comprender los principios básicos de diferentes paradigmas de programación:
3
Esto implica estudiar en detalle diferentes enfoques y estilos de programación y comprender cómo
afectan la estructura y el diseño de su código.
Realizar comparaciones detalladas entre lenguajes y paradigmas: El objetivo es un análisis
comparativo e identificar similitudes, diferencias y ventajas específicas de cada lenguaje y
paradigma. Esto le brindará una comprensión profunda de cuándo y por qué debería elegir un
lenguaje o paradigma en particular según los requisitos del proyecto.
3 Desarrollo
Como conocemos existen diferentes lenguajes y paradigmas de programación, algunos de
los más comunes que existen son:
Lenguajes Máquina:
Este código instruye a la máquina en las operaciones esenciales necesarias para su correcto
funcionamiento, se compone mediante la combinación de los dígitos 0 y 1. Como indica el informe
de Apuntes Gestión de Sistemas de Información (GSI): “Da la posibilidad de cargar (transferir un
programa a la memoria) sin necesidad de traducción posterior lo que supone una velocidad de
ejecución superior, solo que con poca fiabilidad y dificultad de verificar y poner a punto los
programas.” (GSI, 2017).
A continuación, se enumeran las características claves de este lenguaje:
- Simplicidad: Este lenguaje proporciona conceptos claros y sencillos que resulten fáciles
de comprender, lo que facilita tanto el proceso de aprendizaje como su aplicación.
-Eficacia: Contribuye a prevenir el uso excesivo de memoria y tiempo, siempre que esté
bien interpretado y ejecutado el código.
-Compacidad: Puede expresar las operaciones de manera breve y resumida, evitando la
necesidad de incluir detalles excesivos.
4
Paradigma imperativo:
Este método facilita la creación de programas a través de procedimientos. Se emplea una
serie de instrucciones para detallar paso a paso el funcionamiento del código, con el objetivo de
garantizar la claridad del proceso. Según Kevin Lara: “fue desarrollado con el fin de permitir que
los algoritmos matemáticos se expresen más fácilmente, e incluso sirvió como lengua de destino
del sistema operativo para algunos equipos.” (Lara, 2014).
Las siguientes características tienen importancia preponderante ya que tienen en la forma
de resolver los problemas de manera imperativa.
-Unidades de memoria: Es conformada por un extenso conjunto de unidades llamadas
celdas, las cuales almacenan los datos, las celdas son denominadas variables y se estructuran en
diversas formas dentro de la memoria.
-Asignación: La asignación define el estado de una variable, reflejando el valor que
alberga en un momento específico. En consecuencia, los resultados se corresponden con el estado
final que asumen las variables.
-Algoritmos: Estos algoritmos se definen como conjuntos finitos de declaraciones
organizadas de acuerdo con las estructuras de control correspondientes. Estas estructuras de
control marcan el flujo de ejecución de las operaciones, con el propósito de resolver un problema
específico.
Lenguajes de medio nivel:
Aprovechan las ventajas de los lenguajes de bajo y alto nivel mientras eliminan o reducen
las limitaciones que cada uno podría presentar de forma individual. Estos lenguajes son utilizados
en el desarrollo de diversas aplicaciones o funcionalidades.
Según el informe de American Andragogy University (AAU): “Este lenguaje mantiene una
5
mayor abstracción, pero también cuentan con características del lenguaje de bajo nivel. Sin
embargo, también permite realizar operaciones de alto nivel, por lo que es una combinación de los
dos tipos de lenguajes de programación.” (AAU, 2022).
- Una característica notable, es que clasifica a C como un lenguaje de nivel intermedio y a
Pascal como un lenguaje de alto nivel, radica en la capacidad del primero para manipular letras
como si fueran números. Por el contrario, en Pascal es viable concatenar cadenas de caracteres
mediante el operador suma y copiarlas con la asignación.
- Otra particularidad más distintiva de este lenguaje es la utilización de “apuntadores”, los
cuales resultan altamente beneficiosos en la implementación de algoritmos como listas enlazadas,
tablas hash y algoritmo de búsqueda y ordenamiento.
Paradigma declarativo:
El paradigma declarativo, también conocido como paradigma de programación lógica, se
fundamenta en la idea de que un programa establece relaciones en lugar de correspondencias
directas. Dado que las relaciones son más generales que las correspondencias, como las que se
encuentran en la programación funcional o imperativa, la programación lógica se considera
potencialmente de un nivel superior.
Como indica el informe de Industrial Data: “La programación lógica es potencialmente de
más alto nivel que la programación funcional o la imperativa. El auge del paradigma declarativo
se debe a que el área de la lógica formal de las matemáticas ofrece un sencillo algoritmo de
resolución de problemas adecuado para usarse en un sistema de programación declarativo de
propósito general.” (Ruiz, 2001).
-La característica principal del paradigma declarativo reside en la carencia de asignación o
alteración de estado en un programa. Las variables funcionan como identificadores de valores
6
constantes durante todo el proceso de evaluación y no experimentan cambios. Bajo este enfoque,
únicamente hay valores y expresiones matemáticas que generan nuevos valores a partir de las
declaraciones originales.
-En los lenguajes declarativos no existe el concepto de valor que reside en algún lugar del
ordenador al que nos referimos mediante una variable.
Lenguajes de alto nivel:
La función principal de este enfoque se encuentra en la capacidad de permitir la utilización
del mismo programa en diversas máquinas, es decir, ser independiente de un hardware específico.
Según el informe de Apuntes Gestión de Sistemas de Información (GSI): “Esta forma de trabajar
puede dar la sensación de que las computadoras parecen comprender un lenguaje natural; en
realidad lo hacen de una forma rígida y sistemática, sin que haya cabida” (GSI, 2017).
Algunas características de este lenguaje son:
-Se valen de una sintaxis que se asemeja o es similar al lenguaje natural, generalmente
haciendo uso del inglés.
- Requieren de un compilador o intérprete para que la máquina pueda comprender y
ejecutar el código.
-Los programas redactados en lenguajes de alto nivel tienen la capacidad de ejecutarse en
máquinas con distintos tipos de hardware.
7
4 Conclusiones
En síntesis, familiarizarse con diversos lenguajes y paradigmas de programación no solo
resulta ventajoso para la adquisición de habilidades técnicas, sino que también aporta riqueza a la
perspectiva del programador, favoreciendo un enfoque más integral y eficiente en el desarrollo de
software.
En conclusión, se adquirieron conocimientos en distintos lenguajes y paradigmas de
programación que expanden nuestra capacidad mental y la flexibilidad para enfrentar problemas
desde múltiples perspectivas.
Para finalizar, colaborar con diversos equipos puede potenciar la habilidad de trabajar con
distintos lenguajes y paradigmas. Se logra entender desde diversas perspectivas y maneras de
expresar soluciones facilitando la comunicación efectiva en proyectos.
5 Recomendaciones
Para desarrollar programas se debe basar en que estos tengan algún tipo de similitud para
así obtener de manera rápida datos o bases específicas.
Por otro lado, se manifiesta que los autores actualicen información debido a que la internet
avanza y nos quedamos con información errónea debido a sus años de publicación.
Se debe utilizar de manera coordinada los lenguajes de programación para de esta manera
obtener un orden y disposición al momento de desarrollar cualquier tipo de herramienta o página
web.
8
6 Anexos
9
10
7 Bibliografía
BROOKSHEAR, GLEN J. 1985. Introducción a las Ciencias de la Computación.
Marquette University. 451 ed., Edit. Addison Wesley Iberoamericana, S.A. U.S.A.
WATT, D. 1989. Programming Languaje Concepts and Paradigms. Glasgow University,
Uk. Edit. Prentice Hall UK
SEBESTA, R. R. 1999. Concepts of Programming Languajes. University of Colorado.
4º Ed. Edit. Addison Wesley U.S.A.
Ausubel P. (1986). Sicología Educativa: un punto de vista cognoscitivo. México:
Editorial Trillas.
Bruner J. (1991). Actos de significado. Madrid: Alianza Editorial.
Bruner J. (1963). El proceso de la Educación. México: Editorial Hispanoamericana.
Bruner J. (1969). Hacia una teoría de la instrucción. México: Editorial
Hispanoamericana.
Mackay D. (2005). Information Theory, Inference and Learning Algorithms.
Cambridge: University Press.
Piaget J. (1986). Inteligencia y afectividad. Buenos Aires: Aique.
Piaget J. (2001). Psicología y Pedagogía. México: Crítica.
Schildt H. (2000). The Complete Reference C. USA: McGraw Hill.
Trejos O. (2005). Fundamentos de Programación. Pereira, Editorial Papiro.
Trejos O. (2002). La esencia de la lógica de programación. Manizales: Centro Editorial
Universidad de Caldas.
Van Roy P. (2003). Concepts, Techniques and Models of Computer Programming.
Estocolmo: Swedish Institute of Computer Science.
Van Santen R. (2010). 2030 Technology that Will Change the World. Oxford: Oxford
11
University Press.