Vous êtes sur la page 1sur 15

Integrantes Hernandez Puican, Benjamin Castaeda Mora, Kathy

Porqu estudiar lenguajes de programacin?


Mejorar la habilidad para desarrollar algoritmos eficaces. Mejorar el uso del lenguaje de programacin disponible. Acrecentar el propio vocabulario con construcciones tiles sobre programacin. Hacer posible una mejor eleccin del lenguaje de programacin. Facilitar el aprendizaje de un nuevo lenguaje. Facilitar el diseo de un nuevo lenguaje.

Evolucin de los Lenguajes de Programacin

Declarativos

Evolucin de los Lenguajes de Programacin Orientados a Objetos e Imperativos

Dominios de aplicacin
Aplicaciones de los aos sesenta. Durante la dcada de 1960, casi toda la programacin se poda dividir en cuatro modelos bsicos de programacin:
De procesamiento de negocios (COBOL). Cientficos (FORTRAN). De sistemas (ALGOL, JOVIAL, etc.): Para construir sistemas operativos. De Inteligencia Artificial (LISP).

Aplicaciones de los aos noventa. La situacin actual tiene ms dominios de aplicacin:


De procesamiento de negocios (COBOL). Cientficos (FORTRAN 90). De sistemas: Con el advenimiento de los microprocesadores baratos que gobiernan automviles, hornos de microondas, etc., ha aumentado la necesidad de contar con lenguajes para tiempo real. Edicin: Los sistemas de procesamiento de texto tienen su propia sintaxis para mandatos de entrada y archivos de salida. El traductor TEX produce un programa en el lenguaje PostScript de descripcin de pginas. PostScript se puede compilar por medir de un procesador adecuado. ste suele ser la impresora lser que se utiliza para imprimir el documento. De proceso: Dentro de UNIX, el lenguaje de comandos de usuario se conoce como shell y a los programas se les llama guiones de shell (parecidos a los archivos .bat). Estos guiones se pueden invocar siempre que ocurren ciertas condiciones habilitadoras.

Estandarizacin de los lenguajes


Los estndares son en general de dos clases:
1. Estndares patentados (DE PACTO): Son las definiciones elaboradas por la compaa que desarrollo el lenguaje y que es su propietaria. 2. Estndares de consenso (DE FACTO): Se trata de documentos elaborados por organizaciones con base en un acuerdo entre los participantes pertinentes. Mtodo principal para asegurar la uniformidad entre varias implementaciones de un lenguaje. Ejemplo: ANSI, IEEE, ISO, etc..

Proceso en el desarrollo de normas: Un grupo decide que un lenguaje requiere una definicin estndar. El organismo normativo organiza un grupo de trabajo de voluntarios para desarrollar esa norma. Cuando el grupo de trabajo llega a un acuerdo sobre su norma, se somete a votacin por parte de un bloque ms grande de individuos interesados. Los desacuerdos se resuelven y se produce el estndar del lenguaje.

Efectos de los entornos sobre los lenguajes


Cuatro clases generales de entornos objetivo cubre casi todas las aplicaciones de programacin:
de procesamiento por lotes, interactivo de sistema empotrado de programacin (entorno interactivo).

Construccin de software
Para facilitar la construccin de un programa es necesario tener en cuenta lo siguiente: Estilo de Programacin Indica las caractersticas en cuanto a la forma en que se usan las instrucciones para elaborar un programa.

Criterios para medir la Calidad del Software


Confiabilidad
Mantenibilidad Transportabilidad

Extensibilidad
Generalidad Eficiencia Elegancia Interfaz Amigable

Algunos errores de software


Industria espacial Mariner 1
Proyecto de la NASA para enviar sonda a Venus (1962) Fallo: Error en una sentencia de cdigo FORTRAN Efecto: Perdida de la sonda

Ariane 501
Proyecto de la ESA para poner satlites en rbita (1996)

Fallo: Conversin de un flotante de 64 bits relativo a la velocidad horizontal a un entero de 16 bits. El nmero era mayor de 32,768 Reutilizacin de cdigo del Ariane 4 Efecto: Explosin a los 40 segundos del despegue Valor estimado con la carga: 500 millones de dlares

Mars PathFinder
Proyecto de la NASA para analizar la superficie de Marte(1997). Vehculo para toma de muestras.

Fallo: Implementacin errnea mecanismo de acceso a memoria compartida junto con prioridades. Inversin de prioridades Efecto: Reset del software de forma inesperada.

2. Armamento
Misiles Patriot
Un misil Patriot de EEUU falla al interceptar un misil Scud Iraqui (1991) Fallo:
Calculo errneo del tiempo desde

que se arranc el ordenador por errores aritmticos al aproximar el reloj. Los errores se deben al uso de slo 24 bits para representar 1/10. Efecto: 28 soldados muertos y 100 heridos

Fallos en AT&T
Software de las centrales de EEUU (1990). conmutacin de AT&T en

Fallo: Sentencia Break mal empleada en una lnea de cdigo incluida como patch.
Efecto: 9 horas sin servicio telefnico en varias ciudades. otro error similar corta comunicaciones con Grecia (1979). Desarrollo de herramientas propias.

3. Salud
Therac-25
Acelerador de electrones para tratamiento del cncer (1985- 1987).

Fallo: Sentencias muy seguidas de modo X y modo b (menos de 8 segundos). El sistema no lo haba hecho antes. l equipo emite radicacin potente sin protector. Efecto: 6 muertos

4. Aviacin Civil
Deadlock en F16, confusin entre

derecha e izquierda volando invertido Vuelo de Air New Zealand cae al detectarse un error software pero sin informar a la tripulacin (1979) Piloto automtico de China Airlines 747 hace caer el avin cerca de San francisco (1985) Errores en el nuevo software causan la caida de Korean Air Lines B747 en Guam (1997) Versin militar de Boeing B737-200 cae en Dubrovnik (Croacia). (1996)