Herramientas de Programación

Anuncio
Herramientas de
Programación
Prof. Yudith Cardinale
email: [email protected],
[email protected]
Ofic.: Mys 220-A
Contenido
➢
➢
➢
➢
➢
Presentación del curso
Evolución histórica de los sistemas de
computación
Evolución de los lenguajes de programación
Clasificación de los lenguajes de
programación
Compilación e interpretación
Evaluación
Examen escrito (20%)
Presentación oral (20%)
Proyecto (30%)
Informe (10%)
Programa (20%)
Talleres (30%)
Tema de expocisiones
Programación
orientada a
aspectos
Haskel
Prolog
PHP
JSP
Javascript
Eclipse (plugins C++, C, PHP,..)
App Inventor
Gambas
Exposiciones
15-20
min
Contenido
◦ Definición
◦ Areas de aplicación
◦ Ejemplos Básicos
◦ Relaciones con otras herramientas
(versiones, plugins, interfaces)
Historia de la Computación
Ábaco:
- Instrumento de cálculo más antiguo
- Se considera su origen desde hace
más de 5000 años
La Pascalina
Leonardo Da Vinci (1452-1519)
Blaise Pascal (1623-1662)
Se considera el antepasado
Remoto del actual computador
Historia de la Computación
“Locura de Babbage”:
Máquina de diferencias:
1811 propone el diseño
1822 presentó el modelo
60 sumas por minuto
sumar, restar, logaritmos, polinomios
Máquina analítica:
1833 propone el diseño de una
máquina programable
Tarjetas perforadas
No construyó un modelo
Historia de la computación
Tarjeta perforadora por Joseph-Marie Jackard (1753-1834)
En 1843 Lady Ada Augusta Lovelace sugiere adaptar las
tarjetas perforadoras
al motor de Babbage (Primera programadora)
Historia de la Computación
International Bussines Machines
Corporation (IBM)
Máquina electromagnética de
Contabilidad (Herman Hollerit
(1860-1929) primer informático)
-
la
el
el
la
el
el
el
el
la
perforadora de tarjetas,
verificador,
reproductor,
perforación sumaria,
intérprete,
clasificador,
cotejador,
calculador y
máquina de contabilidad
Historia de la computación
ENIAC, 1946 Electronic Numerical
Integrator And Computer (Atanasoff
Berry Computer, 1938 o Z1, 1938 )
Fue el primer ordenador totalmente
electrónico, estaba compuesta por
20.000 válvulas de vacío,
70.000 resistores y
500.000 soldaduras hechas a mano.
La unidad necesitaba 160 kw de
electricidad
Pesaba 30 toneladas y ocupaba un
espacio de 450 mts cuadrados
Conectada a un tablero con más de
6000 Interruptores
Sistema decimal
Primera Generación de
Computadoras (de 1951 a 1958)
Notación
binaria
Interpretador
COBOL
Common
business oriented
Language (1952)
EDVAC (Eletronic Discrete-Variable Automatic Computer)
Von Neumann 1945
Primera Generación de
Computadoras (de 1951 a 1958)
Gran tamaño
Escasa capacidad
de cómputo y
Almacenamiento
Programados en
lenguaje de
máquina
Posteriormente
Surgen los lenguajes
ensambladores
Segunda Generación (1959-1964)
Transistores
Compatibilidad
Sistemas
limitada
batch
Múltiples programas en disco
Tercera Generación (1964-1971)
Circuitos
integrados
Compatibilidad con equipo mayor
Multiprogramación
Minicomputadora Transistores
Interacción con el usuario
(tiempo compartido)
Tercera Generación (1964-1971)
Multiprogramación
Interrupt
Processing
Device
Drivers
Job
Sequencing
Control Language
Interpreter
Monitor
Boundary
Tercera Generación (1964-1971)
Tiempo
compartido
Interrupt
Processing
Device
Drivers
Job
Sequencing
Control Language
Interpreter
Monitor
Terminal
Terminal
job1
Usuarios
job2
job3
free
Terminal
Terminal
La cuarta Generación (1971 a la
fecha)
Microprocesador
–
Computadores personales
Chips de memoria.
Microminiaturización
Interfaces gráficas
Eficiencia
Redes - Internet
Arquitectura de un computador
Arquitectura de un computador
Evolución de los Lenguajes
de Programación
Razones de la diversidad de
lenguajes de programación
Evolución
Propósitos
especiales
Prefrencias personales
Razones del éxito de un
lenguaje de programación
Poder
Expresivo
Facilidad de uso para novatos
Facilidad de implementación
Excelentes compiladores
Economía, patronato e inercia
Clasificación de los lenguajes
Nivel
de abstracción
Forma de ejecución
Paradigma de programación
Nivel de Abstracción
Máquina
Bajo
nivel
Medio nivel
Alto nivel
Forma de ejecución
Lenguajes
compilados
Lenguajes Interpretados
Paradigma de programación
Imperativo
o por procedimientos
Funcional
Lógico
Orientado
por Objetos
Lenguaje Imperativo
Instrucciones
ejecutadas
secuencialmente
Declaración de variables, tipos y
procedimientos
Baja al nivel de la máquina para
describir el proceso llevado a
cabo por el programa
Ejemplos: Pascal, C, Fortran, Java
Lenguaje funcional
Constituido
por definiciones de
funciones matemáticas
No hay asignación de variables,
ni las secuencias o iteración
Ejemplos:
Haskell, Miranda, R, Lisp, Scala,
Scheme, ML, Erlang
Lenguaje funcional
Lenguaje funcional
Factorial (en LISP)
Break 114 [117]> (defun factorial(n)
(if (= n 0)
1
(* n (factorial (- n 1)))))
FACTORIAL
Break 114 [117]> (FACTORIAL 5)
120
Lenguaje lógico
Programas
escritos en un
subconjunto de lógica de primer
orden
Una base de datos de relaciones
lógicas y detalles que se cumplen
para la aplicación
Especificación (reglas)
Datos (hechos)
Ejemplos:
Máquina
lógica
Resultados
Prolog, Alf, Mercury
Lenguaje Lógico
Lenguaje Orientado a
Objetos
Usa
objetos y sus interacciones
para diseñar aplicaciones
Un objeto incluye toda la
información que permite definirlo
e identificarlo.
Java
C++
¿Porqué estudiamos los
lenguajes?
Facilita
el aprendizaje del
lenguaje
Permite entender características
del lenguaje
Ayuda a la escogencia entre
alternativas
Contribuye a hacer buen uso de
las herramientas relacionadas.
Compilación e Interpretación
COMPILADOR
Compilación e Interpretación
COMPILADOR
Compilación e Interpretación
Interpretador
Traductor
Enlazador (link)
Compilador + Assembler
Material de apoyo
Capítulo
1 Libro “Cómo
programar en Java” de Deitel &
Deitel
http://www.portalplanetasedna.c
om.ar/computacion.htm
http://www.ldc.usb.ve/~yudith/do
cencia/Telematica/organizacionhe
rramientas.html
Descargar