martes, 4 de agosto de 2009

VOCABULARIO DESCONOCIDO







FORTRAN.


Este lenguaje de estilo procedural fue el primero de alto nivel, desarrollado por IBM en 1957 para el equipo IBM 704. Está fuertemente orientado al cálculo y por ende es uno de los de mayor eficiencia en la ejecución.
La definición estándar del lenguaje se estableció en 1966.

Algunas otras versiones subsiguientes fueron:
  • FORTRAN IV

  • FORTRAN 80

  • FORTRAN 77

  • FORTRAN 90

Fortran ha sido ampliamente adoptado por la comunidad científica para escribir aplicaciones de cálculos intensivos. La inclusión en el lenguaje de la aritmética de numeros complejos amplió la gama de aplicaciones para las cuales el lenguaje se adapta especialmente; muchas técnicas de compilación de lenguajes se han implementado para mejorar la calidad del código generado por los compiladores de Fortran.


Principales características.


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.

LISP


Lisp es el segundo lenguaje de programacion más antiguo (después de FORTRAN) de alto nivel. Lisp es de tipo declarativo y fue creado en 1958 por John McCarthy y sus colaboradores en el MIT. Es considerado uno de los lenguajes más dificiles de aprendizaje del mundo.


El elemento fundamental en Lisp es la lista, en el sentido más amplio del término, pues tanto los datos como los programas son listas. De ahí viene su nombre, pues Lisp es un acrónimo de "LIStProcessing".
Las listas en LISP están delimitadas por paréntesis. De aquí viene el chiste del significado de LISP: "LostInStupidParentheses" que aunque con buen humor es completamente ficticio.


Algunas de las funciones predefinidas de Lisp tienen símbolos familiares (+ para la suma, * para el producto), pero otras son más exóticas, especialmente dos que sirven precisamente para manipular listas, descomponiéndolas en sus componentes. Sus nombres ("car" y "cdr") son un poco extraños, reliquias de tiempos pasados y de la estructura de los ordenadores de segunda generación, "car" devuelve la cabeza de una lista y "cdr" su cola o resto.

Lisp sigue una filosofía de tratamiento no-destructivo de los parámetros, de modo que la mayoría de las funciones devuelven una lista resultado de efectuar alguna transformación sobre la que recibieron, pero sin alterar esta última.
Uno de los motivos por los que Lisp es especialmente adecuado para la IA es el hecho de que el código y los datos tengan el mismo tratamiento (como listas); esto hace especialmente sencillo escribir programas capaces de escribir otros programas según las circunstancias.

Lisp fue uno de los primeros lenguajes de programación en incluir manejo de excepsiones con las primitivas catch y throw.

Derivado del Lisp es el lenguaje de programación logo. Sin entrar en detalles, podría decirse que Logo es Lisp sin paréntesis y con operadores aritméticos infijos.


































FASES DEL CICLO DE VIDA



El software varía en complejidad dependiendo de lo que se requiere hacer. La mayoría de los paquetes de software consisten de muchos módulos, cada módulo es responsable de ciertas tareas específicas. Para simplificar el desarrollo del software, se sigue una serie de pasos que se llaman el ciclo de vida del software, y que son seguidos durante el tiempo que un software existe.

1) Introducción al ciclo de vida del software: Regularmente hay cinco pasos en el ciclo de vida del software:

a) Entender el problema: En la primera fase del ciclo de vida del software, se enlistan las tareas que el software debe desarrollar, los problemas a ser resueltos, y en esta fase se estudian sus causas y efectos.La tarea específica que se requiere del programa se deriva del establecimiento del problema, que es una descripción concisa del problema en cuestión. El software debe proporcionar una solución utilizable a este problema.

b) Diseñar el programa: En la fase de diseño, el objetivo es conocer las relaciones entre los módulos del programa, y garantizar que se cumplen cabalmente los requerimientos solicitados de una manera eficiente, lógica y completa.Los diseñadores de software consideran los recursos de hardware y software disponibles para poder alcanzar su objetivo. Si se llega a la conclusión de que no es posible utilizar algún hardware o software, se planea utilizar una estrategia diferente.Primero se diseña la estructura general del programa. Entonces el problema se divide en subproblemas en tareas más y más pequeñas hasta que tengan un tamaño manejable.

c) Codificar el programa:Durante la fase de codificación, el programa se escribe en un lenguaje de programación. Hay muchos lenguajes de programación, cada uno de ellos es especialista en algún tipo de problemas. Por ejemplo, FORTRAN es especialista en cálculos numéricos, mientras que LISP es especialista en problemas de inteligencia artificial y procesamiento simbólico. El código del programa debe desarrollar la tarea solicitada, y debe ser legible de modo que otros programadores lo puedan mantener. Los programas se escriben usualmente en módulos separados, cada módulo desarrolla alguna tarea específica y debe funcionar independientemente y en relación con el resto del programa.

d) Probar el programa: Durante la fase de pruebas, el programa se ejecuta y se revisa. Las tareas deben ejecutarse sin errores en los resultados y también sin errores fatales. Los defectos en los programas se llaman bugs.Se examinan primero los módulos de manera individual, en forma independientemente, luego, se prueba todo el programa para encontrar bugs que puedan ocurrir en la interacción de los módulos. Cuando se encuentra un bug, se aísla la causa y se resuelve. Este proceso se llama depuración. El programador se debe asegurar de al resolver un bug, no se crean otros más en alguna otra parte del programa.

e) Mantener el programa:Durante la fase de mantenimiento, de determina cualquier error y deficiencia en el programa, y se realizan cualquier acción para resolverla, mientras se preserva la integridad del programa. El uso de notas de diseño, código bien documentado y variables entendibles, pueden ayudar al mantenimiento futuro del programa.