Vous êtes sur la page 1sur 13

INSTITUCION UNIVERSITARIA CESMAG

FACULTA: INGENIERIA DE SISTEMAS

MATERIA: PROYECTO PEDAGOGICO DISIPLINAR

ESTUDIANTES:

Paulo Díaz
Carlos Galeano
Cristian Paz
Jorge Romo

CONTENIDO

1.- HISTORIA DE LOS LENGUAJES DE PROGRAMACION

2.- CARACTERISTICAS DE LOS LENGUAJES DE PROGRAMACION

3.- DEFINICION DE PARADIGMA

4.- PARADIGMA DE PROGRAMACION

5.- HISTORIA DEL PARADIGMA DE PROGRAMACION

6.- WEBGRAFIA
HISTORIA DE LOS LENGUAJES DE PROGRAMACION
Los primeros lenguajes de programación surgieron de la idea de Charles
Babagge, la cual se le ocurrió a este hombre a mediados del siglo XIX. Era un
profesor matemático de la universidad de Cambridge e inventor ingles, que al
principio del siglo XIX predijo muchas de las teorías en que se basan los actuales
ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que
por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él
colaboro Ada Lovedby, la cual es considerada como la primera programadora de
la historia, pues realizo programas para aquélla supuesta maquina de Babagge,
en tarjetas perforadas. Como la maquina no llego nunca a construirse, los
programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen
un punto de partida de la programación, sobre todo si observamos que en cuanto
se empezó a programar, los programadores utilizaron las técnicas diseñadas por
Charles Babagge, y Ada, que consistían entre otras, en la programación mediante
tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera
programadora de la historia. Se dice por tanto que estos dos genios de antaño, se
adelantaron un siglo a su época, lo cual describe la inteligencia de la que se
hallaban dotados.

En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de


diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge
se dedico al proyecto de la máquina analítica, abandonando la máquina de
diferencias, que se pudiera programar con tarjetas perforadas, gracias a la
creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos
y había creado un telar que podía reproducir automáticamente patrones de tejidos,
leyendo la información codificada en patrones de agujeros perforados en tarjetas
de papel rígido. Entonces Babagge intento crear la máquina que se pudiera
programar con tarjetas perforadas para efectuar cualquier cálculo con una
precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer
realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de
forma definitiva, su contribución es decisiva, ya que los ordenadores actuales
responden a un esquema análogo al de la máquina analítica. En su diseño, la
máquina constaba de cinco unidades básicas:

1) Unidad de entrada, para introducir datos e instrucciones.

2) Memoria, donde se almacenaban datos y resultados intermedios.

3) Unidad de control, para regular la secuencia de ejecución de las operaciones.

4) Unidad Aritmético−Lógica, que efectúa las operaciones.

5) Unidad de salida, encargada de comunicar al exterior los resultados.

Charles Babbage, conocido como el "padre de la informática" no pudo completar


en aquella época la construcción del computador que había soñado, dado que
faltaba algo fundamental, la electrónica. El camino señalado de Babbage, no fue
nunca abandonado y siguiéndolo, se construyeron los primeros computadores.

Cuando surgió el primer ordenador, el famoso ENIAC (Electronic Numerical


Integrator And Calculator), su programación se basaba en componentes físicos, o
sea, que se programaba, cambiando directamente el Hardware de la maquina,
exactamente lo que sé hacia era cambiar cables de sitio para conseguir así la
programación de la maquina. La entrada y salida de datos se realizaba mediante
tarjetas perforadas.

Podemos completar nuestra historia de los lenguajes de programación con un


diagrama muy completo de estos lenguajes:

CRONOLOGÍA.
FECHA LENGUAJE ACONTECIMIENTO
Job Backus propone el desarrollo de un nuevo
1953 FORTRAN
lenguaje
Un equipo de IBM comienza a trabajar en el
1954 FORTRAN
FORTRAN
1957 FORTRAN IBM desarrolla la primera versión
El profesor John McCarthy y sus alumnos desarrolla el
1959 LISP
LISP
Se reúnen representantes europeos y de EEUU para
1960 ALGOL
la creación de un nuevo lenguaje
1960 COBOL Fue creado COBOL
Se publica el libro de Kenneth Iverson “A
1962 APL
Programming Language
Mediado de El APL es implantado por IBM en una versión
APL
los 60 conocida como APL/360
1965 BASIC Aparece BASIC
1966 FORTRAN Aparece el FORTRA IV
1968 ALGOL Se implemento una nueva versión multi-proposito
Finales de
APL Está disponible para el mercado en general
los 60
1970 PASCAL Niklaus Wirth diseña PASCAL
Se desarrolla en la Universidad de Aix-Marsailles en
1972 PROLOG
Francia.
1972 C Dennis Ritchie crea el lenguaje C.
1977 FORTRAN Aparece el FORTRAN 77
Finales de
MODULA-2 Niklaus Wirth dirige el desarrollo de MODULA-2
los 70
Principio de
C++ Se desarrolla el lenguaje C++
los 80
1985 CLIPPER Se crea CLIPPER
1986 CLIPPER Aparece CLIPPER AUTUMN'86
1987 CLIPPER CLIPPER SUMMER'87
1990 FORTRAN Aparece el FORTRAN 90
Principios James Gosling y su equipo comienzan a desarrollar
JAVA
90 JAVA
1993 Visual C++ Se desarrolla el lenguaje Visual C++
1994 DELPHI Aparece la primera versión
1995 JAVA Se lanza al mercado JAVA
1999 DELPHI Aparece Delphi 5.0 para windows 98 NT/2000

CARACTERÍSTICAS DE LOS LENGUAJES DE PROGRAMACIÓN

Las computadoras calculan eléctricamente por medio de pulsos de corriente y


voltajes que representan formas de comunicación por demás ajenas al lenguaje
humanos. Así pues, el medio que permite entablar la comunicación con las
máquinas se conoce como “lenguaje de programación”. Aún con su corta
duración, la historia de la computación electrónica ha producido varios cientos de
lenguajes de programación ampliamente reconocidos y utilizados. Al principio se
acercaban mucho al lenguaje propio de las computadoras (ceros y unos), pero se
han ido transformando para acercarse más a las lenguas humanas como el inglés
o bien a formas gráficas más expresivas y sintéticas. Entre más cercano a la
computadora es un lenguaje se le denomina de bajo nivel, lo contrario es de alto
nivel. Existen cinco generaciones de lenguajes de programación, en donde cada
uno mejora a sus predecesores en cuanto a las facilidades que otorga al
programador.

LENGUAJE MÁQUINA:

El lenguaje máquina, el de más bajo nivel, representa datos e instrucciones con


dígitos binarios (0s y 1s), y el elemento ejecutor es la circuitería misma de la
computadora. Al principio de la comunicación electrónica cada máquina tenía su
propio lenguaje, y los programadores tenían sistemas rudimentarios para combinar
números que representaran instrucciones simples como SUMAR y COMPARAR.
Los métodos de programación en este lenguaje son tediosos e imprácticos, por lo
que la comunidad del cómputo se movió rápidamente para desarrollar lenguajes
ensambladores

LENGUAJES ENSAMBLADORES:

En su momento, los lenguajes ensambladores constituyeron un gran avance; en


lugar de usar ceros y unos se utilizan códigos mnemónicos (para ayudar a la
memoria) o abreviatura fáciles de recordar para las instrucciones: ADD (sumar),
STO (almacenar), C (comparar), etcétera. Para usar un lenguaje ensamblador se
requiere un lenguaje traductor que convierta los programas en ensamblador a
lenguaje máquina que es el único que comprende la computadora. Este traductor
se llama programa ensamblador. Aun cuando los ensambladores representaron un
paso adelante, todavía tenían muchos inconvenientes, por ejemplo, que son
detallados en extremo y su programación es tediosa, repetitiva y propensa al error.

LENGUAJE DE ALTO NIVEL:

La investigación sobre los lenguajes de alto nivel se iniciaen 1945, con el


ingeniero alemán Konrad Zuse, pero hasta el inicio de los 1960 que se generaliza
su uso, transformando radicalmente la actividad de la programación. Estos
lenguajes se asemejan más a la lengua humana, particularmente el inglés, con
menos detallados y con menos declaraciones describen tareas más complejas
para la computadora. Como resultado, los programadores logran trabajos de
mayor alcance y con menos esfuerzo. Obviamente se requiere de un traductor de
las declaraciones simbólicas de un lenguaje de alto nivel al lenguaje máquina
ejecutable por la computadora, estos traductores se llaman compiladores (el
primero se desarrolló en 1952). Existen compiladores para cada lenguaje y cada
máquina, pero una ventaja de los lenguajes de alto nivel es que se pueden
trasladar de una máquina a otra con pocas o nulas modificaciones. Entre los
lenguajes de esta generación se encuentran los de propósito general como
BASIC, FORTRAN y COBOL que han sido muy populares. Además se encuentran
Pascal, C y sus derivados.

LENGUAJE DE MUY ALTO NIVEL:

Los lenguajes de la cuarta generación, 4GL’s, son llamados lenguajes de muy alto
nivel. Su definición es más complicada que los anteriores. Se trata esencialmente
de los lenguajes de programación taquigráficos; una operación que requiere de
cientos de líneas en un lenguaje de tercera generación, como COBOL, requiere
típicamente de unas cinco a diez líneas en uno de cuarta generación. Entre las
características de estos lenguajes está el que no es de procedimientos. En los
lenguajes de procedimientos se dice con detalle a la computadora la tarea a
realizar. En los declarativos se define solamente lo que se haga. Por ejemplo,
producir un reporte del tratamiento realizado a un conjunto de datos. Enfatizan el
qué en lugar del cómo. Obviamente los que elaboran lenguajes declarativos han
hecho trabajo que para muchos de los usuarios mejoran la productividad, porque
los programas son más fáciles de escribir y actualizar, pueden ser usados con un
mínimo de entrenamiento y ahorran al usuario la necesidad de conocer a fondo el
hardware y la programación. Entre los inconvenientes de estos lenguajes se
encuentra que no han uso eficiente de los recursos computacionales.

LENGUAJE NATURAL:

En la quinta generación se encuentran los llamados Lenguajes naturales, por su


acercamiento a la lengua escrita. El uso de un lenguaje natural con una base de
conocimientos produce un sistema basado en el conocimiento. Una clase de estos
sistemas son los Sistemas expertos, que son base de la Inteligencia Artificial. (IA).

DEFINICION PARADIGMA

Paradigma es un modelo o patrón en cualquier disciplina científica u otro contexto


epistemológico. El concepto fue originalmente específico de la gramática; en 1900
el diccionario Merriam-Webster definía su uso solamente en tal contexto, o en
retórica para referirse a una parábola o a una fábula. En lingüística, Ferdinand de
Saussure ha usado paradigma para referirse a una clase de elementos con
similitudes. El término tiene también una concepción en el campo de la psicología
refiriéndose a acepciones de ideas, pensamientos, creencias incorporadas
generalmente durante nuestra primera etapa de vida que se aceptan como
verdaderas o falsas sin ponerlas a prueba de un nuevo análisis.

Un Paradigma Científico puede definirse como un principio de distinciones –


relaciones – oposiciones fundamentales entre algunas naciones matrices que
generan y controlan en pensamiento, es decir, la constitución de teorías y la
predicción de los discursos de los miembros de una comunidad Científica
determinada.

Un paradigma es el resultado de un proceso social en el cual un grupo de personas


desarrolla nuevas ideas y crea principios y prácticas alrededor de estas ideas, y no
solamente un conjunto de prácticas y conocimientos objetivamente validados.

Más específicamente para la ciencia de la computación, probablemente fue Robert


Floyd4 quien habló por primera vez del término Paradigmas de Programación y
quien los definió como un proceso de diseño que va más allá de una gramática,
reglas semánticas y algoritmos, sino que es un conjunto de métodos sistemáticos
aplicables en todos los niveles del diseño de programas.

PARADIGMA DE PROGRAMACION

Es una propuesta tecnológica que es adoptada por una comunidad de


programadores cuyo núcleo central es incuestionable en cuanto a que
unívocamente trata de resolver uno o varios problemas claramente delimitados. La
resolución de estos problemas debe suponer consecuentemente un avance
significativo en al menos un parámetro que afecte a la ingeniería de software.
Tiene una estrecha relación con la formalización de determinados lenguajes en su
momento de definición. Un paradigma de programación está delimitado en el
tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o
mejores soluciones que la sustituyen parcial o totalmente.

Tradicionalmente datos y procesamiento se han separado en areas diferente del


diseño y la implementación de software. Esto provocó que grandes desarrollos
tuvieran problemas de fiabilidad, mantenimiento, adaptación a los cambios y
escalabilidad. Con la orientación a objetos y características como el encapsulado,
polimorfismo o la herencia se permitió un avance significativo en el desarrollo de
software a cualquier escala de producción.

TIPOS DE PARADIGMAS

PARADIGMA IMPERATIVO:

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.

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. Desde esta perspectiva de bajo nivel, el estilo del
programa está definido por los contenidos de la memoria, y las sentencias son
instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el
lenguaje ensamblador).

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).

PARADIGMA FUNCIONAL:

Este tipo de paradigma demuestra un tipo de programación en forma de funciones


matemáticas. Los lenguajes puramente funcionales evitan efectos secundarios
que pueden ser comunes en otros tipos de paradigmas.

El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en


los que no sea necesario bajar al nivel de la máquina para describir el proceso
llevado a cabo por el programa, y evitando el concepto de estado del cómputo. La
secuencia de computaciones llevadas a cabo por el programa se regiría única y
exclusivamente por la reescritura de definiciones más amplias a otras cada vez
más concretas y definidas, usando lo que se denominan "definiciones dirigidas".

PARADIGMA LÓGICO:

Se definen reglas lógicas que luego a través de un motor de inferencias lógicas,


resolver problemas planteados por el sistema. Algunos programas que utilizan el
paradigma lógico: prolog. Hay muchos más paradigmas de programación y cada
uno de ellos posee sus ventajas y desventajas, sin embargo sea el paradigma que
elijamos podremos resolver todos los problemas por caminos diferentes a los
demás.

PARADIGMA ORIENTADO A OBJETOS:

Este tipo de programación posee como idea principal encapsular estado y


operaciones en objetos. Estos objetos pueden comunicarse entre si, poseen
clases y herencia. Se puede destacar como ventaja la facilidad de reutilización de
código. Algún ejemplo de algunos lenguajes orientados a objetos pueden ser:
Simula, Smalltalk, C++, Java, Visual Basic .NET, etc.

PARADIGMA ESTRUCTURADO:

Básicamente el código se divide en bloques, estructuras, que pueden o no


comunicarse entre sí. Este software se controla con secuencia, selección e
interacción. Otorga una mejor comprensión del código y permite su reutilización de
una forma más fácil.

HISTORIA DEL PARADIGMA DE LA PROGRAMACIÓN ESTRUCTURADA

El origen de la programación estructurada se encuentra en el teorema del


programa estructurado, que proporciona las bases teóricas sobre las que ésta se
sustenta. Este teorema establece que cualquier programa puede ser escrito
mediante la combinación de tres estructuras de control de programa: secuencia,
iteración y condición. Estas tres estructuras de control no se originaron en el
paradigma de programación estructurada, pues ya se emplearon para describir el
ciclo de instrucciones de una CPU y el funcionamiento de una máquina de Turing.
De este modo, se da la paradoja de que un procesador siempre está ejecutando
un programa estructurado, aunque las instrucciones que lea de la memoria sean
parte de un programa orientado a objetos.

El paradigma de programación estructurada se basa en que todo programa de


ordenador se puede escribir a partir de tres estructuras de control básicas:
secuencia, iteración/bucle y condición/bifurcación.

Este teorema no establece cómo se debe escribir y analizar un programa


estructurado, encargándose de este estudio el paradigma de programación
estructurada, desarrollado a finales de los años 60 y durante la década de los 70
con las importantes contribuciones de Dijkstra, Floyd, Hoare o Gries. La figura de
Dijkstra es la que más comúnmente aparece ligada a la programación
estructurada. Entre los principios que según Dijkstra debía cumplir un programa
estructurado, cabe destacar el de alta especialización o separación de conceptos
(divide y vencerás), el de incorrección del uso de la sentencia GOTO o el de punto
único de entrada y salida (toda función o bloque debe tener un único punto de
entrada, y un único punto de salida).
Dijkstra introdujo los principios de especializacion funcional (divide y vencerás),
puntos únicos de entrada y de salida de funciones y programas, diseño desde
arriba hacia abajo (top-down) y abolición de la sentencia GOTO para mantener un
flujo coherente de programa. Estos principios son los fundamentos de la
programación estructurada.

Durante estos años, se produjo cierta controversia acerca de una de las


afirmaciones más polémicas del paradigma de programación estructurada: la
necesidad de suprimir la sentencia GOTO (que rompe el ciclo de ejecución lineal
de un programa). No obstante, a principios del siglo XXI la programación
estructurada ha pasado a ser un paradigma de programación ampliamente
aceptado, de tal forma que paradigmas como el de la programación orientada a
objetos o el de la programación orientada a aspectos son súper conjuntos de ésta,
y lenguajes como COBOL o BASIC que inicialmente solo eran imperativos
pasaron a incorporar las estructuras de control de la programación estructurada.

WEBGRAFIA

- http://definicion.de/paradigma/

- http://www.bibliotecapleyades.net/esp_paradigmaholo03.htm

- http://netgocios.bligoo.com/content/view/37882/Que-es-un-paradigma.html

- http://www.scribd.com/doc/19990206/Caracteristicas-de-los-lenguajes-de-
programacion

- http://expo.itchihuahua.edu.mx/view.php?f=prog_10#page1

- http://www.google.com/#q=historia+de+paradigma+de+programacion&hl=es&b
iw=1366&bih=575&prmd=ivns&tbs=tl:1&tbo=u&ei=9O9TTb_zLNLSgQfjgsWjC
Q&sa=X&oi=timeline_result&ct=title&resnum=11&ved=0CF8Q5wIwCg&fp=ad1
00d009c7194fc

- http://www.worldlingo.com/ma/enwiki/es/Programming_paradigm

- http://www.slideshare.net/yamili7/paradigmas-de-programacion

Vous aimerez peut-être aussi