Вы находитесь на странице: 1из 9

1|Página

Contenido

Introducción...............................................................................................................1

Antecedentes.............................................................................................................2

Disciplina de tipos......................................................................................................3

Conclusión.................................................................................................................6

Referencias bibliográficas..........................................................................................7

Contenido de tablas

Tabla 1 Lenguajes y sus disciplinas..........................................................................4

Contenido de ilustración
Ilustración 1 Programación imperativa......................................................................5
Ilustración 2 Diagrama abreviado de paradigma de programación..........................5

i|Página
Introducción

En programación imperativa la computación se realiza cambiando el estado


del programa por medio de sentencias que definen pasos de ejecución. Las dos
características principales del paradigma imperativo son, por tanto, la existencia
de estado modificable y la ejecución de sentencias de control del programa.

Los lenguajes de programación imperativos generalmente hacen uso de


procedimientos, rutinas o funciones impuras para establecer mecanismos de
control, que potencialmente generan efectos secundarios y mutan el estado del
programa durante su ejecución, a diferencia de los lenguajes de programación
declarativos, en donde los mecanismos de control están dados por funciones o
expresiones puramente matemáticas que carecen de efectos secundarios.

La programación imperativa, en contraposición a la programación


declarativa es un paradigma de programación que describe la programación en
términos del estado del programa y sentencias que cambian dicho estado. Los
programas imperativos son un conjunto de instrucciones que le indican al
computador cómo realizar una tarea.

En esta investigación muestra una explicación de la programación


imperativa junto con algunos de sus antecedentes junto con la disciplina del tipo
de programación imperativa, es decir la forma en que muestra los resultados la
programación, en otras palabras, la forma en la que se desarrolla de acuerdo a lo
que el usuario programa, junto con la lógica que relaciona a este paradigma.

1|Página
Antecedentes

Fue en el año de 1945 cuando el matemático Jhon Von Neumann fascinado


por las posibilidades de ENIAC (Electronic Numerical Integrator and
Computer) elaboró un estudio que demostró que una computadora podía
tener una estructura física muy simple y fija, y aun así ser capaz de ejecutar
cualquier tipo de programa mediante un control correcto, sin la necesidad
de modificar la computadora para esto. 

Máquinas de Turing – Alan Turing (1912-1954) – secuencias de comandos,


transiciones entre estados explícitas, actualización mediante asignación.

En los años 60 se introducen conceptos de programación procedural en los


lenguajes de programación. La programación procedural es un tipo de
programación imperativa en el que los programas se descomponen
procedimientos (también llamados subrutinas o funciones). (1)

A finales de la década de los 70 la programación orientada a objetos


extiende estos conceptos y, siguiendo con el enfoque imperativo, introduce
otras características más avanzadas.

Lambda cálculo – Alonzo Church (1903-1995) – base formal para todos los
lenguajes funcionales, semántica, teoría de tipos – evaluación de
expresiones puras, sin asignación. (2)

2|Página
Disciplina de tipos

Los tipos se infieren, es decir se comprueban, de forma estática, en tiempo


de compilación.

En los idiomas de programación con disciplina de tipos, cada tipo


representa una colección de valores (datos) similares. Una función cuyo tipo sea
A1 -> An -> R esperan parámetros con tipos A1, . An y devuelve un resultado de
tipo R.  El conocer los tipos de las funciones ayuda a documentar los programas y
a evitar errores en tiempo de ejecución.

Haskell y otros lenguajes funcionales utilizan el sistema de tipos de Milner,


que tiene dos características fundamentales:

Disciplina estática de tipos

Los programas bien tipados se pueden conocer en tiempo de compilación.


Un programa bien tipado se puede utilizar sin efectuar comprobaciones de tipo en
tiempo de ejecución, estando garantizado que no se producirán errores de tipo
durante el cómputo.

Polimorfismo
Permite que una misma función se pueda aplicar a parámetros de
diferentes tipos, dependiendo del contexto en el que la función se utilice. (3)

Un lenguaje tiene disciplina de tipos si los errores de tipos se detectan


siempre es necesario determinar los tipos de todos los operandos, ya sea en
tiempo de compilación o de ejecución.

La programación imperativa, en contraposición a la programación declarativa


es un paradigma de programación que describe la programación en términos del
estado del programa y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al computador cómo
realizar una tarea.

3|Página
Lenguaje y disciplina de tipos

La implementación de hardware de la mayoría de computadores es


imperativa; prácticamente todo el hardware de los computadores está diseñado
para ejecutar código de máquina, que es nativo al computador, escrito en una forma
imperativa. Esto se debe a que el hardware de los computadores implementa el
paradigma de las Máquinas de Turing.
Tiene disciplina de Resuelve el
tipos (no hay problema de los
De sde esta perspectiva de bajo nivel, el estilo registros variantes
uniones).
del programa está definido por los contenidos realizando
comprobación
de la memoria, y las sentencias son dinamiza de tipos.
Tabla 1 Lenguajes y sus disciplinas. instrucciones en el lenguaje de máquina
nativo del computador. Los lenguajes imperativos de alto nivel usan
variables y sentencias más complejas, pero aún siguen el mismo paradigma.
Las recetas y las listas de revisión de procesos, a pesar de no ser programas de
computadora, son también conceptos familiares similares en estilo a la
programación imperativa; cada paso es una instrucción, y el mundo físico guarda el
estado (Zoom). (4)

Uno de los paradigmas más representativos de la programación y de hecho


el primer paradigma formalmente aceptado es el imperativo.

Imperar significa mandar, ordenar, y eso es exactamente lo que hacemos al


programar. (5)

4|Página
Ilustración 1 Programación imperativa

El paradigma imperativo apareció en los 50´s con los primeros lenguajes de


programación. También es llamado procedimental o algorítmico. (6)

Ilustración 2 Diagrama abreviado de paradigma de programación.

5|Página
Conclusión

Los paradigmas juegan un papel importante en el mundo de la


programación ya que a través de esta nos podemos hacer planteamientos para
desarrollar un software. Nos estructuran nuestra programación y nos dicen cómo
resolver el problema si a través de sentencias lógicas o matemáticas. También
ahora se pueden comprender mejor las diferentes definiciones de cada tipo de
paradigmas. Los lenguajes de programación a veces pueden tener influencias de
otros tipos de paradigmas.

Dependiendo el tipo de proyecto a desarrollar se pueden usar uno o más


paradigmas los cuales deben ser elegidos correctamente para el futuro éxito de
algún proyecto. Varios lenguajes de programación están especializados para usar
uno o más paradigmas de programación los cuales deberán ser elegidos de
acuerdo a como se quiera desarrollar el proyecto. Los diferentes paradigmas
emplean un papel fundamental en el medio de la programación ya que a través de
ellos podemos plantear el desarrollo de un software.

En esta investigación se muestra la diciplina que debe de tener los


lenguajes de programación, como la diciplina afecta más a unos que a otros
lenguajes y como la programación imperativa describe en términos de
programación el estado del programa y las sentencias que cambian dicho estado.
Y como se menciono al inicio de esta investigación la programación imperativa es
un conjunto de instrucciones que indican al computador como realizar la terea que
se le asigno.

6|Página
Referencias bibliográficas

(1) Domingo, D. (s.f.-b). Programación imperativa: mutación, sentencias y


closures. Recuperado 9 febrero, 2020, de
http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2010-
2011/teoria/tema7.html
(2) Anónimo, D. (2016, marzo). Historia de los lenguajes de programación
(Recuperado 9 de febrero, 2020) de
https://cs.famaf.unc.edu.ar/materias/paradigmas/public/uploads/historia.pdf

(3) Miguel Ángel Pérez y Bernardo Cruz, M. ((2016, 18 octubre). 1.4 Disciplina
de tipos. Recuperado 8 febrero, 2020, de http://programacion-logica-
funcional.blogspot.com/2016/03/14-disciplina-de-tipos.html
(4) Wilnèl J. Verdú Guerrero, W., & Mauricio García de Ceca G., M. (s.f.).
Software libre para el control y gestión de los procesos administrativos y
académicos de instituciones privadas de educación para los ciclos básico,
medio y diversificado., Tesis de grado en Computación en la Universidad
Nueva Esparta, Caracas, Venezuela. - Google Play. Recuperado 8 febrero,
2020, de https://play.google.com/books/reader?id=iYmFBAAAQBAJ
(5) Anónimo, A. (2014, 18 julio). PARADIGMA IMPERATIVO. Recuperado 8
febrero, 2020, de http://jenpao623.blogspot.com/2014/09/paradigma-
imperativo.html
(6) LOOPA, L. (2018, 24 mayo). Paradigmas de Programación: Programación
Imperativa y Programación Declarativa. Recuperado 8 febrero, 2020, de
https://medium.com/@Loopa/paradigmas-de-programaci%C3%B3n-
programaci%C3%B3n-imperativa-y-programaci%C3%B3n-declarativa-
4c4a4182fd87

7|Página

Вам также может понравиться