0% encontró este documento útil (0 votos)
64 vistas14 páginas

Paradigmas y Lenguajes de Programación

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
64 vistas14 páginas

Paradigmas y Lenguajes de Programación

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Universidad Andina del Cusco

Facultad de Ingeniería y Arquitectura


Carrera Profesional de Ingeniería de Sistemas

Trabajo de investigación sobre los paradigmas de programación y


lenguas de programación

Curso:
Algorítmica y lenguaje de programación
Docente:
Yessenia Bernales Guzmán
Nombres y códigos:
Astrit Fernanda Luza Grajeda 023100613i
Bastian Nefi Quipo Mamani 023101523c
Kevin Carlos Enríquez Vásquez 023100445i
Fabrizzio Alonzo Ochoa Paucar 023101217j
Flavio Alejandro Palacio Rozas 023101497b

Septiembre - 2023
INDICE:
 Resumen del Trabajo

 Abstrac

 Lenguaje de programación

 Clasificación o tipos de lenguaje de programación

 Lenguajes de programación más utilizados

 Paradigmas de programación

 Descripción de Paradigmas de programación

 Artículos de investigación de paradigmas de programación o lenguajes de

programación

 Conclusiones

 Bibliografías
Resumen del trabajo

Los paradigmas de programación y los lenguajes de programación son conceptos


fundamentales en la informática y la ciencia de la computación. Aquí tienes un resumen
sobre ambos temas:
Los paradigmas de programación son enfoques o estilos fundamentales que guían la
forma en que se estructura y se desarrolla el código en la programación de
computadoras. Cada paradigma tiene sus propias características distintivas:
Imperativo: Se basa en instrucciones o comandos que indican al ordenador cómo
realizar una tarea específica. Se enfoca en el estado y cómo cambia a lo largo del
tiempo a medida que se ejecutan las instrucciones. Ejemplos de lenguajes: C, C++,
Java.
Funcional: Utiliza funciones matemáticas puras para resolver problemas. Se centra en la
evaluación de expresiones y minimiza el uso de variables mutables. Ejemplos de
lenguajes: Haskell, Lisp, Scala.
Orientado a Objetos: Organiza el código en objetos que representan entidades del
mundo real y sus interacciones. Se basa en la encapsulación, la herencia y el
polimorfismo. Ejemplos de lenguajes: Java, C#, Python.
Lógico: Utiliza reglas lógicas para describir relaciones y restricciones en un problema.
Se emplea en la programación declarativa. Ejemplos de lenguajes: Prolog.
Basado en Eventos: Se centra en la respuesta a eventos y la programación reactiva.
Comúnmente utilizado en interfaces de usuario y aplicaciones en tiempo real. Ejemplos
de lenguajes: JavaScript (para desarrollo web).
Los lenguajes de programación son herramientas que los programadores utilizan para
escribir código de software. Cada lenguaje tiene sus propias reglas de sintaxis y
semántica. Algunos ejemplos populares son:
 Python:
 JavaScript:
 Haskell:
 Prolog:
 Scala
Los lenguajes de programación permiten a los desarrolladores expresar sus ideas y
resolver problemas mediante la creación de software funcional. Cada uno tiene
sus ventajas y desafíos, y la elección del lenguaje depende de la tarea y los
requisitos específicos del proyecto.
Palabras clave: paradigmas, programación encapsulación, software, sintaxis
Abstrac

Programming paradigms and programming languages are fundamental concepts in


computer science and informatics. Here is a summary of both topics:
Programming paradigms are fundamental approaches or styles that guide the way code
is structured and developed in computer programming. Each paradigm has its own
distinctive characteristics:
Imperative: relies on instructions or commands that tell the computer how to perform a
specific task. It focuses on state and how it changes over time as the instructions are
executed. Examples of languages: C, C++, Java.
Functional: Uses pure mathematical functions to solve problems. It focuses on the
evaluation of expressions and minimizes the use of mutable variables. Examples of
languages: Haskell, Lisp, Scala.
Object-oriented: Organizes code into objects that represent real-world entities and their
interactions. It is based on encapsulation, inheritance and polymorphism. Examples of
languages: Java, C#, Python.
Logical: Uses logical rules to describe relationships and constraints in a problem. It is
used in declarative programming. Examples of languages: Prolog.
Event-driven: Focuses on event response and reactive programming. Commonly used in
user interfaces and real-time applications. Examples of languages: JavaScript (for web
development).
Programming languages are tools that programmers use to write software code. Each
language has its own syntax rules and semantics. Some popular examples are:
- Python:
- JavaScript:
- Haskell:
- Prolog:
- Scala
Programming languages allow developers to express their ideas and solve problems by
creating functional software. Each has its advantages and challenges, and the choice of
language depends on the task and the specific requirements of the project.
Keywords: paradigms, encapsulation, programming, software, syntax
Lenguaje de Programación

1. Donald E. Knuth (1981):


 Definición: "A programming language is a notation that permits one to
describe an algorithm to a computer so that it will perform a specific task."
 Cita en formato APA: Knuth, D. E. (1981). "The Art of Computer
Programming, Volume 1: Fundamental Algorithms." Addison-Wesley.

2. Bjarne Stroustrup (2013):


 Definición: "A programming language is a medium for expressing
and communicating precise algorithms to a computer."
 Cita en formato APA: Stroustrup, B. (2013). "The C++
Programming Language." Addison-Wesley.

3. Brian W. Kernighan and Dennis M. Ritchie (1988):


 Definición: "A programming language is a formal language for instructing a
computer. It is structured to enable a programmer to specify both the data to
be processed and the operations to be applied to the data."
 Cita en formato APA: Kernighan, B. W., & Ritchie, D. M. (1988). "The C
Programming Language." Prentice Hall.

4. Peter Seibel (2009):


 Definición: "A programming language is a formal language that specifies a set
of instructions that can be used to produce a wide range of outputs or perform a
variety of tasks on a computer."
 Cita en formato APA: Seibel, P. (2009). "Coders at Work: Reflections on
the Craft of Programming." Apress.
Clasificación o tipos de lenguaje de programación

 Según John Backus:


Backus, conocido por desarrollar el lenguaje FORTRAN, clasificó los lenguajes de
programación en dos categorías principales:
Lenguajes de alto nivel: Estos lenguajes están diseñados para ser más accesibles y
cercanos al lenguaje humano, lo que facilita la programación. Ejemplos incluyen
Python, Java y C++.
Lenguajes de bajo nivel: Estos lenguajes están más cerca del lenguaje de la máquina y
se utilizan para programación de sistemas y tareas de bajo nivel. Ejemplos incluyen
C, Assembly y lenguaje de máquina.
 Según Peter J. Landin:
Landin introdujo la distinción entre dos tipos de lenguajes de programación:
Lenguajes de programación imperativos: Estos lenguajes se centran en la descripción de
la secuencia de pasos que debe seguir una computadora para resolver un problema.
Ejemplos incluyen C y Pascal.
Lenguajes de programación funcionales: Estos lenguajes se centran en la evaluación
de expresiones y en la aplicación de funciones. Ejemplos incluyen Haskell y Lisp.
 Según Steve McConnell:
McConnell, en su libro "Code Complete," clasificó los lenguajes de programación en
términos de su nivel de abstracción y su capacidad de expresividad:
Lenguajes de alto nivel estructurados: Estos lenguajes fomentan la programación
estructurada y el uso de abstracciones de alto nivel para simplificar el código. Ejemplos
incluyen Java y C#.
Lenguajes de alto nivel no estructurados: Son lenguajes de alto nivel que permiten
programación no estructurada o poco restrictiva. Ejemplos incluyen BASIC y Perl.
Lenguajes de bajo nivel: Estos lenguajes brindan un control más directo sobre el
hardware de la computadora y se utilizan en programación de sistemas. Ejemplos
incluyen C y Assembly.
Cabe señalar que estas clasificaciones son simplificaciones y que existen otros enfoques
para clasificar los lenguajes de programación, dependiendo de las características
específicas que se estén considerando.
Lenguajes de programación más utilizados

Los lenguajes de programación más utilizados pueden variar a lo largo del tiempo y
según la fuente. Sin embargo, te proporcionaré una lista de algunos de los lenguajes
de programación que históricamente han sido muy populares y ampliamente utilizados
en la industria de la tecnología y el desarrollo de software. Ten en cuenta que la
popularidad de los lenguajes de programación puede cambiar con el tiempo debido a
nuevas tendencias tecnológicas y demandas del mercado.

 Según diversas fuentes, los lenguajes de programación más utilizados


y populares hasta 2021 incluyen:
 JavaScript: Ampliamente utilizado para el desarrollo web, tanto en el lado del
cliente como en el servidor ([Link]). Es esencial para la creación de sitios
web interactivos y aplicaciones web.
 Python: Conocido por su simplicidad y versatilidad, se utiliza en una variedad
de aplicaciones, desde desarrollo web hasta inteligencia artificial y análisis de
datos.
 Java: Ampliamente utilizado en aplicaciones empresariales y móviles
(Android). Es conocido por su portabilidad y robustez.
 C#: Desarrollado por Microsoft, es muy utilizado en el desarrollo de
aplicaciones de escritorio, videojuegos (con Unity) y aplicaciones web
(con [Link]).
 PHP: Principalmente utilizado en desarrollo web del lado del servidor. A
menudo se utiliza en combinación con MySQL para crear aplicaciones
web dinámicas.
 Ruby: Conocido por su elegante sintaxis, es utilizado en el desarrollo web
a través del framework Ruby on Rails.
 Swift: Desarrollado por Apple, es el lenguaje principal para el desarrollo
de aplicaciones iOS y macOS.
 Kotlin: Ganando popularidad rápidamente, es un lenguaje oficial de
desarrollo de aplicaciones Android junto con Java.
 C++: Utilizado en aplicaciones de alto rendimiento como juegos,
sistemas operativos y aplicaciones de tiempo real.
 Go (Golang): Desarrollado por Google, se utiliza en aplicaciones de
alto rendimiento y servidores web.

Puedes consultar índices de popularidad y encuestas actualizadas, como el Índice


TIOBE, RedMonk, GitHub Octoverse y Stack Overflow Developer Survey, para
obtener información actualizada sobre la popularidad de los lenguajes de
programación.
Paradigmas de programación

 Alan Kay (1997):


Definición: "A programming paradigm is a way of conceptualizing what it means to
compute, i.e., to describe computations. It is a style, a pattern, a model, a mold for
constructing the description of a process."
Cita en formato APA: Kay, A. (1997). "The Computer Revolution Hasn't Happened
Yet." OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-
oriented programming, systems, languages, and applications.
 Peter Van Roy and Seif Haridi (2004):
Definición: "A programming paradigm is a way of structuring a program, including the
data and the computations. It is a set of interconnected ideas and concepts that provide a
way to design and build systems. It also includes principles for reasoning about systems
and principles for decomposing systems."
Cita en formato APA: Van Roy, P., & Haridi, S. (2004). "Concepts, Techniques, and
Models of Computer Programming." MIT Press.
 Frederick P. Brooks Jr. (1986):
Definición: "A programming paradigm is a particular approach or style of programming
that reflects a programmer's philosophy of how code should be written and organized. It
encompasses fundamental concepts like control structures, data structures, and the
overall organization of code."
Cita en formato APA: Brooks, F. P. (1986). "No Silver Bullet: Essence and Accidents
of Software Engineering." IEEE Computer, 20(4), 10-19.
 Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (1994):
Definición: "A programming paradigm is a way to structure a software system. It
encompasses the overall organization and architecture of a program, as well as the
design patterns and principles used to solve common problems within that paradigm."
Cita en formato APA: Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994).
"Design Patterns: Elements of Reusable Object-Oriented Software." Addison-Wesley.
Estas definiciones ofrecen una comprensión general de lo que significa un paradigma
de programación según diversos autores. Cada uno de ellos enfatiza aspectos diferentes,
pero todos coinciden en que los paradigmas de programación son enfoques o estilos
para estructurar y organizar el código de un programa.
Descripción de Paradigmas de programación

Los paradigmas de programación son enfoques o estilos fundamentales que guían la


forma en que se estructura y se desarrolla el código en la programación de
computadoras. Cada paradigma tiene sus propias características distintivas, situaciones
de uso y lenguajes de programación asociados. A continuación, describiré dos
paradigmas de programación junto con sus características y ejemplos de lenguajes de
programación. Las fuentes bibliográficas están incluidas para respaldar la información.
Paradigma de Programación Imperativa
Características:
Este paradigma se basa en instrucciones o comandos que indican al ordenador cómo
realizar una tarea específica.
Se centra en el estado y cómo cambia a lo largo del tiempo a medida que se ejecutan las
instrucciones.
Utiliza estructuras de control como bucles y condicionales para definir la lógica de un
programa.
Las variables son componentes fundamentales para almacenar y manipular datos.
Cuando se usa:
La programación imperativa se utiliza en una amplia variedad de aplicaciones, desde
desarrollo de software de sistemas hasta aplicaciones científicas y empresariales.
Es especialmente eficaz cuando se necesita un control preciso sobre los recursos del
sistema y la ejecución de tareas secuenciales.
Lenguajes de programación que lo usan o soportan:
Ejemplos de lenguajes de programación imperativos incluyen C, C++, Java y Python.
Paradigma de Programación Funcional
Características:
En este paradigma, los programas se construyen a partir de funciones matemáticas puras
que no tienen efectos secundarios.
La programación funcional se enfoca en la evaluación de expresiones y la aplicación de
funciones para resolver problemas.
El estado mutable se minimiza o se evita por completo, lo que facilita la concurrencia y
la programación paralela.
La recursión es una técnica común en este paradigma.
Cuando se usa:
Se utiliza en situaciones donde se requiere procesamiento de datos y transformaciones
complejas.
Es especialmente útil en aplicaciones de análisis de datos, inteligencia artificial y
procesamiento de lenguaje natural.
Lenguajes de programación que lo usan o soportan:
Ejemplos de lenguajes de programación funcionales incluyen Haskell, Lisp, Scala y
Erlang.
Fuentes Bibliográficas:
Sebesta, R. W. (2015). "Concepts of Programming Languages." Pearson.
Bird, R. (2010). "Introduction to Functional Programming using Haskell." Pearson.
Kernighan, B. W., & Ritchie, D. M. (1988). "The C Programming Language." Prentice
Hall.
Estas descripciones proporcionan una visión general de los paradigmas de programación
imperativos y funcionales, sus características principales, cuándo se utilizan y ejemplos
de lenguajes de programación asociados. Las fuentes bibliográficas mencionadas son
recursos confiables para obtener información más detallada sobre estos paradigmas.
Artículos de investigación de paradigmas de
programación o lenguajes de programación

 Paradigmas de Programación:
Título: "A Comparative Study of Programming Paradigms in Polyglot Programming"
Autor(es): Andrew Black, et al.
Resumen: Este artículo examina el uso de varios paradigmas de programación en el
desarrollo de software
Link de acceso:
[Link]
ming_Languages_Course_Lecture_Notes

Título: "A Survey of Multi-Paradigm Programming Languages"


Autor(es): Jonathan Aldrich, et al.
Resumen: El artículo proporciona una visión general de los lenguajes de programación
que admiten múltiples paradigmas y explora las ventajas y desafíos asociados con su
uso.
Link de acceso: [Link]
 Lenguajes de Programación:
Título: "Python: A Comprehensive
Overview" Autor(es): B. Ramalingam
Resumen: El artículo ofrece una visión general detallada del lenguaje de programación
Link de acceso: Disponible en bases de datos académicas.
Título: "The Rust Programming Language"
Autor(es): Graydon Hoare, et al.
Resumen: Este artículo presenta el lenguaje de programación Rust, destacando sus
características de seguridad y rendimiento, así como su uso en aplicaciones de sistemas.
Link de acceso: [Link]
Título: "A Comparative Study of Programming Languages in Rosetta Code"
Autor(es): Sebastian Nanz, et al.
Resumen: El estudio analiza el rendimiento de diferentes lenguajes de programación
Link de acceso: [Link]
Conclusiones

 Diversidad de Enfoques Creativos: Los paradigmas de programación ofrecen


a los programadores una variedad de enfoques creativos para abordar
problemas de programación. Cada paradigma tiene sus propias ventajas y
desafíos, lo que permite a los desarrolladores elegir el enfoque más adecuado
para un proyecto específico. Esto fomenta la creatividad y la innovación en el
desarrollo de software.
 Lenguajes como Herramientas Específicas: Los lenguajes de programación
son herramientas específicas diseñadas para abordar ciertos tipos de
problemas. Cada lenguaje tiene sus propias características y ventajas. La
elección del lenguaje adecuado depende de la naturaleza del proyecto y los
objetivos del programador. La diversidad de lenguajes permite a los
desarrolladores seleccionar la herramienta más apropiada para la tarea en
cuestión.
 Adaptación a la Evolución Tecnológica: Los paradigmas y los lenguajes de
programación evolucionan con el tiempo para adaptarse a las demandas
cambiantes de la tecnología. Por ejemplo, los nuevos paradigmas como la
programación reactiva han surgido para abordar las necesidades de
aplicaciones en tiempo real y basadas en eventos. Los lenguajes también se
actualizan para incluir características más modernas y mejorar la eficiencia.
 Flexibilidad y Especialización: Los paradigmas y lenguajes de programación
ofrecen flexibilidad y especialización. Algunos paradigmas son ideales para
aplicaciones de tiempo real, mientras que otros son más adecuados para análisis
de datos o desarrollo web. Esta variedad permite a los desarrolladores adaptar
su enfoque a las necesidades específicas del proyecto, lo que resulta en software
más eficiente y eficaz.

En resumen, los paradigmas de programación y los lenguajes de programación son


esenciales en el mundo de la informática y permiten una variedad de enfoques para la
resolución de problemas y la creación de software. La elección adecuada de paradigma
y lenguaje es crucial para el éxito de un proyecto de desarrollo de software.
Bibliografía
 Libro en Castellano:
Título: "Estructura y diseño de programas"
Autor: Duane A. Bailey
Año: 2013
Editorial: McGraw-Hill Interamericana
 Libro en Inglés:
Título: "Clean Code: A Handbook of Agile Software Craftsmanship"
Autor: Robert C. Martin
Año: 2008
Editorial: Prentice Hall
 Artículo Científico en Inglés:
Título: "A Comparative Study of Programming Languages in Rosetta Code"
Autores: Sebastian Nanz, et al.
Año: 2013
Revista: ACM SIGPLAN Notices
 Libro en Castellano:
Título: "Estructura de datos en Java"
Autor: Mark Allen Weiss
Año: 2005
Editorial: Pearson Educación
 Libro en inglés:
Título: "Introduction to the Theory of Programming
Languages" Autor: Gilles Dowek
Año: 2009
Editorial: Springer
 Artículo Científico en inglés:
Título: "A Comparative Study of Programming Paradigms in Polyglot Programming"
Autores: Andrew Black,
Año: 2009
Conferencia: OOPSLA '09
 Libro en Castellano:
Título: "Aprende a Programar en Python"
Autor: Ángel Arias
Año: 2020
Editorial: Marcombo
 Artículo Científico en inglés:
Título: "Python: A Comprehensive Overview"
Autor: B. Ramalingam
Año: 2010
Revista: ACM Computing Surveys
 Libro en Castellano:
Título: "El Lenguaje de Programación C"
Autor: Brian W. Kernighan, Dennis M. Ritchie
Año: 1998
Editorial: Prentice Hall
 Libro en inglés:
Título: "The C++ Programming Language"
Autor: Bjarne Stroustrup
Año: 2013
Editorial: Addison-Wesley

También podría gustarte