Licenciatura en Ciencias Genómicas Genealogía de C Lenguaje de programación C Introducción MCC Marco Antonio Crúz Chávez 1 ALGOL 60 2 CPL • 1963. Lenguaje de programación combinada. • Características: • 1960. Lenguaje algorítmico. Alan Perlis, John Backus y Peter Naur. • Características: – Portable de Cálculos científicos. – Pequeño y elegante. – Primer lenguaje estructurado (ciclo for), if-then-else, anidado, recursivo, y de libre forma. – Los únicos tipos de datos estructurados fueron los arreglos, que podían ser dinámicos. – Switch (generalización del goto de FORTRAN). – Parámetros con llamadas por valor y referencia. – carente de tipos. – Usado para desarrollar parte de MULTICS (la mayor parte se desarrollo en PL/I). – MULTICS: Servicio de información y cómputo con multiplexión 3 4 1 Licenciatura en Ciencias Genómicas BCPL B • 1966, Lenguaje de Programación Combinada Básica. Martin Richards. • Características: – – – – • 1970. Ken Thompson. • Características: – Carente de tipos y estructuras. – Similar a BCPL excepto por su sintaxis. – El nombre es una contracción de BCPL, aunque se piensa que lo llamo B en honor a su esposa Bonni. – Usado para transcribir UNICS de ensamblador a B. carente de tipos. Bajo nivel. Arreglos de una sola dimensión. Flujo de control con If-Then, Test-Then-Else, UnlessDo, While-Do, Until-Do, Repeat, Repeatwhile, Repeatuntil, For-to-By-Do, Loop, Break and Switchon-Into-Case-Default-Endcase. 5 C 6 ANSI C • 1972, Dennis Ritchie, brevemente llamado NB. • Características: • 1983-1989 Aprobación del ANSI por un comité. • 1990 el ANSI e ISO publicaron el estándar mundial llamado: ANSI/ISO 9899:1990 – Inicia como un lenguaje de sistema para UNIX en 1973. – Lenguaje estructurado y compilado. – Muy portable. – Claro y con propiedades de bajo nivel – Lenguaje usado ampliamente en su época para la implementación de software. – La declaración de funciones, ahora ya con argumentos permiten al compilador detectar mas fácilmente errores causados por argumentos que no coinciden. – Define una biblioteca, que especifica funciones que pueden ser utilizadas por el programador, haciendo uso de estas por medio de los archivos de cabecera. 7 8 2 Licenciatura en Ciencias Genómicas Ventajas del ANSI C • • • • • • • • • • • Desventajas de C Lenguaje de alto nivel y programación estructurada. Ofrece características de bajo nivel similar al ensamblador (explota al máximo los recursos del Hardware instalado). Mayor portabilidad que otros lenguajes. No esta ligado a ningún hardware o sistema. Existe un estándar. Usado en el desarrollo de paquetería (dos, hojas de calculo electrónicas, base de datos, programas de comunicación, Unix). Es el lenguaje que mejor soporta la nueva avanzada de la ingeniería de software (programación orientada a objetos). El código es transformado por compiladores en pequeños programas que se ejecutan fácilmente. Lenguaje de programación modular. Contiene un gran número de funciones de biblioteca. Conjunto pequeño de instrucciones (32). Abarca una mayor área de aplicación. No se especializa en algún área de aplicación y puede ser utilizado en cualquiera, dando los mismos o mejores resultados. 9 • Da mucha libertad en la forma de programar, y si no se cuenta con experiencia en el lenguaje, puede resultar contraproducente. • Si no se programa de acuerdo al estándar, la portabilidad puede no ser buena. 10 TAREA • Investigar los lenguajes que faltan de explicar del árbol genealógico de la filmina 2. • Investigar la historia de UNIX y realiza un resumen de 2 cuartillas incluyendo como tema principal a los lenguajes de programación que intervinieron en la creación de UNIX. Incluye una conclusión de tu trabajo. • Incluir bibliografía. 11 3