Title: Diapositiva 1
1(No Transcript)
2LENGUAJE DE PROGRAMACION
- sistema de escritura para la descripción precisa
de algoritmos o programas informáticos. - Los lenguajes de programación son herramientas
que nos permiten crear programas y software.
Entre ellos tenemos Delphi, Visual Basic, Pascal,
Java, etc.. - Una computadora funciona bajo control de un
programa el cual debe estar almacenado en la
unidad de memoria tales como el disco duro. - Los lenguajes de programación de una computadora
en particular se conoce como código de máquinas o
lenguaje de máquinas.
3HISTORIA
- Los lenguajes de programacion surge de Charles
Babagge SXIX. - Predijo mucha de las teorias en que se basan las
actuales ordenadores,esto consistia en la
maquina analitica. - Por metivos tecnicos no se realizo hasta SXX con
la colaboracion de Ada Lovedby programo en
tarjetas perforadas para la maquina de babagge,
considerada la programadora. - La maq analitica no se construyo.
- En1823 el gob britanico apoyo para crear la maq
de diferencias dispositivo mecanico para
efectuar sumas. - Babagge abandona el proyecto y se dedica a la
maquina analitica que contaba de 5 unidades
basicas 1) Unidad de entrada. - 2) Memoria.
- 3) Unidad de control.
- 4) Unidad Aritmético-Lógica.
- 5) Unidad de salida.
- BABAGGE PADRE DE LA INFORMATICA NO REALIZO SUS
INVENTOS POR FALTA DE LA ELECTRONICA.
4TIPOS DE LENGUAJES DE PROGRAMACION
5SEGÚN NIVEL DE ABSTRACCIÓN
6LENGUAJE DE MAQUINA
- El lenguaje de máquina de una computadora consta
de cadenas de números binarios (0 y 1) y es el
único que "entienden" directamente los
procesadores. - Todas las instrucciones preparadas en cualquier
lenguaje de máquina tienen por lo menos dos
partes. Especifican una operación y una dirección
de memoria. - Las instrucciones en lenguaje máquina dependen
del hardware de la computadora y, por tanto ,
diferirán de una computadora a - otra.
7VENTAJAS
- Transferir un programa a la memoria sin necesidad
de traducción posterior. - Velocidad de ejecución superior a cualquier otro
lenguaje de programación.
8DESVENTAJAS
- Dificultad y lentitud en la codificación,
- Poca fiabilidad,
- Dificultad grande de verificar y poner a punto
los programas, - Los programas sólo son ejecutables en el mismo
procesador.
9LENGUAJE ENSAMBLADOR
- Lenguaje de programación que posee una gramatica
y estructura. - Trabaja directamente con el microprocesador por
lo cual se debe de conocer el funcionamiento
interno de este. - No puede ser ejecutado directamente en la
computadora, sino que requiere de una - traducción a lenguaje de máquina.
- El traductor de programas se llama
- emsamblador.
- Existen dos tipos ensambladores básicos y
ensambladores modulares, o macro - ensambladores.
10VENTAJAS
- Velocidad .- Como trabaja directamente con el
microprocesador al ejecutar un programa, pues
como este lenguaje es el mas cercano a la máquina
la computadora lo procesa mas rápido. - Eficiencia de tamaño .- Un programa en
ensamblador no ocupa mucho espacio en memoria
porque no tiene que cargan librerías y demás como
son los lenguajes de alto nivel - Flexibilidad .- Es flexible porque todo lo que
puede hacerse con una máquina, puede hacerse en
el lenguaje ensamblador de esta máquina.
11DESVENTAJAS
- Tiempo de programación.- Requiere más
instrucciones para realizar el mismo proceso, en
comparación con un lenguaje de alto nivel. - Programas fuente grandes.- Por las mismas razones
que aumenta el tiempo, crecen los programas
fuentes simplemente requerimos más instrucciones
primitivas para describir procesos equivalentes..
- Peligro de afectar recursos inesperadamente.- Es
posible al cometer errores programando afectar
los recursos de la maquina, y esta se puede
bloquear o reiniciar. - Falta de portabilidad.- Para cada máquina existe
un lenguaje ensamblador.
12LENGUAJE DE ALTO NIVEL
- Es aquel que se aproxima más al lenguaje natural
humano que al lenguaje binario de las
computadoras, el que se conoce como lenguaje de
bajo nivel. - Es independiente de un hardware determinado
- Utiliza palabras del lenguaje humano (por lo
general el inglés) - Expresa los algoritmos de una manera adecuada a
la capacidad cognitiva humana, en lugar - de a la capacidad ejecutora de las
- máquinas.
13VENTAJAS
- Son más fáciles de aprender que los lenguajes
ensambladores. - Se pueden escribir más rápidamente.
- Permiten mejor documentación.
- El tiempo de formación de los programadores es
relativamente corto comparado con otros
lenguajes. - La escritura de programas se basa en reglas
sintácticas similares a los lenguajes humanos. - Reducción del coste de los programas.
- Transportabilidad.
14DESVENTAJAS
- La gran cantidad de lenguajes que existen
actualmente en uso, además de las diferentes
versiones o dialectos que se han desarrollado de
algunos de ellos. - Incremento del tiempo, al necesitarse diferentes
traducciones del programa fuente para conseguir
el programa definitivo. - No se aprovechan los recursos internos de la
máquina, que se explotan mucho mejor en lenguajes
maquina y ensambladores. - Aumento de la ocupación de memoria.
- El tiempo de ejecución de los programas es mucho
mayor.
15COBOL
- Creado en 1960 por un comité denominado CODASYL,
patrocinado por el Departamento de Defensa de los
Estados Unidos. - Su nombre proviene de COmmon Business Oriented
Language. - Fue diseñado inspirándose en el lenguaje
FLOW-MATIC de Grace Hopper y el IBM COMTRAN de
Bob Bemer. - En 1968 salió la primera versión ANSI del
lenguaje, siendo revisada posteriormente en 1974
(COBOL ANS-74), 1985 (COBOL ANS-85, ampliado en
1989 con funciones matemáticas, finalizando el
estándar actual más usado, conocido como
COBOL-ANSI). - En la revisión de 2002 (COBOL ANS-2002) se le
añadió orientación a objetos, aunque desde la
revisión de 1974 se podía crear un entorno de
trabajo similar a la orientación a objetos, y un
método de generación de pantallas gráficas
estandarizado Actualmente se está preparando
otra revisión que se espera que esté finalizada
para el año 2008. - Entre sus inconvenientes están sus rígidas reglas
de formatos de escritura, la necesidad de
describir todos los elementos al máximo detalle,
la extensión excesiva en sus sentencias e incluso
duplicación en algunos casos, la inexistencia de
funciones matemáticas y, por último, su no
adecuación a las técnicas de programación
estructurada.
16FORTRAN
- Abreviatura de Fórmula Translator (traductor de
fórmulas), fue definido alrededor del año 1955 en
los Estados Unidos por la compañía IBM. - Es el más antiguo de los lenguajes de alto nivel,
pues antes de su aparición todos los programas se
escribían en lenguaje ensamblador o en lenguaje
máquina. - Es un lenguaje especializado en aplicaciones
técnicas y científicas, caracterizándose por su
potencia en los cálculos matemáticos, pero
estando limitado en las aplicaciones de gestión,
manejo de archivos, tratamiento de cadenas de
caracteres y edición de informes. - El lenguaje fue diseñado teniendo en cuenta que
los programas serían escritos en tarjetas
perforadas de 80 columnas. Así por ejemplo, las
líneas debían ser numeradas y la única alteración
posible en el orden de ejecución era producida
con la instrucción goto. - Estas características han evolucionado de versión
en versión. Las actuales contienen subprogramas,
recursión y una variada gama de estructuras de
control.
17C
- Fué diseñado alrededor de 1970 por Dennis
Ritchie, de los Laboratorios Bell. Se emplea para
escribir compiladores y sistemas operativos
actualmente el lenguaje C es uno de los más
usados junto con sus derivados (visual C, C,
C, etc). - Un programa en C consta de módulos que pueden
llamarse recursivamente, pero no de manera
anidada. El manejo de la memoria es dinámico. - La base del lenguaje fue creada por programadores
y para programadores, a diferencia de otros
lenguajes como Basic o Cobol que fueron creados
para que los usuarios resolvieran pequeños
problemas de sus ordenadores y el segundo para
que los no programadores pudiesen entender partes
del programa. - Combina la programación estructurada de los
lenguajes de alto nivel con la flexibilidad del
ensamblador. - Aunque fue diseñado inicialmente para la
programación de sistemas, posteriormente su uso
se ha extendido a aplicaciones técnico-científicas
, de bases de datos, de proceso de textos, etc.
18Según su ejecución
19COMPILADORES
- Diseno de algoritmo
- Programa en un papel
Programa en un archivo en el disco duro
- Introduccion
- Modificacion
Editor de texto
- Almacenamiento
- Recuperacion
20 Lenguaje de Alto Nivel
No entiende
traducido
Lenguaje maquina comprenda
Compilador
21 Lenguaje de Bajo Nivel
Lenguaje de Alto Nivel
Compilador del programa
DESVENTAJA
DIFERENTE COMPILADOR
22escrito
Introduce
Alto nivel
PROGRAMA
Maquina (editor)
traduce
llama
Codigo fuente
Lenguaje maquina
COMPILADOR
Almacena resultado
archivo
Codigo objeto
llamado
23INICIO
Prog.fuente
Compilar prog.
modificacion
ERRORES
programa
Prog. ejecutable
enlazador
ejecucion
24TRADUCTORES
traduce
PROGRAMA FUENTE
Ejecuta
Prog clasicos
Q. BASIC
Practicamente no utiliza
BASIC
RENACER
JAVA
aparicion
Computadoras personales
25Segun el Paradigma Programacional
26Lenguaje de Programación Imperativos
- Son aquellos lenguajes en los cuales se le ordena
a la computadora cómo realizar una tarea
siguiendo una serie de pasos o instrucciones. - Los lenguajes imperativos se basan en comandos u
órdenes que se le dan a la computadora para que
haga algo, con el fin de organizar o cambiar
valores en ciertas partes de la memoria. - BASIC, C, Java, Clipper, Dbase, C, PHP, Perl,
etc.
27- Los primeros lenguajes imperativos fueron los
lenguajes de máquina de los computadores
originales. En estos lenguajes, las instrucciones
fueron muy simples, lo cual hizo la
implementación de hardware fácil, pero
obstruyendo la creación de programas complejos.
Fortran, cuyo desarrollo fue iniciado en 1954 por
John Backus en IBM, fue el primer gran lenguaje
de programación en superar los obstáculos
presentados por el código de máquina en la
creación de programas complejos.
28Lenguajes Imperativos Procedurales
- En este tipo de lenguajes, la arquitectura consta
de una secuencia de celdas, llamadas memoria, en
las cuales se pueden guardar en forma codificada,
lo mismo datos que instrucciones y de un
procesador, el cual es capaz de ejecutar de
manera secuencial una serie de operaciones,
principalmente aritméticas y booleanas, llamadas
comandos .
29- Con un lenguaje procedural el usuario
(normalmente será un programador) especifica qué
datos se necesitan y cómo obtenerlos. - Estos lenguajes acceden a un registro, lo
procesan y basándose en los resultados obtenidos,
acceden a otro registro, que también deben
procesar. Así se va accediendo a registros y se
van procesando hasta que se obtienen los datos
deseados.
30BASIC
- El lenguaje BASIC fue creado en 1964 por los
norteamericanos John Kemeny y Thomas Kurtz. - Se uso para le aenseñanza y para la programacion
profesional. - Era un lenguaje poco estructurado y recibió
muchas críticas por promover malos hábitos de
programación.
31Lenguaje de Programación Orientados a Objetos
- El elemento fundamental de la OOP es, como su
nombre lo indica, el objeto. Podemos definir un
objeto como un conjunto complejo de datos y
programas que poseen estructura y forman parte de
una organización. - La programación orientada a objetos expresa un
programa como un conjunto de estos objetos, que
colaboran entre ellos para realizar tareas. Esto
permite hacer los programas módulos más fáciles
de escribir, mantener y reutilizar. - De esta forma, un objeto contiene toda la
información, (los denominados atributos) que
permite definirlo e identificarlo frente a otros
objetos.
32- A su vez, dispone de mecanismos de interacción
(los llamados métodos) que favorecen la
comunicación entre objetos, y en consecuencia, el
cambio de estado en los propios objetos. Esta
característica lleva a tratarlos como unidades
indivisibles, en las que no se separan (ni deben
separarse) información (datos) y procesamiento
(métodos). - Algunos lenguajes de POO Ada, Delphi, C,Ruby,
etc.
C
33DELPHI
- Delphi es un entorno de desarrollo de software
diseñado para la programación de propósito
general con énfasis en la programación visual. - En sus diferentes variantes, permite producir
archivos ejecutables para Windows, Linux y la
plataforma .NET.
34- Delphi está basado en una versión moderna de
Pascal, denominada Object Pascal. Borland en los
últimos años defendía que el nombre correcto del
lenguaje es también Delphi. - Pero en los manuales el nombre del lenguaje
aparecía como Object Pascal, por lo que la
comunidad de programadores no ha adoptado
mayoritariamente este cambio
35LENGUAJES DE PROGRAMACION DECLARATIVOS
- La programación declarativa es una forma de
programación que implica la descripción de un
problema dado en lugar de proveer una solución
para dicho problema, dejando la interpretación de
los pasos específicos para llegar a dicha
solución a un intérprete no especificado. La
programación declarativa adopta, por lo tanto, un
enfoque diferente al de la programación
imperativa tradicional.
36CARACTERÍSTICAS DE LOS LENGUAJES DE PROGRAMACIÓN
DECLARATIVOS
- Los lenguajes declarativos están orientados a
buscar la solución del problema, sin preocuparse
por la forma de llegar a ello . - Los programas están formados por un conjunto de
definiciones o ecuaciones, las cuales describen
lo que debe ser calculado, no en sí la forma de
hacerlo. - Las variables sólo pueden tener asignado un solo
valor a lo largo de la ejecución del programa, lo
cual implica que no puede existir asignación
destructiva. - El orden de la ejecución no resulta importante
debido a que no existen efectos colaterales. - Las expresiones o definiciones pueden ser usadas
como valores y por lo tanto se pueden tratar como
argumentos de otras definiciones. - El control de la ejecución no es responsabilidad
del programador.
37DESVENTAJAS DE LA PROGRAMACIÓN DECLARATIVA
- La principal desventaja de la programación
declarativa es que no puede resolver cualquier
problema dado, sino que está restringida al
subconjunto de problemas para los que el
intérprete o compilador fue diseñado.
38VENTAJAS DE LA PROGRAMACIÓN DECLARATIVA
- Entre las ventajas se destaca que la solución de
un problema se puede realizar con un nivel de
abstracción considerablemente alto, sin entrar en
detalles de implementación irrelevantes, lo que
hace a las soluciones más fácil de entender por
las personas. La resolución de problemas
complejos es resuelta por el intérprete a partir
de la declaración de las condiciones dadas.
39EJEMPLOS DE LENGUAJES DECLARATIVOS
- Algunos lenguajes declarativos que se pueden
mencionar son - PROLOG
- SQL
- HTML
- WSDL (Web Services Description Language)
- XML Stylesheet Language for Transformation
40PROGRAMACIÓN LÓGICA
- La programación lógica, junto con la funcional,
forma parte de lo que se conoce como programación
declarativa. En los lenguajes tradicionales, la
programación consiste en indicar cómo resolver un
problema mediante sentencias en la programación
lógica, se trabaja de forma descriptiva,
estableciendo relaciones entre entidades,
indicando no cómo, sino qué hacer. Se establece
entonces que la idea esencial de la programación
lógica es algoritmos lógica control. Es
decir, un algoritmo se construye especificando
conocimiento en un lenguaje formal (lógica de
primer orden), y el problema se resuelve mediante
un mecanismo de inferencia (control) que actúa
sobre aquél.
41PROGRAMACIÓN FUNCIONAL
- La programación funcional es un paradigma de
programación declarativa basado en la utilización
de funciones matemáticas. El objetivo de la
programación funcional 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. - Los programas escritos en un lenguaje funcional
están constituidos únicamente por definiciones de
funciones, entendiendo éstas no como subprogramas
clásicos de un lenguaje imperativo (pues la
programación funcional es declarativa), sino como
funciones puramente matemáticas, en las que se
verifican ciertas propiedades como la
transparencia referencial (el significado de una
expresión depende únicamente del significado de
sus subexpresiones), y por tanto, la carencia
total de efectos laterales. - Existen dos grandes categorías de lenguajes
funcionales los funcionales puros y los
híbridos. La diferencia entre ambos estriba en
que los lenguajes funcionales híbridos son menos
dogmáticos que los puros, al permitir conceptos
tomados de los lenguajes imperativos, como las
secuencias de instrucciones o la asignación de
variables. En contraste, los lenguajes
funcionales puros tienen una mayor potencia
expresiva, conservando a la vez su transparencia
referencial, algo que no se cumple siempre con un
lenguaje híbrido.
42PROGRAMACIÓN ORIENTADA A BASES DE DATOS
- Las bases de datos son programas que administran
información y hacen más ordenada la información,
aparte de hacer la fácil de buscar y por supuesto
de encontrar. - Las bases de datos tienen muchos usos facilitan
el almacenamiento de grandes cantidades de
información permiten la recuperación rápida y
flexible de información, con ellas se puede
organizar y reorganizar la información, así como
imprimirla o distribuirla en formas diversas. - Es claro que los lenguajes orientados a bases de
datos son declarativos y no imperativos, pues el
problema es "qué" se quiere hacer o "qué" se
necesita buscar y encontrar en la base de datos,
y no se enfatiza el "cómo". - Una base de datos también se puede definir como
un banco de datos o conjunto de datos que
pertenecen al mismo contexto, almacenados
sistemáticamente para su posterior uso. En este
sentido, una biblioteca puede considerarse una
base de datos compuesta en su mayoría por
documentosy textos impresos en papel e indexados
para su consulta.