Sunteți pe pagina 1din 96

Computación

y programación
moderna.
Perspectiva integral
de la informática
Computación
y programación
moderna.
Perspectiva integral
de la informática

Guillermo Levine Gutiérrez


ANIEI (Asociación Nacional de Instituciones
de Educación en Informática)

Pearson
Educación
O

MÉXICO • ARGENTINA • BRASIL • COLOMBIA • COSTA RICA • CHILE


ESPAÑA • GUATEMALA • PERÚ • PUERTO RICO • VENEZUELA
/Datos de catalogación bibliográfica

LEVINE, G. GUILLERMO
Computación y programación moderna.
Perspectiva integral de la informática.

PEARSON EDUCACIÓN, México, 2001

ISBN: 968-444-485-0
Área: Computación

Formato: 20.0 x 25.5 cm Páginas: 640

Editor: José Luis Vázquez Chavarría


e-mail• luis.vazquez@pearsoned.com
Cuidado de la edición: Laura Koestinger
Supervisor de Producción: José Hernández Garduño

D.R. 2001 por Pearson Educación de México, S.A. de C.V.


Calle 4 No. 25-2°, piso
Fracc. Industrial Alce Blanco
53370 Naucalpan de Juárez, Edo. de México

Cámara Nacional de la Industria Editorial Mexicana


Reg. Núm. 1031

Reservados todos los derechos. Ni la totalidad ni parte de esta publicación pueden reproducirse, registrarse o transmitirse
por un sistema de recuperación de información, en ninguna forma ni por ningún medio, sea electrónico, mecánico,
fotoquímico, magnético o electroóptico, por fotocopia, grabación o cualquier otro, sin permiso previo por escrito del
editor.

El préstamo, alquiler o cualquier otra forma de cesión de uso de este ejemplar requerirá también la autorización del
editor o de sus representantes.

ISBN 968-444-485-0

Impreso en México. Printed in Mexico.

1 2 3 4 5 6 7 8 9 0 - 04 03 02 01

Pearson
Educación
Créditos

Pearson Educación de México agradece a las personas e instituciones citadas a continuación su autorización
para reproducir material gráfico y fotografías con derechos reservados. Si a pesar del esfuerzo dedicado a
acreditar a los propietarios de las imágenes publicadas en este libro se hubiese omitido algún crédito, ofrece-
mos disculpas de antemano y nos ponemos a sus órdenes para cualquier aclaración: gilda.osuna®pearsoned.com .

PORTADA Obra original de Marlene Llanes. CAPÍTULO 5


Composición: Pearson Educación p. 188 Marlene Llanes
de México p. 202 Copyright 2001 www.arttoday.com
CAPÍTULO 1 p. 203 Copyright 2001 www.arttoday.com
p. 213 Marlene Llanes
p. 37 King Features Syndicate p. 223 Copyright 2001 www.arttoday.com
p. 48 Trino Camacho p. 232 Copyright 2001 www.arttoday.com
p. 49 Copyright 2001 www.arttoday.com p. 240 arriba: Copyright 2001
p. 50 Copyright 2001 www.arttoday.com www.arttoday.com
p. 72 Alejandra Macías. Foto cortesía del p. 240 abajo: Copyright 2001
autor. www.arttoday.com
CAPÍTULO 2
p. 252 abajo: Marlene Llanes

p. 92 Copyright 2001 www.arttoday.com CAPÍTULO 6


p. 97 Copyright 2001 www.arttoday.com p. 284 arriba: Copyright 2001
p. 98 arriba: Copyright 2001 www.arttoday.com
www.arttoday.com p. 284 abajo: Copyright 2001
p. 98 abajo: University of St. Andrews, www.arttoday.com
Escocia p. 286 abajo: University of St. Andrews,
Escocia
CAPÍTULO 3
p. 287 University of St. Andrews, Escocia
p. 115 Copyright 2001 www.arttoday.com p. 288 arriba: Copyright 2001
p. 118 Copyright 2001 www.arttoday.com www.arttoday.com
p. 124 Copyright 2001 www.arttoday.com p. 289 University of St. Andrews, Escocia
p. 131 Copyright 2001 www.arttoday.com p. 290 arriba: University of St. Andrews,
p. 135 Copyright 2001 www.arttoday.com Escocia
p. 137 Copyright 2001 www.arttoday.com p. 290 abajo: University of St. Andrews,
p. 138 abajo: Copyright 2001 Escocia
www.arttoday.com p. 291 University of St. Andrews, Escocia
p. 140 http://math.rice.edu/--lanius/frac p. 293 University of St. Andrews, Escocia
p. 296 Copyright 2001 www.arttoday.com
CAPÍTULO 4
p. 150 Copyright 2001 www.arttoday.com CAPÍTULO 7
p. 151 en medio: Copyright 2001 p. 305 Copyright 2001 www.arttoday.com
www.arttoday.com p. 307 Copyright 2001 www.arttoday.com
p. 152 abajo: Copyright 2001 p. 317 University of St. Andrews, Escocia
www.arttoday.com p. 335 Copyright 2001 www.arttoday.com
p. 154 arriba: Copyright 2001 p. 336 Copyright 2001 www.arttoday.com
www.arttoday.com
CAPÍTULO 8
p. 154 abajo: Copyright 2001
www.arttoday.com p. 339 Copyright 2001 www.arttoday.com
p. 155 Marlene Llanes p. 364 Copyright 2001 www.arttoday.com
p. 166 arriba: Marlene Llanes p. 371 Copyright 2001 www.arttoday.com
p. 170 arriba: Copyright 2001
p. 382 Jis
www.arttoday.com
p. 387 Copyright 2001 www.arttoday.com
p. 170-2 abajo: Copyright 2001
p. 388 arriba: Copyright 2001
www.arttoday.com
www.arttoday.com
p. 388 abajo: Copyright 2001
p. 171 cortesía de El Lector
www.arttoday.com
p. 389 Copyright 2001 www.arttoday.com p. 552 Marlene Llanes
p. 414 arriba:Marlene Llanes p. 553 Copyright 2001 www.arttoday.com
p. 414 abajo: Copyright 2001 p. 554 arriba: Copyright 2001
www.arttoday.com www.arttoday.com
p. 554 abajo: Copyright 2001
CAPÍTULO 9
www.arttoday.com
p. 421 arriba: Copyright 2001 p. 555 Copyright 2001 www.arttoday.com
www.arttoday.com p. 557 arriba: Copyright 2001
p. 421 abajo:Copyright 2001 www.arttoday.com
www .art today.com p. 557 en medio: Copyright 2001
p. 446 Copyright 2001 www.arttoday.com www.arttoday.com
p. 451 Copyright 2001 www.arttoday.com p. 557 - 3 abajo: Marlene Llanes
p. 455 Copyright 2001 www.arttoday.com p. 558 Copyright 2001 www.arttoday.com
CAPÍTULO 10
p. 559 Copyright 2001 www.arttoday.com
p. 559 Copyright 2001 www.arttoday.com
p. 473 Copyright 2001 www.arttoday.com p. 560 Copyright 2001 www.arttoday.com
p. 498 Copyright 2001 www.arttoday.com p. 561 Copyright 2001 www.arttoday.com
p. 502 Copyright 2001 www.arttoday.com p. 562 Copyright 2001 www.arttoday.com
p. 506 Copyright 2001 www.arttoday.com p. 564 Marlene Llanes
Apéndice A p. 565 abajo: Marlene Llanes
p. 566 Copyright 2001 www.arttoday.com
p. 525 Copyright 2001 www.arttoday.com p. 567 arriba: Copyright 2001
p. 528 abajo:Copyright 2001 www.arttoday.com
www.arttoday.com p. 567 abajo: Copyright 2001
p. 529 Copyright 2001 www.arttoday.com www.arttoday.com
p. 531 Copyright 2001 www.arttoday.com p. 568 Copyright 2001 www.arttoday.com
p. 534 Copyright 2001 www.arttoday.com p. 569 Marlene Llanes
Apéndice B p. 570 arriba: Marlene Llanes
p. 570 en medio: Copyright 2001
p. 539 Copyright 2001 www.arttoday.com
www.arttoday.com
Glosario p. 570 abajo: Copyright 2001

p. 547 Copyright 2001 www.arttoday.com www.arttoday.com


p. 550 arriba: Copyright 2001
p. 571 Copyright 2001 www.arttoday.com
www.arttoday.com p. 573 arriba: Copyright 2001

p. 550 Copyright 2001 www.arttoday.com www.arttoday.com


p. 551 arriba: Copyright 2001
p. 573 abajo: Marlene Llanes

www.arttoday.com ASCII
p. 551 abajo: Copyright 2001
p. 585 Copyright 2001 www.arttoday.com
www.arttoday.com
.DNI.n7i. --ipp. uprip,1
Inscríbenos en el Libro de la Vida.

Al Dr. Pollis
Acerca
del autor

Guillermo Levine Gutiérrez ha dedicado su quehacer profesional tanto al área académi-


ca como a labores de planeación, control y desarrollo de tecnología computacional. Es
ingeniero en comunicaciones y electrónica, egresado de la Universidad de Guadalajara,
México, en 1975, y en 1979 obtuvo la maestría en ciencias de la computación en el Insti-
tuto de Investigaciones en Matemáticas Aplicadas y en Sistemas (IIMAS-UNAM), en
donde luego fue profesor.
Durante diez años fue profesor e investigador de la Universidad Autónoma Metro-
politana, unidad Iztapalapa, en México, D.F. Posteriormente, en 1992, fue fundador y
primer director de la Facultad de Informática y Computación de la Universidad de Gua-
dalajara (hoy Departamento de Ciencias Computacionales). También, desempeñó las
funciones de coordinador de las maestrías en informática de la Universidad Autónoma
del Estado de México y del Centro Interamericano de Estudios de Seguridad Social
(CIESS-IMSS), entre 1979 y 1982.
El maestro Levine es miembro fundador de la ANIEI (Asociación Nacional de Insti-
tuciones de Educación en Informática) y del CONAIC (Consejo Nacional de Acredita-
ción en Informática y Computación). Entre sus actividades como autor y profesor deben
mencionarse también múltiples participaciones como conferencista y expositor en dece-
nas de universidades mexicanas durante las últimas dos décadas.
Cabe mencionar también que nuestro autor, desde 1995, está registrado oficialmente
en el libro Marquis Who's Who in the World, en una adscripción que no se puede solicitar
ni adquirir por ningún medio personal.
x Acerca del autor

En cuanto a actividades empresariales, entre 1982 y 1989 fue director de investigación


de la empresa Micrológica Aplicada, donde fue responsable de la dirección tecnológica de
la compañía y de la definición de sus áreas de actuación. Posteriormente fue nombrado
director general de la compañía, que en ese momento estaba dedicada a la comercialización
y desarrollo de computadoras, Unix y sistemas, con base en la ciudad de México y una
fábrica en Toluca.
Entre 1996 y 1999 fungió como Director del Consejo de Sistemas y, más adelante,
como asesor de la Dirección General de la empresa Consorcio Red Uno, que actualmente
es parte integral de Telmex. El principal proyecto que desarrolló en ese periodo fue el
sistema integral de control de la red pública de datos, para administrar las actividades
inherentes a una empresa de redes y transmisión de datos, en un entorno multiplataforma
y operando mediante una intranet.
Levine es autor de cuatro libros universitarios de computación, publicados por
McGraw-Hill Interamericana, y ésta es su primera obra con Pearson Educación. También,
ha publicado artículos sobre computación y su enseñanza en diversas revistas especia-
lizadas desde 1980. Así mismo, ha realizado la revisión técnica de decenas de libros de
computación traducidos al español, publicados por diversas editoriales internacionales.
En la actualidad, es gerente de calidad de la empresa QoS Labs, con sedes en Miami
y la ciudad de México aunque, gracias a las nuevas tecnologías de trabajo colaborativo
mediante Internet, sigue residiendo en Guadalajara, su ciudad natal.
Contenido

Prólogo xix

Introducción xxiii

Agradecimientos xxvii

Capítulo O Panorama integral de la computación y la informática 1

0 Panorama integral de la computación y la informática 2


0.1 Las carreras de informática y computación 2
Acreditación y certificación 3
0.2 Modelos curriculares en Informática y Computación 4
Perfiles profesionales 4
Licenciatura en Informática 4
Licenciatura en Sistemas Computacionales 4
Licenciatura en Ciencias de la Computación 5
Ingeniería en Computación 5
Catálogo de áreas de conocimiento 5
Matriz de cruzamiento de perfiles y áreas de conocimiento 18
Gráficas 21
xii Contenido

Capítulo 1 Evolución de las computadoras 35

1 Evolución de las computadoras 36


1.1 Antecedentes y motivaciones 36
1.2 Resumen histórico de la computación 44
Primera generación 45
Segunda generación 45
Tercera generación 46
Minicomputadoras 49
Cuarta generación 50
La siguiente generación 50
1.3 Microcomputadoras y computadoras personales 51
1.4 Clasificación actual de las computadoras 55
1.5 El desarrollo computacional en la sociedad: mitos, realidades y contrastes 57
1.6 La industria de la microcomputación 58
1.7 Tecnología de microcomputadoras 59
Esquema de la computadora personal 60
Componentes electrónicos integrados 60
Arquitectura global y canal 62
Entrada/salida e interfaces gráficas 62
Dispositivos periféricos y de red 63
Sistema operativo 63
1.8 Anexo: Las computadoras no necesariamente son para todos 64
1.9 Anexo: El premio Alan M. Turing de computación 65
1.10 Anexo: Cuidados con el idioma español 66
Ejercicios 70
Palabras y conceptos clave 72
Referencias para el capítulo 1 72

Capítulo 2 Modo interno de operación de las computadoras 75

2.1 Introducción 76
2.2 El modelo de von Neumann 77
Un primer programa 79
La unidad de control 82
Pasos en la ejecución de un programa 83
Ejemplos de programas en lenguaje de máquina 84
Evaluación de una fórmula 84
Modos de direccionamiento: programa para obtener un promedio 85
Un programa más elaborado: búsqueda del máximo 87
2.3 Sistema binario 92
Ejercicios 97
Palabras y conceptos clave 99
Referencias para el capítulo 2 100

Capítulo 3 Configuración de un sistema de cómputo 101

3 Configuración de un sistema de cómputo 102


3.1 El procesador central 102
3.2 La memoria central 105
Tipos de dispositivos de memoria 105
Codificación de datos 109
Contenido xiii

3.3 Unidades de entrada y salida 112


3.4 Unidades de memoria auxiliar 118
Almacenamiento secuencial: cintas magnéticas 119
Almacenamiento directo: discos magnéticos 119
Almacenamiento masivo: discos ópticos 121
3.5 Consideraciones finales 125
3.6 Anexo: Un procesador real 126
Clase de instrucciones de punto fijo 127
Clase de instrucciones MMX® 128
Clase de instrucciones de punto flotante 129
Clase de instrucciones (privilegiadas) del sistema 130
3.7 Anexo: El lado oscuro de la tecnología 131
Consumismo 132
Obsolescencia planeada 132
"Inflación de software" 133
Impacto en los planes de estudio 133
La paradoja de la productividad 134
Conformismo cultural 135
Fragilidad del acervo cultural 136
Ejercicios 136
Palabras y conceptos clave 139
Referencias para el capítulo 3 141

Capítulo 4 Redes 147

4 Redes 148
4.1 Recursos aislados: conexión entre la computadora y sus terminales remotas 148
4.2 Telecomunicaciones 150
Esquemas de conexión 150
Normas y estándares de comunicación 153
4.3 Interconexión de computadoras 154
4.4 Estándar internacional para redes 155
El modelo jerárquico ISO/OSI 155
4.5 Funciones y caracterización de las redes 157
Redes locales 158
Radiografía de las redes locales: capa de enlace 159
Protocolos de redes locales: software de la capa 3 159
Redes locales virtuales 160
Redes metropolitanas y redes amplias o globales 161
4.6 Internet 163
Correo electrónico 164
La red mundial: WWW 166
Páginas Web 167
Sistemas de información en Internet 169
Ejercicios 170
Palabras y conceptos clave 172
Referencias para el capítulo 4 172

Capítulo 5 Sofware de base .175

5 Sofware de base 176


5.1 Lenguaje de máquina 176
Características de los programas en lenguajes de máquina 176
Más sobre modos de direccionamiento 177
xiv Contenido

5.2 Primer nivel de lenguajes: ensamblador 178


El traductor ensamblador 179
El lenguaje ensamblador 180
Un primer programa escrito en ensamblador 183
Características adicionales del lenguaje ensamblador 187
Almacenamiento de conjuntos de números 189
Búsqueda del máximo entre una lista de números 192
Descripción del programa ensamblador 194
5.3 Macroprocesadores 195
Diseño del macroprocesador 197
Macros con parámetros 198
5.4 Cargadores 202
Esquemas de carga 206
5.5 Compiladores 207
Análisis lexicográfico 209
Análisis sintáctico 209
Análisis semántico 212
Generación y optimización de código 213
Ventajas de los compiladores 217
5.6 Sistemas operativos 220
Modelo de estudio para los sistemas operativos 220
El núcleo del sistema operativo 222
Manejo de memoria 224
Manejo del procesador 228
Manejo de entradas y salidas 230
Manejo de información 231
5.7 Utilerías: editores, hojas de cálculo, bases de datos 232
Editores 232
Hojas de cálculo 234
Bases de datos 235
Diseño de bases de datos 237
5.8 Inteligencia artificial 238
Sistemas expertos 239
Ajedrez 240
5.9 Resumen del capítulo 241
5.10 Anexo: lenguajes de programación 246
5.11 Anexo: "Si los sistemas operativos fueran aerolíneas" 252
Ejercicios 253
Palabras y conceptos clave 255
Referencias para el capítulo 5 256

Capítulo 6 Teoría matemática de la computación 263

6.1 Introducción 264


6.2 El concepto de algoritmo: la máquina de Turing 266
Un primer ejemplo: la suma 269
Otro caso: reconocimiento de cadenas 270
Indecidibilidad 273
Complejidad de algoritmos 275
6.3 Lenguajes formales y autómatas 277
Jerarquización de gramáticas 280
6.4 Anexo: Visión histórica de la lógica matemática 284
Lógica tradicional 284
Contenido xv

Después de Aristóteles 285


Precursores de la lógica moderna 286
Lógica del período de Boole 287
Lógica moderna 288
Algunas definiciones 292
6.5 Anexo: Visión de un libro fundamental, la obra de George Boole 293
6.6 Anexo: Elementos de lógica proposicional 295
Ejercicios 298
Palabras y conceptos clave 299
Referencias para el capítulo 6 300

Capítulo 7 Teoría básica de la programación 305

7.1 Introducción: programación estructurada y por objetos 306


7.2 Fases de creación de un programa 308
Análisis de sistemas 309
Programación 310
Codificación 311
Ejecución y ajuste 311
Mantenimiento 312
7.3 Un esquema formal de programación 312
Formas de expresar las estructuras de control 315
Escritura formal de algoritmos en pseudocódigo 316
Simulación de la ejecución de un programa 319
Primera presencia de la ambigüedad 320
Más programas bien formados 324
Caso especial: enunciados nulos 328
Caso especial: segunda presencia de la ambigüedad 329
Ejercicios 332
Palabras y conceptos clave 333
Referencias para el capítulo 7 334

Capítulo 8 Programación moderna 339

8.1 Introducción 340


8.2 Creación de programas en pseudocódigo 342
Un ejemplo más elaborado: búsqueda lineal en una lista 345
Refinamientos progresivos 350
8.3 Estructuras adicionales de control 353
Un ejemplo: manejo de caracteres en un renglón 355
Otro ejemplo: multiplicación de matrices 358
8.4 Estructuras de datos y objetos 361
8.5 Programación modular 362
8.6 Técnicas de diseño descendente 366
Un pequeño sistema completo: las ocho damas 369
8.7 Más sobre módulos: parámetros, procedimientos y funciones 373
Paso de parámetros por valor y por referencia 374
Funciones 377
8.8 Manejo de archivos 379
Un primer programa de manejo de archivos 380
Sistema de calificaciones 382
Verificación de existencia del archivo 383
Integración de nuevos datos 383
xvi Contenido

Eliminación de un registro 384


Alteración de un registro ya existente 384
Función de búsqueda 384
Impresión del archivo 385
8.9 Documentación y prueba de programas 387
Los usuarios de un sistema 387
Prueba de programas 389
8.10 Anexo: Ejemplo de programas codificados en diversos lenguajes 390
Búsqueda lineal 390
BASIC 392
C++ 393
COBOL 394
Forth 396
FORTRAN 90 397
Java 398
LISP 400
Modula-2 401
Pascal 403
Prolog 404
Manejo de caracteres en un renglón 405
C++ 406
Pascal 407
Multiplicación de matrices en Java 408
8.11 Anexo: El mundo real 411
8.12 Anexo: La ingeniería de software y el modelo CMM 412
Ejercicios 414
Palabras y conceptos clave 415
Referencias para el capítulo 8 416

Capítulo 9 La codificación en la programación moderna: C++ 421

9.1 Introducción 422


9.2 Estructuras fundamentales de control 422
Secuenciación 422
Selección 424
Iteración condicional 425
Características propias de C++ 426
9.3 Estructuras adicionales de control 427
Iteración controlada numérica y lógicamente 428
Selección múltiple 430
Entrada/salida 431
Ejemplo: multiplicación de matrices 432
9.4 Módulos 435
Prototipos 435
Variables globales 437
Bloques 437
Paso de arreglos como parámetros 439
Funciones 440
Compilación de módulos por separado 445
9.5 Ejemplo de un diseño completo codificado: las 8 damas 446
9.6 Manejo de archivos 451
Lectura y escritura a disco 451
Sistema de calificaciones 455
Contenido xvii

Ejercicios 470
Palabras y conceptos clave 471
Referencias para el capítulo 9 471

Capítulo 10 La codificación en la programación moderna: Pascal 473

10.1 Introducción 474


10.2 Estructuras fundamentales de control 474
S ecuenciación 474
Selección 475
Iteración condicional 476
Características propias de Pascal 478
10.3 Estructuras adicionales de control 479
Iteración controlada numéricamente 480
Selección múltiple 481
Ejemplo: multiplicación de matrices 482
10.4 Módulos 485
Regla general del manejo de bloques 486
Paso de arreglos como parámetros 492
Funciones 494
10.5 Ejemplo de un diseño completo codificado: las 8 damas 498
10.6 Manejo de archivos 502
Lectura y escritura a disco 502
Sistema de calificaciones 506
Ejercicios 520
Palabras y conceptos clave 521
Referencias para el capítulo 10 522

Apéndice A El sistema operativo Unix 525

A.1 Introducción 526


A.2 Linux 528
A.3 Lenguaje de control Shell 528
A.4 Sistema de archivos 529
A.5 El núcleo del sistema 529
A.6 Manejo de entradas y salidas 531
A.7 Manejo de archivos y manejo de información 532
A.8 Unix en red 534
A.9 Funciones principales incluidas en Unix/Linux 535

Apéndice B Calculadora escrita en Java 539

Glosario bilingüe 547

Resumen de la bibliografía 575

Libros 576
Artículos en revistas 580
Libros mencionados pero no reseñados 582
Artículos mencionados pero no reseñados 583

Índice 587
Prólogo

Por Adolfo Guzmán Arenas


La misma juventud de la Ciencia de la Computación (nació cerca de 1950) provoca su muy
rápida evolución: con acelerado ritmo surgen nuevas teorías, conceptos, métodos, circuitos,
tipos de computadoras, lenguajes, programas, aplicaciones, etc. Este compás frenético hace
pronto obsoleto a su estudioso si no tiene buena formación teórica. Él o ella debe tener una
buena base sobre la cual construir su futuro intelectual. Esa base le permitirá reaprender a lo
largo de su vida profesional, adquiriendo nuevos conocimientos que no se encuentran en
este libro, ni en ningún otro, porque la humanidad aún no los inventa o descubre. La forma-
ción básica y teórica del estudiante lo hace resistente a la obsolescencia. Es el temple de un
machete, que le permite adquirir nuevas afiladas: conocimientos informáticos que aparece-
rán en el futuro. De hecho, es un error relativamente común de varios currícula de enseñan-
za de computación el sólo incluir los conocimientos útiles hoy formación práctica sin
— —

darle al estudiante una buena base para que él mismo adquiera los conocimientos prácticos
y teóricos que existirán mañana. Machete filoso, pero sin temple.
¿Y qué tanto y cuán a menudo debe el egresado de informática reaprender? ¿Con qué
frecuencia? ¿Cuántos conocimientos por unidad de tiempo se tornan anticuados? Estimo
que en Computación, el tiempo de vida medio' de un concepto es de cinco años: cada

' El tiempo de vida medio de una substancia radiactiva es aquel en el cual su masa decae a la mitad
de la masa original.
xx Prólogo

cinco años, la mitad de los conceptos que conocemos y manejamos (y aún de los que no
manejamos e ignoramos) se vuelven obsoletos, inútiles. Amén de los que se nos olvidan y
de los que aprendimos mal, o no aprendimos. Por tanto, el egresado de una licenciatura,
ingeniería o maestría en computación que desee tener una vida profesional útil de 40 años
(en la cual mantenga a su familia, pague impuestos, cree fuentes de trabajo, favorezca
exportaciones e incremente el producto nacional bruto) necesita cada cinco años aprender
el equivalente a media licenciatura.
Por esto, es importante que un libro de Informática proporcione conocimientos profun-
dos, y no solamente una visión a vuelo de pájaro. Queremos que el egresado de computación
sepa hacer software, además de poder hablar de software y usar lo que otros hicieron.
Otras tres razones para tomar en serio el estudio de la Computación: a) actualmente
hay en México 140,000 estudiantes en sus distintas carreras en nivel de licenciatura en
Computación e Informática; b) la apertura del país a la globalización y al intercambio
de profesionales en diversas ramas, incluyendo la Informática; c) una gran oportunidad de
mercado: en la actualidad, casi todas las computadoras y sistemas de cómputo de uso en
México, incluidas computadoras personales, computadoras paralelas, discos, memorias,
pantallas o monitores, y la apabullante mayoría de los ensambladores, software de base,
compiladores, sistemas operativos, bases de datos, manejadores de objetos, aplicaciones
a la ingeniería, a la banca, a la administración, al comercio, a las finanzas, sistemas de
bodegas de datos, de minería de datos, sistemas expertos, de manejo de texto, clasificado-
res y reconocedores de formas, rostros, señales y patrones, y otros de inteligencia artifi-
cial, se importan.
Esta obra no pretende ser un compendio profundo de los temas que abarca. Es una
introducción seria y razonada a dos aspectos básicos de la formación del estudioso: su
herramienta principal, la computadora y los sistemas de cómputo, y su modo de usarla o
manejarla: los lenguajes de programación.
El autor muestra su visión, en forma introductoria y narrada, de dos campos impor-
tantes de la Computación: la estructura de computadoras —qué son, cómo están formadas
y para qué sirven las máquinas— y la programación —cómo se las instruye para que
hagan lo que uno quiere; el maravilloso arte de programar, o escribir programas; cómo
hacerse obedecer por las máquinas—. Es meritorio que el libro aborde varios temas que
normalmente no cubre un texto introductorio: lenguaje ensamblador, teoría de la progra-
mación, la Matemática de la Computación, entre otros.
Los primeros capítulos forman una introducción a la descripción y funcionamiento
de un sistema de cómputo, y en particular de una computadora digital, sin referirse a nin-
guna máquina real en particular. Con ellos se tendrá una visión cualitativa de cómo traba-
ja una computadora. Hay un capítulo sobre redes, y los capítulos intermedios introducen
el software de base y las bases teóricas de computación y programación; los siguientes
introducen el arte de programar, y es de destacarse que en esta obra se enseñe Pascal.
Las preguntas y ejercicios refuerzan y aclaran los conocimientos expuestos, e invitan
al lector a pensar, pues no son meramente ejercicios mecánicos.
Este libro contiene una gran cantidad de información, vertida en forma narrada, en-
tretenida y absorbente. Con facilidad, el lector es llevado de un lado a otro, mostrándosele
diversas facetas de la computación, salpicadas por pedazos de historia, filosofía, realidad
mexicana y temas de actualidad. En su afán de que el lector piense y razone sobre lo que
lee, el autor usa a veces términos sin antes definirlos. Esto, que podría ser juzgado inacep-
table en un libro solemne o riguroso, está en armonía con el tipo de lector actual, ya
versado en algunos conceptos de computación.
Guillermo Levine es un autor ya conocido de varios libros sobre computación. Catedrá-
tico destacado, fundador de la Facultad de Informática y Computación de la Universidad
de Guadalajara, autor de numerosos programas de cómputo y aplicaciones. Participó en la
creación de los Modelos Curriculares en Informática y Computación de la ANIEI, que
Prólogo xxi

veo como una discretización del espacio de conocimientos de computación, en nivel li-
cenciatura. Los Modelos Curriculares son un menú completo de todos los conceptos que
se pueden transmitir en una licenciatura en informática, organizados en una taxonomía o
estructura cuidadosa, sistemática y coherente. Poseen ocho ejes principales, que forman
el espacio de conocimientos en una licenciatura. Cualquier licenciatura transmitirá un
subconjunto de estos conocimientos. Este gigantesco esfuerzo, capitaneado por él y por
Victoria Bajar, ha permitido la normalización y comparación de los diferentes planes de
estudio nacionales. También ha hecho posible la generación de moderno software de en-
señanza en línea, como EVA2, que construye para cada alumno su plan de estudios indivi-
dual, y le envía por Internet el material educativo (individualizado también) que requiere.
El libro que el lector tiene en sus manos también está basado en estos Modelos Curriculares,
y los describe en su capítulo inicial.
Aunque en número creciente, aún son escasos los autores nacionales de libros de
computación. Ojalá esta obra sirva asimismo para alentar a otros catedráticos a escribir
las obras que aún faltan. Los Modelos Curriculares que Levine ayudó a crear pueden
usarse como guía para el contenido de estos libros.
Recomiendo esta obra como una muy buena introducción, provocativa y llena de
novedades, a los que, iniciándose en el fascinante estudio de la Computación, comienzan
a adentrarse en ella. Es un buen principio hacia otras fuentes de información más técnicas
sobre arquitectura de computadoras, programación, teoría de la computación, software de
base (programación de sistemas), sistemas de información y otros conocimientos que, por
formar el cimiento del campo informático, hacen a su estudioso resistente a la obsolescencia
y lo proveen de una larga vida profesional útil.
También la recomiendo para aquellas personas que aprovechan las computadoras para
algo distinto a la computación en sí, los usuarios o explotadores; que usan el software que
otros hacen, que apoyan en puestos administrativos a los practicantes de la informática, o
que deciden qué software comprar: es un panorama general, bien estructurado y con "ga-
nas de hacer pensar al que la lea", de muchos de los diferentes aspectos técnicos que cubre
en este momento la Computación.
Finalmente, aunque no es una obra de divulgación, creo que será útil para aquel lector
curioso que desea una explicación razonablemente clara de muchos conceptos, procesos y
fenómenos que existen debido a la proliferación de las computadoras, su yuxtaposición
en grupos (clusters) de máquinas distribuidas y paralelas, su organización en redes, y su
uso intensivo para resolver múltiples problemas de la vida moderna. Si despierta su curio-
sidad y lo anima a continuar por el camino de la confección de sistemas de cómputo, de
procesadores y periféricos, de programas de base, de aplicación o de intercomunicación,
maravilloso. Y si lo motiva a desarrollar aplicaciones (programas útiles) para resolver
algún problema en que el lector es docto, tanto mejor. La Computación es una ciencia que
apenas empieza. La mayoría de sus conceptos, sus unidades para medir fenómenos, sus
leyes, sus aplicaciones, aún no se inventan; sus limitaciones aún no se conocen. Leer este
libro puede ser el primer paso para que usted ayude a enriquecer esta ciencia.

México, D. E
2001

Espacios Virtuales de Aprendizaje, creado en el Centro de Investigación en Computación del


Instituto Politécnico Nacional, http: //www.cic.ipn.mx
Introducción

Lo diremos rápidamente: éste es un libro para leer. Desafortunadamente, ya no todos lo


son (aunque debieran), y por ello la advertencia. Es decir, el presente texto presupone una
lectora o lector inteligente, inquisitivo y crítico, cualidades todas ellas un tanto pasadas de
moda o simplemente apabulladas por la omnipresencia televisiva, que ha transformado
muchos libros en un mero conjunto pasivo de páginas llenas de párrafos cortos y figuras,
irremediablemente afectadas por esa superficialidad tan anhelada por quienes no conocen
el gozo de leer.
En estas hojas apostamos por el placer, tanto el de haberlas escrito como —así quisié-
ramos— el de re-crearlas mediante la lectura.
Además, por supuesto, éste es un libro de texto universitario, dirigido a los primeros
cursos de computación y de programación, orientado hacia carreras eminentemente tec-
nológicas (ingenierías y licenciaturas en computación e informática), aunque también
propio para las demás, que desde hace mucho no pueden ya permanecer ajenas al mundo
de las computadoras y sus aplicaciones.
Al profesor también intentamos enviarle el mensaje de la importancia que la invención
tiene en el proceso educativo: la clase no es para transmitir información, es para (re)-
producirla, logrando que el estudiante la sienta suya porque es suya y no tan sólo le fue
pasada por alguien más. Nuestra guía para lograr esto es el concepto de "necesidad lógica"
que se aplica consistentemente a lo largo de todo el texto, pidiendo al lector averiguar la
razón de que las cosas sean como son, y no de otra forma, o bien cuestionando si algo
debe lógica y necesariamente ser así o pudiera igualmente funcionar de modo diferente.
xxiv Introducción

La obra está dividida en dos partes: introducción a la computación e introducción a


la programación. A la primera se dedican los capítulos 1 a 6, y a la segunda los cuatro
restantes. Sin embargo, el texto inicia con el capítulo O, que contiene las claves para utili-
zarlo no sólo para esos dos cursos básicos, sino como guía y acompañante durante toda la
carrera, porque este libro aspira a convertirse en una fuente general de referencia sobre las
áreas de conocimiento de la informática y la computación en el nivel universitario de
licenciatura.
Muchos años de experiencia como profesor en diversas universidades (y otros como
director-fundador de la Facultad de Informática y Computación de la Universidad de
Guadalajara) me han indicado la necesidad y la importancia de contar con una guía, lo
más completa posible, sobre las diferentes carreras de nivel superior que giran alrededor
de la computación y la informática en países como los nuestros, cercanos a los centros
vivos de creación de las tecnologías, pero sujetos también a particularidades que no pode-
mos ignorar. Y por ello el subtítulo del libro: Perspectiva integral de la informática, pues
tiene el afán de servir como mapa de los múltiples campos del quehacer computacional,
para alguien que recién comienza a recorrerlos. Si todo sale bien, los conceptos estudia-
dos en el libro servirán como plataforma de despegue para el lector, y la gran cantidad de
temas que contiene (a veces sólo brevemente expuestos dentro de su contexto integral)
seguramente constituirán sus motivos de júbilo y preocupación durante los siguientes tres
o cuatro años.
El libro inicia (capítulo O) con una presentación de los "Modelos curriculares" de
informática y computación, producidos por la ANIEI (Asociación Nacional de Institucio-
nes de Educación en Informática), que ofrecen tanto un panorama completo sobre estas
ciencias como una clasificación razonada de las diferentes carreras universitarias dedica-
das a ellas. Al inicio de cada siguiente capítulo hay una tabla que relaciona los temas allí
estudiados con el catálogo completo ofrecido por los modelos.
El capítulo 1 presenta la evolución de las computadoras desde una perspectiva his-
tórico-social, considerándolas no como el producto de la mente de algunos genios, sino
como el resultado casi necesario de los desarrollos que las precedieron, para culminar con
algunas reflexiones sobre su impacto social.
A continuación se explora el modo de funcionamiento de las computadoras, y en
este capítulo 2 sí se comienza a entrar en detalles sobre el lenguaje de máquina, que nunca
dejará de ser una pequeña molestia por su minuciosidad y su necesidad. Los programas en
lenguaje de máquina son enojosos además de inevitables, pero el precio que se paga por
no comprenderlos con precisión es mantenerse ajeno a la aparente magia con la que ope-
ran todas las computadoras existentes.
El capítulo 3 sirve como una especie de descanso y preparación para lo que seguirá,
pues se dedica a describir los principales componentes del sistema de cómputo con
cierta soltura —es decir, sin tratarlos en profundidad—, aunque nunca desde un punto de
vista superficial, sino más bien preocupándose en por qué las cosas son como son y no
de otra forma. El principio de necesidad lógica ya mencionado es el motor de todo este
libro: averiguar cómo y por qué algo es como es y no diferente, partiendo del fundamental
hecho de que explorar las razones (y no tan sólo describir sus resultados finales) es por sí
mismo un deleite.
El capítulo 4 se dedica de lleno al enorme campo de las redes de computadoras y
el Internet, nuevamente desde la perspectiva de averiguar los conceptos y sus motivos
de funcionamiento, más que sus características de uso o sus beneficios operativos. Como
antes, se parte de la consideración de que luego habrá mucho tiempo para aprender a
utilizar las técnicas y los dispositivos, pero ahora es el momento de comprender sus
principios.
Después llega un largo análisis del llamado software de base: los casi invisibles
programas del sistema que hacen posible la utilización cotidiana y masiva de las compu-
Introducción xxv

tadoras. Y esto, por supuesto, no es gratis: el estudio de los múltiples detalles del capítulo
5 debe ocupar una buena parte de un curso universitario serio de introducción a la compu-
tación, y algunos de estos conceptos son propiamente el tema de estudio de muchas de las
siguientes asignaturas dentro de la carrera.
Como no deja de resultar paradójico que la teoría computacional es relativamente
independiente de las computadoras (y hasta inmune a ellas), el capítulo 6 explora algunos
de los conceptos básicos sobre computabilidad, pues ningún estudiante debería descono-
cer el sustento filosófico y conceptual de la era de la computación. Nuevamente, el precio
a pagar por ignorarlo es alto, y se traduce en un empobrecimiento inaceptable de la visión
y el alcance de la carrera.
Hasta aquí llega un curso completo de introducción a la computación, y la cantidad
de conceptos, ideas y materiales ha sido enorme... aunque prácticamente no se ha hablado
acerca de la operación de las computadoras personales ni sus sistemas de aplicación, ni el
ratón ni las ventanas ni los colores de la pantalla. ¿Por qué? ¿No será todo esto una pérdi-
da de tiempo?t
A partir del capítulo 7 comienza el material para un primer curso de programación.
La lógica empleada es exactamente la misma: más que involucrarse de inicio con el
funcionamiento a detalle de las cosas, se exploran sus principios y bases conceptuales.
Así, en este primer capítulo sobre programación no se enseña ningún lenguaje de progra-
mación, pero sí se aprende a programar, porque fundamentalmente los programas no depen-
den de los lenguajes en los que se escriben, y la prueba de ello es que un mismo programa
puede estar codificado en varios lenguajes diferentes. Lo que se estudia en este capítulo
es la teoría básica de la programación, considerando los programas en términos abs-
tractos, formales y universales. Vale la pena comenzar así; se ha demostrado a lo largo de
muchos años y generaciones completas de excelentes programadores, que posteriormente
no tienen mayores problemas en aprender por sí mismos cualquier lenguaje requerido.
El siguiente capítulo abunda sobre los principios de la programación moderna, consi-
derando ahora no sólo la producción de programas individuales (y carentes además de
significado porque eran meras construcciones formales), sino también diseñando míni-
mos sistemas completos, y explicando los conceptos de estructura de datos, objetos, mó-
dulos, paso de parámetros, manejo de archivos y documentación. Tampoco en este capítulo
8 se explica ningún lenguaje específico, aunque sí se muestra un mismo programa codifi-
cado en diez lenguajes diferentes.
Por fin, en el capítulo 9 se empieza a codificar el material de los dos anteriores en el
lenguaje de programación C++. Cabe aclarar que la intención no es enseñar a programar
en este lenguaje, sino más bien ofrecer los fundamentos para que el lector pueda producir
sus primeros programas "reales". La idea es que, con ayuda de un manual o libro comple-
to sobre este lenguaje, posteriormente se pueda llegar a ser experto en él. Siendo C++ un
lenguaje orientado a objetos, se mencionan aquí algunos de los principios que sustentan
esta clase de programas, pero está claro que en un primer curso resulta imposible entrar a
la definición y uso no trivial de objetos, porque para ello se requieren antes muchos con-
ceptos... justamente los explorados en el capítulo.

(t) A lo largo del libro hay una gran cantidad de notas al pie como ésta. Su finalidad es invitar a un
pequeño intermedio para dejar fluir el pensamiento en temas cercanos al que en ese momento se
analiza, para contemplarlo, criticarlo, enriquecerlo o verlo desde otra perspectiva. Por ejemplo,
éste es el momento de pensar en si será o no cierto (y por qué) que el aprendizaje del uso de las
computadoras personales es casi trivial, y que el tiempo social de la universidad debería realmente
dedicarse a cuestiones de más fondo, dejándolo entonces como material de un taller o en forma de
ejercicios y tareas. De aquí en adelante, sugerimos que las notas al pie se piensen y analicen duran-
te la lectura del párrafo donde aparecen, y no después.
xxvi Introducción

En forma paralela al capítulo anterior, el 10 expone los mismos conceptos, pero en el


lenguaje Pascal. Normalmente un estudiante utilizará uno de los dos lenguajes en su cur-
so, pero casi nunca ambos a la vez, y Pascal ya ha perdido mucha popularidad, aunque
sigue siendo un excelente vehículo para la enseñanza de la programación, y por eso se
incluyó aquí. Como en su contraparte de C++, la programación orientada a objetos en
Pascal (o en las extensiones del lenguaje, como Delphi) es un tema que rebasa por mucho
los alcances de un primer curso.
Sobre este tema cabe una nota de caución: desconfíe el lector de las aseveraciones
fáciles implícitas en los nombres de muchos libros introductorios de programación, que
prometen "objetos desde el inicio", pero no lo cumplen sino hasta después de 300 o 400
páginas, o bien sólo utilizan los nombres de los conceptos, pero no los conceptos mismos.
Para muestra, en las referencias del capítulo 7 se reseña el caso de diez libros recientes
(varios de ellos aún sin traducción al español).
Después del capítulo 10 se incluyó un apéndice sobre el sistema operativo Unix,
debido a su importancia en el mundo de la computación "real", las redes e Internet, y no
sólo la basada en las computadoras personales.
En forma similar, al final de casi todos los capítulos existen pequeños anexos sobre
temas de importancia futura para el estudiante, pero que no forman parte de sus preocupa-
ciones durante el primer año. Como ya expresamos la intención de que este libro sirva de
acompañante durante toda la carrera, sugerimos una primera lectura rápida para saber que
la asignatura existe; ya llegará el momento de estudiarla con detenimiento. Adicionalmente,
se ha incluido una buena cantidad de direcciones Internet para explorar más sobre ciertos
temas mencionados en los capítulos.
Al final de todos los capítulos hay una lista de términos y una sugerencia que consi-
deramos realmente importante (tanto para el alumno como para el profesor en busca de un
tema de examen): que el lector pueda ser capaz, por sí solo, de hacer un pequeño discurso
sobre cada uno de esos conceptos y entonces demostrar(se) que ya hizo suyo ese conoci-
miento. Inténtelo, por favor.
Después hay un extenso glosario, cuya finalidad es servir de referencia rápida para
los conceptos explicados a lo largo de todo el libro, pero además presenta y explica varios
de los insufribles acrónimos a los que todo estudiante actual de computación debe acos-
tumbrarse (desde API hasta XML, pasando por EDI y SSL).
Luego llega el turno de un resumen de la bibliografía, que por comodidad reúne y
repite las referencias de los 126 libros y 82 artículos citados en el texto, y que fueron
individualmente reseñados al final de cada capítulo en donde se utilizaron, porque es
importante explicar las razones por las cuales utilizamos o preferimos cierto libro, y no
basta con sólo mencionar su título.
El libro termina con un extenso índice temático, que además cumple las funciones
de guía de nombres de los personajes mencionados (y sus fechas de nacimiento), de desci-
framiento de abreviaturas y acrónimos y, finalmente, de punto de reunión de las decenas
de direcciones Internet citadas.

Agradecimientos
Me siento honrado en contar con un prólogo escrito por Adolfo Guzmán Arenas, doctor en
computación por el MIT (Massachusetts Institute of Technology), Premio Nacional de Cien-
cias de México, 1996, y reconocida autoridad nacional e internacional de la computación.
Además, resulta muy agradable llegar a esta sección de un libro, pues es realmente
gratificante notar la cantidad de amigos y colegas involucrados de una u otra forma en el
largo proceso de creación, y más placentero aún es poder mencionarlos.
Mis amigos Alejandro Romero, ingeniero consultor en redes, y Ana Romo, maestra
en computación (CINVESTAV), sufrieron con mis constantes pedidos de atención a capí-
tulos completos, y a cambio recibí sus extensos comentarios y múltiples correcciones; las
Introducción xxvii

de Alejandro basadas en su experiencia profesional especializada y las de Ana en su ex-


tensa labor académica y docente. Ella le pidió al ingeniero en computación Nicandro
Silva (que además es su esposo) reescribir el programa en LISP que aparece al final del
capítulo 8.
César Jardón, ingeniero en computación y programador experto, revisó con detalle
los capítulos sobre C++ y Pascal, y es el autor de la calculadora en Java que aparece en un
apéndice al final del libro.
La maestra en computación Laura Herrera (IIMAS) analizó con detalle el capítulo de
software de base, y por su conducto obtuve la asesoría de Roberto Jimeno, matemático y
experto en Unix, quien revisó y corrigió el apéndice dedicado a ese sistema operativo, al
igual que el maestro en computación Luis Fernando Castro (IIMAS).
La ingeniera en computación Cecilia Flores me ayudó con la lectura del capítulo de
redes, y la maestra en sistemas Gabriela Márquez (U. de G.) revisó los capítulos de intro-
ducción a la programación y los probó con sus alumnos.
A petición de la editorial, el Doctor Marcelo Mejía (U. de Rennes I) fungió como
revisor técnico de toda la obra.
Los "moneros" Trino y JIS, sin duda entre los mejores caricaturistas de México,
graciosamente nos permitieron reproducir las ilustraciones de las páginas 48 y 382, respec-
tivamente.
La culpable de la publicación de este libro por parte de Pearson Educación es Laura
Koestinger, a quien agradezco en partes iguales su amistad, su crítica y su inteligencia.
Mención especial merece María Elena Macías de Luna, linda licenciada en informá-
tica, por las muchas horas dedicadas a encontrar obscuros detalles de fechas en Internet...
además, le debo y agradezco muchas otras cosas importantes en mi vida.
A todos ellos, mi agradecimiento, aunque aclaro que los posibles errores acaso toda-
vía presentes son míos. Con mucho gusto ofrezco a la amable lectora o lector esta puerta
de entrada al mundo académico de la computación. Bienvenidos.

Guillermo Levine
Guadalajara, México
C a p i t u I o

Panorama
integral de
la computación
y la informática
2 Capítulo O Panorama integral de la computación y la informática

O PANORAMA INTEGRAL DE LA COMPUTACIÓN


Y LA INFORMÁTICA

La era de la computación nace a mediados del siglo xx, cuando las ideas y modelos mate-
máticos hasta entonces desarrollados al fin lograron hacerse realidad mediante complejos
aparatos de ingeniería electrónica. Al inicio no estaba del todo claro para qué iban a
servir las recién inventadas computadoras, pero pronto fue evidente que el funciona-
miento de las sociedades industriales modernas ya no sería posible sin ellas. Estos dos
aspectos un tanto diferentes, las ciencias y técnicas de la computación por un lado y, por
el otro, su utilización social, aprendieron a coexistir, dando lugar al nuevo concepto de
Electronic Data Processing (procesamiento electrónico de datos) hacia finales de la
década de 1960.
Para comprender el uso de este término en los países latinoamericanos es necesario
tomar en cuenta una complicación posterior: como en inglés se usa el nombre Computer
Science, la traducción obvia al español es Ciencias de la Computación, concepto que en
francés se conoce como Informatique. Sin embargo, estando España más cerca de Francia
que de Estados Unidos, allá se le conoce como Informática. Pues bien, aunque nuestros
países están (demasiado) cerca de la influencia cultural y técnica de Estados Unidos, tam-
poco se puede ignorar la tradición ibérica, y la resultante, hacia la década de 1980, era un
término criollo de significado equívoco: "informática".

0.1 LAS CARRERAS DE INFORMÁTICA Y COMPUTACIÓN

¿Qué importancia tiene todo esto? La respuesta está en la confusión causada en las en-
tonces nacientes carreras universitarias, porque bajo el término "informática" se amparaba
todo tipo de planes de estudio, desde los orientados hacia Computer Science (con un
fuerte componente de computación y matemáticas) hasta los enfocados en la aplicación
de algunas técnicas dentro de las empresas (con un fuerte componente de administración y
negocios).
Es en este contexto que en 1982 nace la ANIEI (Asociación Nacional de Instituciones
de Educación en Informática), una asociación civil que agrupa a la casi totalidad de uni-
versidades, escuelas superiores e instituciones que imparten programas curriculares de
computación o de informática en México. Entre sus objetivos fundamentales se encuentran
orientar, proponer y difundir actividades de docencia, investigación y extensión educativa;
propugnar para que las instituciones de educación preparen profesionales con sentido de
servicio a la comunidad, capaces de actuar como agentes de cambio para el desarrollo del
país, y contribuir a la integración, actualización y superación de la educación en informá-
tica, en todos sus niveles. Su dirección electrónica es http: //www.aniei.org.mx .
Como parte central de su quehacer, la ANIEI hizo notar la falta de definición de un
Los Modelos núcleo básico de conocimientos y funciones para determinar con precisión lo que debe
Curriculares saber y hacer un profesional de la computación o de la informática; además, se propuso
que esa deficiencia debía superarse con urgencia. Para ello se formó el Comité de "Modelos
curriculares, nivel licenciatura, informática y computación", constituido por diversos pro-
fesores e investigadores de múltiples universidades del país, y que tuvo como antecedente
el reporte "Definición de la informática", producido en 1981 por un grupo coordinado por
Guillermo Levine y formado por profesores de tres universidades. En 1982 se publicó el
reporte "Definición de los campos de acción de la informática", con la participación adi-
cional de profesores de cinco universidades más.
Sección 0.1 Las carreras de informática y computación 3

El primer comité de modelos curriculares ya dentro de la ANIEI, en 1986, fue coor-


dinado por Victoria R. Bajar y Guillermo Levine, y contó con la colaboración de siete
universidades y aportaciones de cinco instituciones más. t El resultado fue la publicación
de un modelo para la creación y reformulación de planes de estudio, que fue reestruc-
turado diez años después para reflejar los constantes cambios debidos a la evolución de la
computación. Este proceso de renovación debe realizarse en forma periódica, aunque no
necesariamente todos los avances de la moda tecnológica son realmente de interés acadé-
mico o curricular. Se prevé que para 2002 haya una nueva versión que considerará las
habilidades adquiridas por los estudiantes.
El hasta la fecha último comité de modelos de ANIEI fue coordinado en 1997 por
Victoria R. Bajar y Guillermo Levine, y estuvo formado por Roberto Hernández (Instituto
Tecnológico de Pachuca), Lourdes Sánchez (UAM) y Elisa Viso (UNAM), e igualmente
contó con la colaboración de múltiples profesores de la comunidad académica nacional.t

Acreditación y certificación
La situación actual, a inicios del siglo XXI, apunta en nuevas direcciones, tendientes hacia la
acreditación de planes de estudio y la certificación de sus egresados. Estos términos no
constituyen ninguna novedad, pues los organismos acreditadores y los colegios profesio-
nales son comunes (y hasta obligatorios) en áreas como la ingeniería civil y la medicina,
pero en nuestras disciplinas recién inician —aunque sin carácter de obligatoriedad.
La acreditación se refiere a la obtención de un reconocimiento público de calidad
educativa de una institución en una cierta carrera, avalado por la comunidad académica
nacional, y reconocido por entidades internacionales similares. En muchos países existen
organismos acreditadores en computación (CSAB: Computer Science Accreditation Board
en EEUU, National Board of Accreditation en India, por ejemplo) y en varios (Francia y
otros en Europa) el proceso es obligatorio, so pena de perder el registro de funcionamiento
de esa carrera en la institución. En México desde 1999 existe el CONAIC (Consejo Na-
cional de Acreditación en Informática y Computación), con carácter voluntario. Su direc-
ción electrónica es htt p: / /www. conaic . o rg mx.
La certificación, por su parte, está dirigida a los egresados individuales de las carreras,
y es práctica usual que un médico, por ejemplo, no pueda ejercer su profesión sin pasar un
examen nacional. Igualmente, en muchos países existen organismos certificadores; un caso
es la FEANI: Fédération Européenne d'Associations Nationales d'Ingénieurs. En México
el Ceneval (Centro Nacional de Evaluación para la Educación Superior, A.C.) ofrece desde
1999 el Examen General de Egreso (EGEL) para las carreras de informática y computación.
Su dirección electrónica es http: / /www.ceneval.edu.mx .
Pues bien, tanto el CONAIC como el Ceneval utilizan los Modelos Curriculares como
fundamento para algunas de sus labores de acreditación y certificación, porque repre-
sentan un consenso nacional sobre las áreas de conocimientos y de actuación profesional
en informática y computación, por lo que a continuación se presentan en forma abreviada.
Además, este libro de introducción a la computación y a la programación moderna está
diseñado para ofrecer una perspectiva y servir de guía en todo este gran panorama.

(t) Las instituciones participantes en 1981 fueron la UAM y las universidades Anáhuac, de Chapingo
y de Las Américas. En 1982 intervinieron además el CECYT, la UNAM, UPIICSA, y las univer-
sidades Panamericana e Iberoamericana.
Para el primer comité se contó con las siguientes universidades: ITAM, UAM, UNAM,
UPIICSA, CINVESTAV, Universidad Autónoma de Tamaulipas e ITESO, además de SEP, INEGI
y el Instituto de Investigaciones Eléctricas.
4 Capítulo O Panorama integral de la computación y la informática

0.2 MODELOS CURRICULARES EN INFORMÁTICA


Y COMPUTACIÓN

La edición completa de los Modelos Curriculares ocupa casi 100 páginas, por lo que aquí
sólo se hará un resumen. Los modelos constan fundamentalmente de tres partes principales:
La definición de cuatro perfiles tipo de profesionales en informática y computación,
para servir de guía en posibles nombres de carreras universitarias.
La formulación de un catálogo exhaustivo de áreas, subáreas y subsubáreas de conoci-
miento en estos campos del saber, que pueden servir de base para la posterior definición
de temas de estudio.
El cruce de áreas y perfiles, bajo la forma de una matriz de ponderación porcentual
de los temas de estudio, para definir los conocimientos necesarios en cada perfil.

Perfiles profesionales
Los perfiles corresponden a cuatro dominios de desarrollo profesional en informática y
computación, identificados por los siguientes títulos genéricos:

A. Licenciatura en Informática

B. Licenciatura en Sistemas Computacionales

C. Licenciatura en Ciencias de la Computación

D. Ingeniería en Computación.

Aunque no se trata de nombres específicos de carreras, sí es deseable que éstas se organicen


alrededor de ellos, porque representan razonablemente las diversas facetas del desempeño
de la profesión.

Licenciatura en Informática
Se refiere a un profesional con la misión de detectar y satisfacer las necesidades organiza-
cionales relativas al uso y empleo de la información. Será capaz de recabar y organizar los
datos y procesos necesarios para el buen funcionamiento de la organización y el cumpli-
miento de sus objetivos. El resultado final será la creación, administración o mantenimiento
de servicios y sistemas de tratamiento de información integrados y eficientes.
Tendrá una preparación rigurosa en la teoría, práctica y metodología computacionales,
y un entendimiento actualizado de la tecnología computacional, que combinará con el cono-
cimiento de la estructura y operación de la empresa, la industria o la institución. Deberá contar
con disposición y capacidades para trabajo y diálogo en forma interdisciplinaria y grupal.
Éste es un perfil de tipo eminentemente profesional, aunque no excluye la conveniencia
de que se prosigan estudios de posgrado, tanto en las ciencias y tecnologías de tratamiento de
la información como en las áreas beneficiarias de sus aportaciones.

Licenciatura en Sistemas Computacionales


Indica un profesional capaz de analizar situaciones, entomos y problemas propios de ser tra-
tados mediante sistemas computacionales, para ofrecer soluciones completas, resultantes de
la creación, adecuación, integración o selección de productos y servicios computacionales.
Deberá tener una sólida formación en técnicas de análisis y diseño de 'Sistemas de
información, y en la configuración de ambientes de servicios de cómputo y redes, así como
Sección 0.2 Modelos curriculares en informática y computación 5

dominio de herramientas de programación e ingeniería de software, con el fin de cons-


truir programas y sistemas de aplicación con características de productos terminados y
competitivos.
Se trata también de un perfil de orientación profesional, con amplias posibilidades de
continuación en niveles de especialización y posgrado.

Licenciatura en Ciencias de la Computación


Nombra a un profesional dedicado al estudio y desarrollo de las ciencias computacionales,
que derive en elementos para la concepción y creación de ambientes, facilidades y apli-
caciones innovadoras de la computación dentro de entornos diversos de demandas por
satisfacer.
Profundizando en los fundamentos de la construcción de software de base y de apli-
caciones, mantendrá un estudio riguroso en los principios que caracterizan a las ciencias
formales y estará preparado para elaborar teórica y prácticamente modelos de realidades
complejas, cuidando su consistencia, eficiencia y rendimiento.
Perfil de corte académico que, sin excluir extensas posibilidades de desempeño pro-
fesional, deriva naturalmente hacia estudios de posgrado.

Ingeniería en Computación
Se refiere a un profesional con la misión de construir, configurar, evaluar y seleccionar obras y
entornos de servicios computacionales y de telecomunicaciones. Será capaz de encontrar
soluciones innovadoras, proponiendo metodologías, técnicas y herramientas que puedan
constituirse en aportes a la tecnología nacional.
Tendrá un manejo fluido de los principios teóricos y de los aspectos prácticos y meto-
dológicos que sustentan el diseño y desarrollo de sistemas complejos, especificación de
arquitecturas de hardware y configuración de redes de cómputo y teleproceso.
Perfil de tipo profesional que, mediante especializaciones o posgrado, puede reafirmar
su orientación o bien derivar hacia una orientación de tipo académico en computación, o
hacia las redes y las telecomunicaciones.

Catálogo de áreas de conocimiento


Se definen ocho grandes áreas de conocimiento en informática y computación, que luego se
dividen en subáreas, y éstas en subsubáreas. Las subáreas o las subsubáreas, según los casos,
están estructuradas en grupos de temas de estudio, que no corresponden necesariamente
a materias. Así, un conjunto de temas puede dar lugar a varias materias en el plan de un
determinado perfil, mientras que para otro perfil puede reducirse a una parte pequeña en
un curso, o simplemente a una mención de que esos tópicos existen, sin estudiarlos deta-
lladamente.
Las áreas generales de conocimiento son:

1. Entorno social
2. Matemáticas
3. Arquitectura de computadoras
4. Redes
5. Software de base
6. Programación e ingeniería de software
7. Tratamiento de información
8. Interacción humano-máquina

y a continuación se muestran sus objetivos, así como las definiciones de las subáreas y
subsubáreas que las componen. Además, para cada una de estas últimas se muestran los
6 Capftulo O Panorama integral de la computación y la informática

nombres de sus temas de estudio. En el reporte original aparecen también los contenidos
específicos de cada tema, que aquí se omiten.
Desafortunadamente aún son demasiadas las escuelas en donde todavía se sigue con-
fundiendo el estudio de la computación con el uso cotidiano de las computadoras personales
y sus sistemas y "paquetes", por lo que no siempre se comprende cabalmente la importancia
(y el esfuerzo que demanda) de adquirir y mantener un nivel de conocimientos que permita
lograr desarrollos e innovaciones. Como, por supuesto, el uso de paquetes y soluciones
predefinidas sí tiene su propia importancia, la última subárea de cada grupo se dedica a
considerarlos.
Esperamos que ya sea clara la intención de esta sección: mostrar los contenidos sistema-
tizados de prácticamente toda la computación y la informática, al menos en el nivel uni-
versitario de licenciatura. Naturalmente, el catálogo no se lee de una vez, sino que intenta
servir como guía en el laberinto de esta enorme disciplina.

1. Entorno social
Comprende conocimientos, normas, experiencias y motivaciones que hacen posible la bue-
na integración de las unidades de informática y su personal en las organizaciones y en la
sociedad en general. Se incluyen tópicos de administración, economía, contabilidad, dere-
cho, sociología y psicología.

1.1 Las organizaciones


Objetivo:
Brindar un conjunto de conocimientos y aspectos de normatividad, relativos a las organi-
zaciones en general, con la doble finalidad de adecuarlos a las organizaciones informáti-
cas, y de tener bases conceptuales para el desarrollo e implantación de sistemas informáticos
relacionados con los aspectos administrativo-contables.

1.1.1 Teoría de las organizaciones


ES 1: Tipos y principios básicos de las organizaciones.
ES2:Procedimientos administrativos.
ES3:Recursos humanos.

1.1.2 Temas de manejo financiero


ES4:Principios básicos de contabilidad.
ES5:Contabilidad de costos.
ES6:Presupuestos.
ES7:Planeación financiera.
ES8:Aspectos fiscales en las organizaciones.

1.1.3 Temas de manejo económico


ES9:Conceptos básicos de microeconomía.
ES10:Conceptos básicos de macroeconomía.
ES11:Economía de la empresa.

1.2 Las unidades de informática


Objetivo:
Estudiar las unidades informáticas desde la óptica de las organizaciones. Para ello se
aplicarán y particularizarán los conceptos generales de éstas a las unidades de informática,
sean parte de una organización mayor o empresas independientes.
Sección 0.2 Modelos curriculares en informática y computación 7

1.2.1 La función informática


ES12: Unidades de informática en las organizaciones.
ES13: Empresas y proyectos informáticos.
ES 14: Administración de unidades informáticas.
ES15 : Bienes informáticos.

1.2.2 Recursos humanos


ES 16:Administración del personal informático.
ES 17:Actualización del personal informático.

1.2.3 Auditoría en las unidades de informática


ES 18: Auditoría informática.

1.3 Ética y normatividad jurídica


Objetivo:
Brindar conocimientos de normatividad jurídica y de políticas nacionales e internacionales
para una adecuada ubicación de los bienes y servicios informáticos en su entorno social.
Proporcionar un marco de conceptos y valores éticos para el quehacer profesional y el uso
de bienes y servicios informáticos.

1.3.1 Marcos legales


ES 19: Consideraciones legales.
ES20: Derecho mercantil.
ES21: Política informática.
ES22: Los derechos humanos.

1.3.2 La era de la información


ES23:Autoría informática.
ES24: Impacto de la tecnología.
ES25: Impacto social de la informática.

1.4 Herramientas computacionales para entorno social

2. Matemáticas
Las matemáticas brindan una excelente e imprescindible base de tipo formativo para el
desarrollo de habilidades de abstracción y la expresión de formalismos, además de propor-
cionar conocimientos específicos fundamentales para la informática y la computación.

2.1 Matemáticas básicas


Objetivo:
Proporcionar los conocimientos clásicos de la disciplina matemática que son la base formal
para todos los desarrollos posteriores.

2.1.1 Cálculo
MAl: Diferencial e integral en una variable.
MA2: Diferencial e integral en varias variables.
MA3: Ecuaciones diferenciales.
MA4: Series de Fourier.
MA5: Transformadas de Fourier.
8 Capítulo O Panorama integral de la computación y la informática

2.1.2 Álgebra
MA6: Lineal.
MA7: Clásica.
MA8: Moderna.

2.1.3 Geometría
MA9:Vectores, rectas, planos y curvas.
MA10:Transformaciones geométricas.

2.2 Matemáticas aplicadas


Objetivo:
Propiciar el ejercicio de habilidades formales como elemento formativo, y proporcionar
conocimientos específicos de importancia instrumental para desarrollos posteriores.

2.2.1 Probabilidad y estadística


MA1 1: Probabilidad.
MAl2: Estadística descriptiva.
MA13:Distribuciones.

2.2.2 Cálculo numérico


MA14:Métodos numéricos.

2.2.3 Simulación
MA15: Conceptos básicos.
MA16:Técnicas de programación y lenguajes especiales.

2.2.4 Sistemas y control


MA17:Elementos para el control de procesos.

2.2.5 Investigación de operaciones


MA18: Programación lineal.
MA19: Programación no lineal, entera y dinámica.
MA20:Análisis de redes.

2.3 Matemáticas discretas


Objetivo:
Brindar un cuerpo de conocimientos formales, esencialmente vinculados con la filosofía
y disciplina computacionales. Proporcionar técnicas para el planteamiento y la resolución
de problemas de conteo y enumeración.

2.3.1 Lógica y conjuntos


MA21: Lógica proposicional.
MA22: Lógica de predicados.
MA23: Conjuntos.

2.3.2 Combinatoria
MA24:Análisis combinatorio.
Sección 0.2 Modelos curriculares en informática y computación

2.3.3 Relaciones y gratos


MA25: Relaciones.
MA26:Gráficas.
MA27:Árboles.

2.4 Teoría matemática de la computación


Objetivo:
Ofrecer los conocimientos formales que sustentan el modelo teórico y conceptual de las
computadoras y el quehacer computacional en su sentido más amplio. Brindar elementos
para el enriquecimiento de la comprensión de la disciplina computacional.

2.4.1 Autómatas y lenguajes formales


MA28:Máquinas de estado finito.
MA29:Reconocimiento de lenguajes.
MA30: Lenguajes formales.

2.4.2 Sistemas formales


MA31:Máquinas de Turing.
MA32:Funciones recursivas.

2.4.3 Computabilidad
MA33:Complejidad.
MA34:Decidibilidad.

2.5 Herramientas computacionales


para matemáticas

3. Arquitectura de computadoras
Estudio de la teoría, técnicas, tecnologías y métodos para comprender el funcionamiento
de los sistemas digitales y las computadoras, así como de los principios físicos que los
sustentan, con el objeto de formular algunas de sus especificaciones y saber integrar equipos
diversos para fines particulares.

3.1 Física
Objetivo:
Comprender los principios del funcionamiento de los circuitos electrónicos en general, y
de los circuitos digitales en particular, para analizar aplicaciones usuales y hacer posible
el tener diseños particulares.

3.1.1 Temas de mecánica, óptica y física moderna


AC1: Mecánica.
AC2: Óptica.
AC3: Física moderna.

3.1.2 Electricidad y magnetismo


AC4: Electricidad.
AC5:Magnetismo.
AC6: Circuitos eléctricos.
10 Capítulo O Panorama integral de la computación y la informática

3.1.3 Electrónica
AC7: Principios de electrónica.
AC8: Circuitos electrónicos.
AC9: Tecnologías de circuitos integrados.
AC 10: Dispositivos de propósito especial.

3.2 Sistemas digitales


Objetivo:
Proporcionar elementos teóricos y prácticos para analizar y comprender los subsistemas
básicos de las computadoras, así como para su especificación y diseño.

3.2.1 Diseño lógico


AC11:Sistemas de numeración.
AC12:Circuitos combinatorios.
AC 13: Circuitos secuenciales.

3.2.2 Subsistemas básicos


AC14:Unidades funcionales.
AC15:Memorias.
AC16:Dispositivos periféricos de almacenamiento externo.
AC17:Dispositivos periféricos de entrada-salida.

3.3 Tipos y configuraciones de computadoras


Objetivo:
Estudiar diferentes arquitecturas de sistemas existentes a lo largo de su evolución histórica,
y analizar las nuevas tendencias.

3.3.1 Arquitecturas y formas de procesamiento


AC18:Historia y evolución.
AC19:Arquitectura clásica de von Neumann.
AC20:Arquitecturas alternativas.
AC21:Microprocesadores.
AC22:Configuraciones de equipos de cómputo.
AC23:Formas de procesamiento.
AC24:Modelo cliente-servidor.

3.3.2 Sistemas de propósito especial


AC25:Configuraciones especializadas.

3.4 Instalaciones y equipos


Objetivo:
Brindar los conocimientos y pautas necesarios para la adecuada determinación de ambientes
que respondan a normas y requerimientos físicos, de comodidad y de seguridad.

3.4.1 Instalaciones
AC26:Físicas y de construcción.
AC27:Eléctricas.
Sección 0.2 Modelos curriculares en informática y computación 11

3.4.2 Administración y mantenimiento


AC28:Configuración inicial.
AC29:Mantenimiento.

3.4.3 Seguridad
AC30:Medidas preventivas de seguridad.
AC31:Siniestros.
AC32:Seguros.

3.5 Herramientas computacionales


para arquitectura de computadoras

4. Redes
Estudio de la fusión de los dominios tradicionalmente considerados como hardware y
software, y formas de distribuir y compartir recursos computacionales, procesos e in-
formación.

4.1 Transmisión y comunicación de datos


Objetivo:
Estudiar la teoría y conocer los elementos operativos requeridos para la transmisión Y
recepción de información.

4.1.1 Teoría de la información


RE1: Conceptos teóricos.
RE2: Códigos.
RE3: Errores.

4.1.2 Señales
RE4: Tipos y enlaces.

4.1.3 Transmisión de voz, imágenes y datos


RE5: Comunicaciones.
RE6: Modos de transmisión.
RE7: Medios y elementos físicos.
RE8: Dispositivos de comunicación.
RE9: Servicios de comunicaciones.

4.2 Modelos
Objetivo:
Estudiar los elementos teóricos, las características y las propiedades de los diferentes
modelos de redes de cómputo, así como los componentes de las redes, con el fin de diseñar
e implantar aplicaciones específicas.

4.2.1 Topologías
RE10: El modelo ISO/OSI.
RE11:Arquitectura.
RE12: Estándares y organizaciones.
RE13: Redes locales (LAN).
RE14: Redes amplias (WAN).
12 Capítulo O Panorama integral de la computación y la informática

4.3 Protocolos
Objetivo:
Estudiar y analizar las convenciones empleadas para la comunicación entre las partes
constitutivas de las redes de cómputo y comunicaciones.

4.3.1 Protocolos para comunicación


RE15:Protocolos de bajo nivel.
RE16:Protocolos de alto nivel.

4.4 Intercomunicación de datos


Objetivo:
Brindar los conocimientos de diseño y funcionalidad de las grandes redes globales, Y
proporcionar los elementos conceptuales para implantar redes de redes.

4.4.1 Interconectividad
RE17:Teoría de interconexiones.
RE18:Dispositivos para interconexión.
RE19:Elementos de diseño de redes.

4.4.2 Interoperabilidad
REZO: Redes interconectadas.
RE21:Internet.

4.5 Seguridad e integridad de la información


Objetivo:
Estudiar los diversos métodos para garantizar la seguridad y confiabilidad de los datos
que circulan en las redes, asegurando el libre tránsito de información y manteniendo las
condiciones de privacidad definidas por los usuarios y los administradores de los sistemas.
RE22:Integridad.
RE23: Seguridad.

4.6 Herramientas computacionales para redes

5. Software de base
Estudio, definición y construcción de las piezas de software que hacen posible el fun-
cionamiento de las computadoras en diferentes niveles operativos. Por su importancia
formativa y metodológica, esta área de conocimiento resulta fundamental para los desa-
rrollos de la industria de los programas para computadoras.

5.1 Traductores
Objetivo:
Estudiar la teoría, técnicas y metodologías para el diseño y construcción de los traducto-
res: ensambladores, microprocesadores, intérpretes y compiladores, presentando las prin-
cipales herramientas para la generación automática de traductores. Resaltar la importancia
formativa de estos temas.
Sección 0.2 Modelos curriculares en informática y computación 13

5.1.1 Traductores de bajo nivel


SB 1: Ensambladores.
SB2: Macroensambladores.
SB3: Macroprocesadores.

5.1.2 Traductores de alto nivel


SB4: Intérpretes.
SB5: Compiladores.
SB6: Temas de compilación.
SB7: Ambientes integrados.

5.2 Sistemas operativos


Objetivo:
Estudiar la teoría, técnicas y metodologías para el diseño y construcción de sistemas ope-
rativos, con énfasis en cada uno de sus componentes: manejo del procesador, manejo de
memoria, administración de dispositivos, y manejo de información.

5.2.1 Estructuras básicas


SB8: Historia y evolución.
SB9: Esquema básico.
SB 10:Arquitectura de un sistema operativo.
SB 11:Desempeño de un sistema operativo.
SB12:Manejo de dispositivos y servicios especiales.

5.2.2 Tipos de sistemas operativos


SB13:Tipos especiales de sistemas operativos.
SB14:Ambientes gráficos.

5.3 Utilerías y manejadores


Objetivo:
Estudiar las principales categorías y herramientas de base necesarias para la configuración,
el arranque, el uso eficiente y la operación de los sistemas de cómputo.

5.3.1 Orientados al usuario


SB 15: Sistemas de respaldo y recuperación.
SB 16: Tratamiento de virus.

5.3.2 Orientados al sistema


SB 17: Cargadores y ligadores.
SB 18:Administración y vigilancia.
SB 19: Herramientas para la administración.

5.4 Herramientas computacionales


para software de base

6. Programación e ingeniería de software


Cuerpo de conocimientos teóricos y prácticos, y conjunto de metodologías para la buena
construcción de programas y sistemas de software, considerando su análisis y diseño,
14 Capítulo O Panorama integral de la computación y la informática

confiabilidad, funcionalidad, costo, seguridad, facilidades de mantenimiento y otros aspec-


tos relacionados.

6.1 Algorítmica
Objetivo:
Estudiar las técnicas de diseño necesarias para formular y expresar algoritmos compu-
tacionales, estructurando en forma eficiente la representación elegida para la información.
Lograr la construcción de programas en forma correcta y metodológica. Estudiar los con-
ceptos teóricos requeridos para reconocer aquellos problemas para los cuales no existe
solución algorítmica práctica.

6.1.1 Fundamentos de algorítmica


PIl: Historia de la computación.
PI2: Algorítmica básica.
PI3: Enfoque estructurado.
PI4: Enfoque por objetos.

6.1.2 Estructuras de datos


PI5: Estructuras estáticas en memoria central.
PI6: Estructuras dinámicas en memoria central.
PI7: Estructuras en memoria secundaria.
PI8: Organización de archivos.
PI9: Clasificación.
PI10: Búsqueda.

6.1.3 Complejidad
PI1 1: Medidas de complejidad.
PI12: Análisis de algoritmos.
PIl 3: Estrategias para la construcción de algoritmos.

6.2 Paradigmas de programación y lenguajes


Objetivo:
Estudiar la naturaleza de los lenguajes de programación considerando la filosofía que
emplean para describir elementos de la realidad. Estudiar formas y características de implan-
tación de los procesadores de los lenguajes. Analizar la evolución de los lenguajes de
programación, así como presentar y discutir las tendencias futuras de su desarrollo.

6.2.1 Familias y tipos de lenguajes


PI14: Programación imperativa. (Véase además PI2, PI3.)
PIl 5: Programación orientada a objetos. (Véase además PI4.)
PI16: Programación funcional.
PI17: Programación lógica.
PIl 8: Programación visual y por eventos.
PI19: Comparación de lenguajes.

6.2.2 Paralelismo y concurrencia


PI20: Relaciones entre algoritmos y arquitecturas.
PI21: Algoritmos concurrentes.
PI22: Paralelismo.
Sección 0.2 Modelos curriculares en informática y computación 15

6.3 Sistemas de software


Objetivo:
Presentar las diferentes filosofías, conceptos, metodologías y técnicas utilizadas para la
construcción de sistemas grandes de software, considerando su análisis, especificaciones,
diseño, programación, documentación, verificación y evaluación. Brindar elementos para
lograr diseños modulares y susceptibles de ser realizados por grupos de desarrollo.

6.3.1 Análisis y diseño


PI23: Conceptos generales sobre sistemas.
P124: Análisis de sistemas.
PI25: Metodologías para análisis.
PI26: Diseño de sistemas
PI27: Metodologías de diseño.

6.3.2 Implantación, prueba y mantenimiento


PI28: Ciclo de vida de los sistemas.
PI29: Control del avance de proyectos de software.
PI30: Métodos de prueba.
PI31: Mantenimiento y extensiones.

6.3.3 Consideraciones de calidad


PI32: Normas, estándares y documentación.
PI33: Control de calidad de software.
P134: Auditoría de sistemas.

6.4 Industria del software


Objetivo:
Presentar los diferentes elementos que inciden en la creación de productos de software
desde una perspectiva de desarrollo industrial, incluyendo aspectos de eficiencia del proceso
de creación, uso de herramientas automatizadas para su desarrollo, robustez, adaptabilidad,
análisis de costos y tiempos, y comercialización, entre otros.

6.4.1 Desarrollo industrial de software


PI35: Evolución del desarrollo de software.
P136: Características de los productos de software industrial.

6.4.2 Automatización de la construcción de software


PI37: Métodos industriales para creación de software.
P138: Herramientas para creación de software.

6.5 Herramientas computacionales para programación


e ingeniería de software

7. Tratamiento de información
Área de conocimientos en la cual se conjuga una multiplicidad de temas computacionales
de teoría, técnica y metodología, requeridos para la construcción de una amplia gama de
soluciones de información, imprescindibles para el adecuado funcionamiento de todo tipo
de organizaciones.
16 Capítulo O Panorama integral de la computación y la informática

7.1 Bases de datos


Objetivo:
Estudiar los principios de las bases datos y sus diferentes modelos. Brindar los conoci-
mientos necesarios para el diseño y realización de sistemas de bases de datos, considerando
aspectos de análisis, organización lógica y física, determinación del modelo apropiado,
así como selección y aplicación de las herramientas adecuadas.

7.1.1 Modelado y diseño


TIl: Conceptos generales.
TI2: El modelo jerárquico.
TI3: El modelo de red.
TI4: El modelo relacional.
TI5: Modelo entidad-relación.
TI6: Diseño relacional.
TI7: Modelos alternativos.
TI8: Bases de datos distribuidas.

7.1.2 Manejadores y uso


TI9: Manejadores.
TI10: Lenguajes de consulta.
TIll: Arquitectura de sistemas de bases de datos.

7.1.3 Desarrollo e implantación de aplicaciones


TI12: Elementos básicos.
TI13: Manejo de archivos. (Véase además PI7.)
TI14: Seguridad en bases de datos.

7.2 Recuperación de información


Objetivo:
Brindar los elementos teóricos requeridos para el manejo de grandes volúmenes de infor-
mación, lo cual incluye el estudio de los aspectos característicos del hardware y software
necesarios para un procesamiento eficiente.

7.2.1 Dispositivos de almacenamiento de información


TI15: Dispositivos. (Véase además AC16.)

7.2.2 Archivos para grandes volúmenes de datos


TI16: Métodos.
TI17: Seguridad.

7.3 Sistemas de información


Objetivo:
Estudiar y aplicar las distintas teorías, técnicas y metodologías de análisis y diseño para la
concepción y entendimiento de sistemas de manejo de información, con el fin de modelar
situaciones del entorno real, resolver problemas y optimizar la toma de decisiones.

7.3.1 Teoría de sistemas


TI18: Enfoques sistémicos.
T119: Control de calidad.
Sección 0.2 Modelos curriculares en informática y computación 17

7.3.2 Análisis y diseño de sistemas de información


TI20: Análisis y diseño. (Véase además la sección 6.3.1.)

7.3.3 Desarrollo e implantación


TI21: Desarrollo.
TI22: Implantación.

7.3.4 Administración de sistemas de información


TI23: Organización y administración. (Véase además la sección 1.2.)

7.4 Herramientas computacionales para tratamiento


de información

8. Interacción humano-máquina
Estudio de los dominios de aplicación conducentes a lograr formas superiores de expresión
e interacción entre el hombre y la computadora, con el fin de buscar mejores y novedosas
maneras de integración de la tecnología en la sociedad.

8.1 Graficación
Objetivo:
Estudiar los principios y metodologías necesarias para la representación, manipulación y
despliegue de figuras e imágenes en dos y tres dimensiones, considerando los dispositivos
de hardware con características específicas para procesos de graficación.

8.1.1 Dispositivos
IH1: Medios.

8.1.2 Algoritmos
IH2: Técnicas de programación.

8.1.3 Software dedicado


IH3: Productos.

8.2 Inteligencia artificial


Objetivo:
Estudiar la teoría y métodos heurísticos requeridos para la solución y modelado de situa-
ciones difíciles de expresar algorítmicamente. Aplicar lo anterior en el desarrollo de progra-
mas, sistemas expertos y sistemas de propósito específico.

8.2.1 Métodos
IH4: Lógica y resolución de problemas.
IH5: Búsqueda.
IH6: Lenguajes especiales.

8.2.2 Representación del conocimiento


IH7: Aprendizaje.
IH8: Deducción.
IH9: Redes neuronales.
18 Capítulo O Panorama integral de la computación y la informática

8.2.3 Sistemas expertos


IH10: Caracterización de los sistemas expertos.
IH11: Razonamiento y control.

8.2.4 Reconocimiento de formas


IH12:Visión.
IH13: Robótica.

8.2.5 Proceso de lenguaje natural


IH14: Elementos para el proceso sintáctico y semántico.

8.3 Interfaces humano-máquina

Objetivo:
Estudiar los conceptos, elementos físicos y técnicas de diseño y programación para lograr
una comunicación fluida haciendo uso de medios múltiples. Analizar las características y
propiedades de ciertas herramientas para el uso de la computadora como auxiliar en labores
de diseño y modulación.

8.3.1 Diseño asistido por computadora (CAD)


IH15: Diseño por computadora.
IH16: Programación con CAD.

8.3.2 Aspectos conceptuales en la construcción


de interfaces
IH17: Diseño de interfaces.
IH18: Diálogos y guiones.

8.4 Herramientas computacionales


para interacción humano-máquina

Matriz de cruzamiento de perfiles y áreas


de conocimiento
El cruce de áreas y perfiles expresado es la síntesis de todo lo anterior y significa, para
cada perfil, cuánto se debe saber de determinado grupo de temas. Aunque éste ya es un tema
propio de los diseñadores de las carreras (y no de sus alumnos), se incluye aquí porque
forma parte integral de los Modelos Curriculares, y para dar la visión completa sobre su
posible aplicación en la realidad.
La matriz que se presenta en la figura 1 expresa la ponderación porcentual para cada
uno de los cuatro perfiles profesionales, primero sólo en el nivel de las áreas.
Sección 0.2 Modelos curriculares en informática y computación 19

Perfiles porcentuales por área


A B C D
ENTORNO SOCIAL 27.5 20.0 10.0 10.0
MATEMÁTICAS 12.5 15.0 25.0 17.5
ARQUITECTURA DE COMPUTADORAS 7.5 7.5 10.0 17.5
REDES 7.5 10.0 10.0 12.5
SOFTWARE DE BASE 7.5 7.5 10.0 12.5
PROGRAMACIÓN E INGENIERÍA DE SOFTWARE 17.5 17.5 20.0 17.5
TRATAMIENTO DE INFORMACIÓN 12.5 15.0 5.0 5.0
INTERACCIÓN HUMANO-MÁQUINA 7.5 7.5 10.0 7.5

A: LICENCIATURA EN INFORMÁTICA
B: LICENCIATURA EN SISTEMAS COMPUTACIONALES Figura 1 Matriz de
C: LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN ponderaciones porcentuales
D: INGENIERÍA EN COMPUTACIÓN de las áreas de conocimiento

La figura 2 expresa el siguiente nivel de detalle, pues se incluyen las ponderaciones


porcentuales para las subáreas; se muestra la ponderación porcentual -%- de cada
área (x) y subárea (x.y) así como la ponderación con respecto a un total de 40 materias o
asignaturas -m40- en cada uno de los perfiles. La referencia sobre 40 materias se da
únicamente como medida relativa a la práctica usual de tener carreras con ese número de
materias curriculares obligatorias. Es importante mencionar nuevamente que las subáreas
no necesariamente corresponden con exactitud a materias: mientras en un perfil una subárea
puede dar origen a una o más materias, en otro puede corresponder sólo a algunas seccio-
nes dentro de un curso.
Esto último es evidente cuando un número no entero corresponde a una materia. Por
ejemplo, para el perfil de Licenciatura en Informática, la matriz especifica que debe haber
1.5% de la subárea 3.1 (Física), lo cual corresponde a 0.6 "materias" de un total de 40; los
diseñadores de esa carrera dentro de una institución en particular tienen la responsabilidad
de definir dentro de cuál materia se verán esos temas de física, o bien si les conviene con-
vertir ese 0.6 de materia en una materia completa y reducir el 0.4 extra de algún otro grupo
de temas dentro del área 3 en cuestión.
Las últimas subáreas (herramientas computacionales) de cada área no están incluidas
en la tabla de cruzamientos porque se trata de conocimientos prácticos de empleo de "pa-
quetes" computacionales que, aunque importantes, no deberían formar parte de los planes
de estudio, más que a título de seminarios, talleres o actividades extracurriculares. El
sentir de la ANIEI es que el tiempo social de la universidad debe dedicarse a las labores de
creación y creatividad académicas, y no a formar usuarios o consumidores pasivos de siste-
mas comerciales.
Nótese que en las matrices no hay ceros, porque los temas previstos deben abordarse
en todos los perfiles profesionales, aunque la profundidad y el enfoque varíen fuertemente
de un perfil a otro: lo que para uno puede ser un conocimiento técnico profundo, para otro
puede tan sólo ser lo que significan los conceptos; lo que en un caso puede involucrar
desarrollo para saber hacer, en otro puede interpretarse como saber usar, etcétera.
Incluso una lectura superficial de estos modelos indicará la importancia que se adjudica a
los conceptos básicos que fundamentan nuestra ciencia: matemáticas, teoría de la computación,
algoritmos, estructuras de datos, ingeniería de software, y no podemos sino reiterar nuestro
compromiso con el conocimiento y el método científicos, y pedir a todos aquellos involucrados
con las tareas del diseño curricular y la enseñanza que no desistan en los esfuerzos por continuar
por ese camino, porque eso es el más firme aliado de la confianza y el desarrollo.
20 Capítulo O Panorama integral de la computación y la informática

17' 4
53 , 99 0000

0' I-
9' 0
YO

9' 0
9' 0
0' 3

9' 0
000

3' 3
0 00 9 9 '11: 9 c'.! 9 "0-
_,
‘,1 ,- ,- C7 Vd , , - - _,
CM CO 1- 1- 1- •-• /- w 05 N ,- ',-
Ot7w
natación

)< d' N. N. to LO) N. al C)


hería

S' E
0' 3
0' 3
u.) o to to o (I) LO LO

0' 9
9' 9
0' 3
lt) O LO 12, 11) 11? O
0' 9
9' 3
9' 3

tr) LO O LO O.
N: u.) Ni Ni tO N: Ni Ni CO Ni ri Ni ,- N: tri Ni Ni Ni ,- ,-

to to to

9' 31.
O

S' L
01.

>c N: N Ni N lo

0' 4
9' 0
YO
o o o o o o o co cu cl co <O 0 O 0 17 (O C.O 00 0 0 O O 9 9 9
c'J ,- ,- ri c.i ri Ni c; ,- ,- O 0-0 .- *-0 si Ni ,- ,- ,- tu I-
017w
de la Comp utación
Lic. en Ciencias

C nr o nr ni- nr CO N , t
,-
Ikx

in u, Ln 9 o o u.) 1-0

0' 9
9' 3
017
0' 3

9' 3
017
9' 3

In LO O
0' 9
9' 3

Ul O II) O 0 0 CD 0 LO
N: Lei r-: Lri Ni ei •) ni ,- Ni Ni Ni ,- ,_ Lo cu cm N 1- 1-

01.
in o o
04
0 I-

>< N
O
N

000 0' 3 o q o
0' 3
0' 3
0' 3
0' 3

"7010 0
0' 47

0000 (D00000 (0000•4'


ni Ni ,- ,- ci ,- d d O ,- ,- ,- O ,- ,- d vi ej ', ..... T T T
017W
Comp utacionales
Lic. en Sistemas

>•( 00 (O CO •:1' CO 1... (O Cr)


0' 0 L

0' 9
0' 9
0' 9
9' ?
9' 3
9' 3
9' I-
S' E
9' 3

LO O LO in
0' 9
0' 9

O O LO LO Lf) LO LC) O lf") LO LO la O


O O Ni Ni ,- Ni .- ni ,- Ni N Ni ,- N: O ni Ni

to
9' L

Lo o
54

to
OZ

>< ,- N

q •u: co
0' 4
0. 3

<O q co on co CC) ci• O 17


0' 3

o o o q :1: O (0 0 O 0 O
0' 17
O' t7

c\i,-,-,- ci,-ció cicid,-d ,-,-o ri,-Ni.- ,- 1.-- Ci


0471
-11
en Inform át ica
Licenc iatura

11, Cf) CO Cg N. to cg
Ikx
0' 0 I-
0' 0 I-

5' 4
0' 9
9' 3
S' E

Ir) ill. O Ln c!
0' 9
9' 3
S' E
9' 3
9' 1.

O to 10 111 II) ti, tr) O LO OO LO


O Ni ni Ni ,- Ni ,- N ,- ',- ,- N 1- N:. N Oc.i

in
9' Z4
S' L3

9' L

Lo Lo
9' L

>< O
ni N. N: N

o
o ca
3' 9
E' 9

res 92
3' S
ES

1- N CO "7 ,- N 0, 1:1' 1- N 0, 17 LO ,- N el nr
1-' 9

1- N 0,
1.' 9

2 >. '<1 r .- /- N CV N CV 05 05 05 05 1:1: el ni nr: el: cci (ci cci CO


.< _o
=
N
Sección 0.2 Modelos curriculares en informática y computación 21

Las anteriores consideraciones se aplican igualmente a las carreras un tanto más orien-
tadas hacia la administración de la informática y la gestión de sus proyectos de desarrollo,
porque para todo esto se partió de la concepción de que la informática tiene como centro
la computación. Es decir, las carreras de administración que usan algunas (o muchas) herra-
mientas informáticas no forman parte de este enfoque, porque más bien pertenecen al área
administrativo-contable, y lo mismo puede decirse de casi cualquier otra carrera universi-
taria que emplee la computadora (no la computación) como auxiliar deseable o incluso
imprescindible. Un poco para evitar estas posibles confusiones, desde hace algunos años
en inglés se usa el término Computing para referirse en lo general a las áreas de actuación
descritas en estos modelos curriculares.

Gráficas
En las siguientes páginas se presentan gráficas auxiliares adicionales para mostrar diversas
facetas de la matriz de cruzamientos: comparaciones porcentuales por áreas entre los cuatro
perfiles, divisiones de áreas para cada perfil, etcétera.
La figura 3 es un histograma de la distribución de las ocho áreas de conocimiento en
los perfiles profesionales.
En la figura 4 se hizo un cambio de variables y, para cada área de conocimiento,
muestra cómo se distribuye en los cuatro perfiles.
Las figuras 5 a 8 son diagramas porcentuales de cada perfil profesional; indican lo
mismo que el histograma de la figura 3, pero para cada perfil en forma individual.
En las figuras 9 a 16 nuevamente se hizo el cambio de variable para indicar, en forma
individual por área de conocimiento, cómo están compuestos los perfiles profesionales.
22 Capítulo O Panorama integral de la computación y la informática

EE @II 1151 1111 II

ng. Computación
1111V

" 1111.111111.1.1
2\\\\\ o
o
o
1 o

oo
oo

a
o
c a
so .)
o
p •3

MEI LO U)
íg o

43)
(1)
1-2 7
o
0_
Sección 0.2 Modelos curriculares en informática y computación 23

Elffill
- ■
24 Capítulo O Panorama integral de la computación y la informática

CLAVES IH
ES: ENTORNO SOCIAL
MA: MATEMÁTICAS
AC: ARQUITECTURA DE COMPUTADORAS
RE: REDES
SB: SOFTWARE DE BASE
PI: PROGRAMACIÓN E INGENIERÍA DE SOFTWARE
TI: TRATAMIENTO DE INFORMACIÓN
IH: INTERACCIÓN HUMANO-MÁQUINA

PI
Figura 5 Áreas para la 17.5%
Licenciatura en Informática MA
12.5%

RE 7.5%
7.5%

IH

MA
15%
Figura 6 Áreas para la
Licenciatura en Sistemas
Computacionales

7.5% RE
10%
Sección 0.2 Modelos curriculares en informática y computación 25

IH ES

MA
25%
PI
20%

Figura 7 Áreas para la


Licenciatura en Ciencias de
la Computación

RE
10%

IH ES

PI
17.5%

Figura 8 Áreas para la


Ingeniería en Computación

RE
12.5%
26 Capítulo O Panorama integral de la computación y la informática

30
275

25

20
20

15

10 10
10

Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en


Informática Computacionales de la Computación Computación
175gmre 9 Entorno social
en cada perfil
Sección 0.2 Modelos curriculares en informática y computación 27

25
25

20
17.5

15
15

10

Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en


Informática Computacionales de la Computación Computación

Púguire 1© Matemáticas en
cada perfil
28 Capítulo O Panorama integral de la computación y la informática

20

18

16

14

12

0/0
10

0
Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en
Informática Computacionales de la Computación Computación

Figura 11Arquitectura de
computadoras en cada perfil
Sección 0.2 Modelos curriculares en informática y computación 29

14

12.5

12

10 10
10

7.5
o/0

Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en


Informática Computacionales de la Computación Computación

Ilgum 'D2 Redes en cada


perfil
30 Capítulo O Panorama integral de la computación y la informática

14

12.5

12

10
•■•■•••.
10

7.5 7.5

Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en


Informática Computacionales de la Computación Computación

num 'U S Software de base


en cada perfil
Sección 0.2 Modelos curriculares en informática y computación 31

20
20

17.5 17.5 17.5


18

16

14

12

10

Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en


Informática Computacionales de la Computación Computación
Ingliuc] 4 Programación
e ingeniería de software en
cada perfil
32 Capítulo O Panorama integral de la computación y la informática

16

14

12

10

0
Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en
Informática Computacionales de la Computación Computación

Figura 15 Tratamiento de
información en cada perfil
Sección 0.2 Modelos curriculares en informática y computación 33

12

10

o
Lic. en Lic. en Sistemas Lic. en Ciencias Ingeniería en
Informática Computacionales de la Computación Computación

Figura 16 Interacción
humano-máquina en cada
perfil
C o p í t u 1 o

Evolución
de las
computadoras

Temas y áreas de conocimiento del capítulo


Área general de conocimientos del capítulo:
3.3 Tipos y configuraciones de computadoras
Sección 1.1 Antecedentes y motivaciones (subárea 6.1.1, P11)
Sección 1.2 Resumen histórico de la computación (subárea 3.3.1,
AC18)
Sección 1.3 Microcomputadoras y computadoras personales
(subárea 3.3.1, AC23)
Sección 1.4 Clasificación actual de las computadoras (ídem)
Sección 1.5 El desarrollo computacional en la sociedad: mitos,
realidades y contrastes (subárea 1.3.2, ES24-25)
Sección 1.6 La industria de la microcomputación (ídem)
Sección 1.7 Tecnología de microcomputadoras (ídem)
36 Capítulo 1 Evolución de las computadoras

1 EVOLUCIÓN DE LAS COMPUTADORAS

Aunque admitamos haber caído en la tentación de creerlo (o a veces de sentirlo, sobre


todo a altas horas de la noche), al emplear el término "evolución" no estamos proponiendo
que las computadoras tengan vida propia, sino más bien nos referimos a su carácter de
producto social y cultural —tal vez el producto del extinto siglo xx— resultado del genio
combinado de los trabajadores de la ciencia y la tecnología, sujetas a su vez a las leyes de
la competencia, de la economía y hasta de la moda.

1.1 ANTECEDENTES Y MOTIVACIONES

Algunos opinan que es una bendición y otros creen lo contrario, pero el hecho es que la
sociedad moderna tiene ya una relación de dependencia con las computadoras, y eso nos
obliga a averiguar de dónde surgieron tanto las máquinas como las ideas que las sustentan,
porque ningún invento importante aparece aislado de intuiciones y conceptos previos,
que a veces lo anteceden por muchos años.
Aunque las computadoras aparecen a finales de la década de 1950, provienen de
ideas tan básicas y primordiales para el ser humano que no deja de ser extraño (y triste) que
muchos estudiantes y usuarios no las conozcan. Además, al ignorar estas razones se corre
el peligro de concebirlas como meros artefactos para calcular, con lo que se pierde el acceso
a un rico conjunto de conceptos filosóficos que en buena medida le dan sentido a todo el
quehacer computacional.
Por más que pudiera parecer extraño, la filosofía es el punto de partida de este primer
¿Qué es libro sobre computación, y en un somero análisis se explicará el porqué.
la filosofía? Al pensar en los medios de que los humanos disponemos para conocer el mundo,
debemos considerar en primerísimo lugar a la percepción que otorgan los sentidos; si se
analiza esto con detenimiento se encuentra que no lo percibimos en forma directa, sino
sólo a través del complejo mecanismo de los sentidos, que confiere características propias
a nuestra interpretación. Cuanto más se piensa sobre este tema, menos garantía y seguridad
se tiene sobre la existencia objetiva de las cosas, pues cuesta trabajo establecer en forma
definitiva una frontera entre el acto de la percepción y el objeto percibido. La física moderna
lleva esta preocupación filosófica al caso limite cuando, mediante el teorema matemático
conocido como principio de incertidumbre de Heisenberg, plantea que en el dominio de
las partículas subatómicas el hecho mismo de observar algo lo altera, y por ello no puede
saberse cómo es "en realidad"t.

(t) El problema de la realidad del mundo observable es uno de los favoritos de la filosofía, y a lo
largo de la historia del pensamiento se han propuesto muchas respuestas. Como una advertencia,
considérese la del poeta y artista inglés William Blake (1757-1827): "If the doors of perception
were cleansed every infle thing would appear to man as it is, infinite. For man has closed himself
up, till he sees all things thro' narrow chinks of his cavern."
("Si las puertas de la percepción fueran limpiadas, veríamos todo como realmente es, infinito.
Pero el hombre se ha cerrado de tal forma que sólo ve las cosas desde las pequeñas grietas de su
caverna.")
Esto fue tomado como tesis por el novelista inglés Aldous Huxley (1894-1963), además de servir
de inspiración para el nombre del grupo de rock The Doors. Véase también el ejercicio 3 al final de
Autorretrato de William Blake este capítulo.
Sección 1.1 Antecedentes y motivaciones 37

SI EXIS- /Y °u( DEC' —


HOY TUVIMOS UNA RE'
UNIÓN DIFÍCIL EN EL DIERON7
DISCUTIERON? TIMOS
CLUS FILOS6FICO.,. REALMENTE
O NO...

(Reproducida con autorización.


Cuando el ser humano adquiere el manejo del lenguaje, a los pocos años de edad, la Reprinted with special permisslon
of King Features Syndicate.)
situación da un giro radical: la percepción del mundo es aún menos directa que antes y en
buena medida se convierte en un conjunto de descripciones acerca de él en términos del
lenguaje. Estas descripciones son imágenes mentales estructuradas que todo el tiempo nos
dicen qué y cómo es la realidad en un permanente "diálogo interno". Haga el lector un
pequeño experimento para ilustrar esto: intente observar el segundero de un reloj durante
un minuto anulando totalmente dicho diálogo interno y se dará cuenta de que es casi im-
posiblet.
Se puede entonces postular que uno de los mecanismos (tal vez el más importante)
para conocer y re-crear el mundo es el de las descripciones que de él constantemente hace-
mos; y que estas descripciones están construidas mediante el lenguaje.
Una característica primordial de este mecanismo es que nos permite transmitir las
descripciones a alguien más y esperar que éste las procese y sea capaz de comprender que
la descripción emitida hace referencia a una misma realidad percibida por ambos. El proceso
inverso mediante el cual se logra esta comprensión extrae, a través de una representación,
el contenido original de la descripción, y "llega" de regreso al punto de partida inicial. Así La computabilidad:
se puede establecer un primer nivel de comunicación acerca del mundo, aunque todavía el proceso de la
quedan muchos aspectos pendientes. Algunos de ellos se estudiarán con más detenimiento
descripción-
en el capítulo 6, al analizar el problema de la computabilidad, dedicada en principio a
explorar en términos matemáticos los límites del esquema descripción-representación, y representación
que ha obtenido resultados sorprendentes por insospechados. En este momento surgen
varias cuestiones de gran profundidad conceptual, aunque ya no las exploraremos aquí
sino las dejamos como material de reflexión: ¿todas las cosas son descriptibles? ¿Todo lo
que es descriptible es representable?
Suponiendo que sí es posible representar una descripción dada, y habiendo tomado
medidas para eliminar los errores de comunicación y las posibilidades de ambigüedad,
puede quedar establecido un sistema donde ya no es indispensable que sea un humano el
responsable de realizar la representación, pues existen reglas fijas para hacerlo; aquí ra-
dica el origen de las computadoras, de entrada delimitado por el problema de la compu-
tabilidad.

(t) Claro que ésta no es la única manera de conocer el mundo. Uno de los objetivos de la medita-
ción, por ejemplo, consiste en adquirir la capacidad de entrar en contacto directo con la realidad, y
no a través de este interminable diálogo interno. El arte obedece también, entre otras, a estas motiva-
ciones pero éste es un campo de conocimiento que rebasa los alcances de nuestro libro. Como intro-
ducción mínima a algunos de estos temas se recomienda la referencia [RUSB92] citada al final de
este capítulo. (En adelante, las referencias que se indiquen en el texto deberán consultarse al final
del capítulo en donde aparezcan.)
▪• -
38 Capítulo 1 Evolución de las computadoras

o
o
o s.f.)
o ,--.
ON
a,
a
U -
d u' cl vi
o cri ..r5 o
o (.1 o
70i a,
o 0 en 12
t 1 2„ 7. ,,o p ,..., (9
c9 ..,,,,
d
oo o oo
5 .-e
,, 1,,i t> o -, 5, 1 00
''Z
.• 2,
e: .= ,E .52 N 00 - ...., '-' --, o .E e'
♦ - -4 g5E8- -A.. á 8 ., W
ts .5 gly› H~ '-' 095 9 MCA .7. 1
♦ :2 o • u o 1 3 g ,., •• e :e E 00
♦ e) cl- oo 4 _, „; t ,9 .1:. 8 IQ cA
- z 0.) z «- ,..,5- du ..,, 0 a) g -- 1-. Z °;
.,--, - -, ,4 . d
S 2 ,«- 0. o. -•"2-1 ,,i51,5,512 ,1-2 ....
,,) = H ._.
1 1 1 tt,) 1 I I
♦ la .te 'O ,,. 69 d s g> •c§
© -0 c :E o - _r II ...■ -c5 'E '..% . , cj K) >
♦ -
,J, p.., ,-• ,o, "g . - :0 -o m clXI• E sgm-oobl
.21 ,,t. - t, ,¿' ,c
1 o •1 gc,..o
o. e o 1:1 Si
4.) E S . 0 85 .1-,E:28ouEE.- 4.1me
›,
co -o'‘e -5. 1) e e .e .E. .5, o,,.12. o
. o ,.. o c. „,,,,. .,_ .9, 28 ,,, o .c., .98
,. '2o
1 - 'Ti
.t.1 cu*8.115,11,10,>o--o,:1 0 .1o.00
Cr) oah MQC"_,.-(4 <0 1:41.1.1
- 17'1ME~' Cd ° 5- II'
' u. 11 ir. o
1 1:1 cci c_i ui u.; c.5 -; -; -i z. d a: dé
1

---- Cr) U-
to
es 't3 co
>r,
▪ - n W ..sd
I u o
CI o .c ni-
ill o 1 ch
_ o
Ill 1-)
R ,c
o 00 ,..1o o
ch o .d
en o
ce o '-' - 00
III u c
O --,.. O
VD
¿,; *5
>-.
,--e ,--1 o
c
j .i , o$.., ..
rn
O ki
00
ec C
t-o U- --.
10.7,
o
o, 2 c.> a>1-.
TI 1.-, 4 :o ed)
CO 1..; ...6
- -,
..., - ' c>
,,,
.
,,, o
1.1.
d S 0 . ,É,,,,
..1
S U eo . In
á 1z o c9,,2 A,
-,:jP-. g t-'- 0 c0_ .2
.t., c2 0, 8 E~ e2
..r ,ti
II - LO s -

E .I.
: , L-,-) e
R ce 9. 5'. g. 22 1,5 ..
2.-). 2,7,
0 e '-: E 72 u
1 . 'c
c' '," 7_ 1 ; .r, ; ':
Le'u 2
- g''
e'l - ■.. 1 E ,...,- 2" *13 " 1 : . -": 715 :
11,i 19 c''' 07 ;

ou la ) -53 N
z,..,....c17;o,.......,
0. .2 ,I.) 6 61 :7' .7..; d o .2-1 ,. SI . 0e 19 sed
=
11- o a> ' e a) .2 o cu •- 1...= d 5 5-2 -• -o e 1.1 •'e a
,E. e'''' 'Z'
-2,»tu'
,t,.°rq1..„1. ›...5 - E''''' ricv, Uo o ., zi3O u g 4 ,41:4,.., 2 e
7dm..1 o 9cd
II- C9 = ‘<i) 44-,m.ou.be"' E - -aiEEL) 5

too_
ce 2E „; • Z . c
. -2 u Id É o ed 4
li ni y O 2 ,_.] E .11 ,4
:° <11 .. >1 = •.,G 1 9 13 ks. TI ,
CU = •fi 2
gge,.-j.. „,..5 E, E "a ..E., a A 2, -8 '•:'
j 4 o
.2 2 .2 ,tvz:E.90,:la a>
- ;II 4: . .2 u 0 '2 a '`' ' := '2 E 2 ' o .9 o ..- 'c 1 a yo
E .E . j ,z," ,z. t -r@dle.e E .1° % ' x .19 t @ o .1
U a a ciS 'c'h-rC a c.> c.) <c-‹ o 'ro a ill -rt a l';>" :::] iZ' a
tn
.... a) F2) o_
1 -. cs1 e•-, ,,:• vl wo r- 00 o, o•- NM ,i, vi v:i r- 00 O,O
,-. -,
•a E
o w,
o
ir. o w

831.1BAE ap apelo E°
en o -17,
:c
Sección 1.1 Antecedentes y motivaciones 39

En efecto, la computadora resulta ser un medio mecánico (electrónico, de hecho)


para representar descripciones libres de ambigüedad y obtener un resultado útil. Estas
descripciones, por lo general, se formulan en términos de problemas por resolver mediante
un método que se representa o se lleva a la práctica con la máquina.
Más aún, podría decirse que la computadora aparece cuando los niveles tecnológicos
(electrónicos, fundamentalmente) alcanzan el grado de avance y refinamiento que ya te-
nían las ideas y conceptos matemáticos, lo cual sucede a mediados del siglo xx, como
ilustra el anterior —simplificador— diagrama, en el que se marcan algunos de los princi-
pales desarrollos en ambos campos, junto con fechas de referencia. Por supuesto, la escala
vertical del diagrama es puramente simbólica, y no intenta medir nada sino sólo dar una
idea aproximada del grado (subjetivo) de avance e importancia conceptual. Las matemá-
ticas siempre han estado a la vanguardia del pensamiento humano.
Uno de los problemas que siempre nos ha cautivado es el relacionado con la actividad
de contar y con el concepto de número. De ahí que entre las primeras herramientas que se
inventaron esté un ingenio mecánico capaz de liberarnos de la pesada tarea de calcular a
mano. Es más, la misma palabra cálculo proviene del latín calculus, que nombra las peque-
ñas piedras que se usaban hace miles de años como auxiliares en las cuentas (en una especie
de ábaco formado con ranuras en el suelo y operado manualmente), y que se han encontrado
en excavaciones arqueológicas.
El ábaco es la primera
calculadora mecánica, aun- Antecesores
que no se le puede llamar de las computadoras
computadora porque ca-
rece de un elemento funda-
mental: el programa, que no
se logrará sino hasta mucho
tiempo después.
Otro aparato, que tam-
poco es una computadora,
fue la máquina de calcular
inventada por el filósofo y
matemático francés Blaise
Pascal (1623-1662). Se
trata de una serie de engra-
nes en una caja, que propor- Máquina de Pascal
cionan resultados de operaciones de suma y resta en forma directa —mostrando un número
a través de una ventanita— y que por este simple hecho tiene la ventaja de que evita tener
que contar, como en el caso del ábaco; además, presenta los resultados en forma más
accesible y directa.
Podría decirse que la computadora nació alrededor de 1830, con la "máquina analítica"
del inventor inglés Charles Babbage. Este diseño, nunca llevado por completo a la prácti-
ca, contenía todos los elementos que configuran a una computadora moderna y la diferen-
cian de una calculadora.
La máquina analítica estaba dividida funcionalmente en dos grandes partes: una
que ordenaba y otra que ejecutaba las órdenes. La que ejecutaba las órdenes era una ver-
sión muy ampliada de la máquina de Pascal, mientras que la otra era la parte clave. La
innovación consistía en que el usuario podía, cambiando las especificaciones de control,
lograr que la misma máquina ejecutara operaciones complejas, diferentes de las hechas
antes.
Esta verdadera antecesora de las computadoras contaba también con una sección
en donde se recibían los datos para trabajar. La máquina seguía las instrucciones dadas
por la unidad de control, las cuales indicaban qué hacer con los datos de entrada, para Charles Babbage (1792-1871)
40 Capítulo 1 Evolución de las computadoras

obtener luego los resultados deseados. La aplicación funda-


mental para la que el excéntrico súbdito inglés desarrolló
su máquina era elaborar tablas de funciones matemáticas
usuales (logaritmos, tabulaciones trigonométricas, etc.) que
requerían mucho esfuerzo manual.
Esta primera computadora "leía" los datos (argumentos)
de entrada por medio de las tarjetas perforadas, invento del
francés Joseph M. Jacquard (1752-1834), y que habían dado
nacimiento a la industria de los telares mecánicos durante la
Revolución Industrial.
Conceptualmente, el mecanismo consistía en evaluar una
primera función y luego hacer que la máquina la recalculara
con un nuevo argumento. Si es posible evaluar la primera fun-
ción, no será difícil obtenerla con otro argumento, para gene-
rar toda la serie de valores. De este modo, si se deseaba calcular
una segunda función, había que cambiar las especificaciones
de la primera por las de la nueva, lo que supuestamente se
lograba alterando la disposición de ciertos elementos mecá-
nicos en la sección de control de la máquina.
No obstante, la máquina analítica nunca pudo entrar en
operación, precisamente por la dificultad para lograr dichos
cambios. (Para mayor documentación sobre este tema
histórico consúltense las referencias [GOLH72], [PYLZ75],
[SLAR87] y [SWAD93].)
Es válido referirse a esta máquina como la primera
computadora digital, porque el término "digital" no presupone
Máquina de diferencias de el concepto "electrónico", como ahora se explicará.
Babbage, antecesora de la Los procesos naturales comparten la característica de ser de tipo continuo; es decir, la
máquina analítica escala de manifestaciones de un fenómeno cualquiera no tiene singularidades ni puntos
muertos, sino que se extiende de manera continua desde la parte inferior a la superior. La
altura de la columna de mercurio en un termómetro clínico, por ejemplo, puede variar
Fenómenos digitales entre las marcas de treinta y cuarenta y cinco grados, y en todo momento puede estar en
y fenómenos cualquier punto intermedio de la escala, sin más determinantes que la cantidad de calor
analógicos que emane del pobre paciente. Asimismo, la velocidad de un corredor olímpico puede
fluctuar de manera continua entre cero y un poco más de cuarenta Km/h en la competencia
de los cien metros planos, pudiendo en cualquier momento ocupar una posición en esa
escala, sin más limitación que los ímpetus del atleta.
Esto es, esos fenómenos no se limitan a unas cuantas posiciones fijas de sus respectivas
escalas de manifestación, sino más bien ocupan una variación continua entre dos lími-
tes, el superior y el inferior. Los fenómenos que se comportan en esta forma continua reciben
el nombre de analógicos.
No ocurre lo mismo, sin embargo, con otro tipo de fenómenos. Si se averigua la can-
tidad de ventanas de un edificio, por ejemplo, se llegará a la conclusión de que o hay 127
o hay 128, pero no puede haber 127 y media. Como otro caso, piénsese en un automóvil
de transmisión estándar: en algún momento determinado, la caja de velocidades ocupará
alguna posición predeterminada (10, 20, etc.), no pudiendo —más que de manera transito-
ria— estar en una posición intermedia. Un automóvil no puede marchar en "primera y tres
cuartos"; o lo hace en la primera velocidad o lo hace en la segunda, de manera discreta
(i.e., discontinua).
Estos fenómenos reciben el nombre de digitales, tal vez porque dan la idea de que se
pueden cuantificar con los dedos de la mano. En un fenómeno digital se habla de estados
Sección 1.1 Antecedentes y motivaciones 41

(posiciones o manifestaciones discretas) y de transiciones entre ellos, y puede ser repre-


sentado mediante un modelo matemático conocido como "autómata finito"t.
Figura 18 Autómata finito
para representar el modelo
de operación de la caja de
velocidades de un automóvil

En un modelo digital o autómata finito no todas las transiciones entre estados son
válidas. En un automóvil en marcha, por ejemplo, no se aconseja pasar de la tercera velo-
cidad en forma directa a la reversa, precisamente porque esa transición está "prohibida"
(o sea, no está considerada en el modelo).
Resumiendo, un fenómeno se llama analógico o continuo cuando entre dos manifes-
taciones cualesquiera de él siempre se puede encontrar una tercera (lo cual, si se analiza,
obliga a pensar en un conjunto infinito). En contraposición, un fenómeno se conoce como
digital o discontinuo cuando entre dos de sus manifestaciones no existe nada, sino sólo
una transición entre ambos estados.
Así, puede hablarse de computadoras analógicas y computadoras digitales: son compu-
tadoras digitales aquellas que manejan la información de manera discreta —en unidades
que se llaman bits (binary digits: dígitos binarios)—, y son analógicas las que trabajan por
medio de funciones continuas —generalmente representación de señales eléctricas.
Hoy día, prácticamente todas las computadoras en uso son digitales, ya que el empleo de
las analógicas se ve restringido a aplicaciones muy particulares en la ingeniería o la biología.
A continuación se describe el esquema elemental de la máquina inventada por Charles
Babbage, para explicar algunas de las características más importantes de toda computadora
digital moderna.

1.
Figura 19 Esquema básico
ALMACÉN de la máquina analítica de
o Babbage
MEMORIA

(t) En este contexto, la palabra "autómata" no se refiere a robots ni aparato alguno, sino a una cons-
trucción matemática, como se explica en el capítulo 6.
42 Capítulo 1 Evolución de las computadoras

La sección de control se convierte en el concepto fundamental porque dirige el proce-


samiento, de acuerdo con un "programa" previamente introducido en el "almacén" (como
llamó Babbage a la memoria) de la máquina. Así, una computadora está formada por una
unidad de entrada, que recibe tanto la información por procesar como las instrucciones
(programa); la unidad de memoria, que almacena la información; la unidad de procesa-
miento (aritmética y lógica), que ejecuta los cálculos sobre la información; la unidad de
control, que dirige a todas las demás unidades, determinando cuándo se debe leer la infor-
mación, en qué lugares debe almacenarse, cuándo debe funcionar la unidad aritmética,
etc.; y una unidad de salida, que muestra la información ya procesada, en forma de núme-
ros o gráficas.
Casi cien años despúes de Babbage, en 1947, se diseñó la primera computadora elec-
La primera trónica digital, que tenía gran parecido funcional con la máquina analítica —y esto habla
computadora del genio de su antecesor—, aunque antes hubo algunos otros esfuerzos.
En 1932, el investigador estadounidense Vannevar Bush (quien luego sería el asesor
presidencial de ciencias durante la Segunda Guerra Mundial) construyó en el Instituto
Tecnológico de Massachusetts (MIT) una calculadora electromecánica conocida como el
analizador diferencial, pero era de propósito específico y no tenía capacidades de pro-
gramación.
Igualmente, en 1944 se construyó en la Universidad de Harvard la computadora IBM
Mark I, diseñada por un equipo encabezado por Howard H. Aiken. No obstante, esta
máquina no califica para ser considerada como la primera computadora electrónica, porque
no era de propósito general y su funcionamiento estaba basado en dispositivos electrome-
cánicos, llamados relevadores.
Un equipo dirigido por los doctores
en ingeniería John Mauchly y John Eckert,
de la Universidad de Pennsylvania, termi-
nó en 1947 una gran máquina electrónica
llamada ENIAC (Electronic Numerical
IntegratorAnd Computer) que puede ser con-
siderada como la primera computadora
digital electrónica de la historia[.
Esta máquina era enorme: medía 10 x 16
metros, ocupaba todo un sótano en la uni-
versidad, pesaba 30 toneladas, tenía 17,468
John Mauchly y John Eckert, tubos de vacío y 6,000 relevadores; consu-
inventores de la ENIAC
mía 140 KW de energía eléctrica y requería
todo un sistema de aire acondicionado industrial. Pero era capaz de efectuar alrededor de
cinco mil sumas (o 2,800 multiplicaciones) en un segundo, rebasando para siempre las limita-
ciones humanas de velocidad y precisión, e inaugurando una nueva etapa en las capacidades
de procesamiento de datos[[. En 1949 calculó el valor de la constante ir con 2,037 decimales,
para lo cual requirió de 70 horas. Como, entre otras cosas, la máquina iba a reemplazar a un
grupo de matemáticas que hacía cómputos numéricos para una oficina especializada del
gobierno estadounidense, tomó el nombre de ellas: "computadoras".

(t) Aunque existe controversia, porque hubo otros pioneros: Konrad Zuse en Alemania (compu-
tadora Z3), Alan Turing y Maxwell Newman en Inglaterra (computadora Colossus), y John Atanasoff
y Clifford Berry en Estados Unidos (computadora ABC), como se relata en [MACA88].
(tt ) El 14 de febrero de 1996 en la Universidad de Pennsylvania hubo una ceremonia por los
primeros 50 años de la ENIAC. El vicepresidente de Estados Unidos puso en funcionamiento la
máquina original restaurada, que por unos momentos volvió a brillar con todo el esplendor (y calor)
de sus miles de bulbos.
Sección 1.1 Antecedentes y motivaciones 43

El proyecto, auspiciado por el Departamento de Defen-


sa de Estados Unidos, culminó dos años después, cuando se
integró a ese equipo el ingeniero y matemático húngaro natu-
ralizado norteamericano John von Neumann (1903-1957). Las
ideas de von Neumannt resultaron tan fundamentales para
los desarrollos posteriores que a él se le considera el padre de
las computadoras.
La computadora diseñada por este nuevo equipo se llamó
EDVAC (Electronic Discrete Variable Automatic Computer);
tenía cerca de 4,000 bulbos y usaba un tipo de memoria basado
en tubos llenos de mercurio por donde circulaban señales eléc-
tricas sujetas a retardos. (Para mayor información sobre estos
temas véase, por ejemplo, [GOLH72] y [LUKH79].)
La nueva idea fundamental resulta muy sencilla, pero de
vital importancia: permitir que en la memoria coexistan datos
con instrucciones, para que entonces la computadora pueda
ser programada de manera "suave"tt, y no
por medio de alambres que eléctricamente
interconectaban varias secciones de control,
como en la ENIAC.
Esta idea, que incluso obliga a una
completa revisión de la arquitectura de
las computadoras, recibe desde entonces
el nombre de modelo de von Neumann.
Alrededor de este concepto gira toda la evo-
lución posterior de la industria y la cien-
cia de la computación, por lo que se le
dedica el siguiente capítulo.
De 1947 a la fecha las cosas han avan-
zado muy rápido, más que cualquier otro
proceso en la historia de la ciencia y la
tecnología; a tal grado que en la actualidad
en la palma de la mano cabe el circuito de
una computadora mucho más poderosa que John von Neumann
la ENIAC. (1903-1957)

(t) De nombre original János, hijo de una acaudalada y culta familia judía de Budapest, fue un niño
prodigio que podía memorizar al azar páginas completas del directorio telefónico y luego contes-
tar preguntas sobre quién tenía tal o cual número. En 1926, von Neumann recibió su doctorado en
matemáticas por la Universidad de Budapest, y realizó su posdoctorado en la Universidad de
Góttingen bajo la dirección de David Hilbert. En 1929 fue invitado a Princeton, en cuyo Instituto
de Estudios Avanzados residiría definitivamente (su oficina quedaba cerca de la de Einstein); allí
era además famoso por las fiestas que ofrecía semanalmente, por su afición a los lujos y por la gran
cantidad de pequeños accidentes de tráfico en que se veía involucrado. La computadora fue tan
sólo una de sus ocupaciones; su obra central es el libro Teoría de los juegos y del comportamiento
económico, publicada en 1944 junto con Oscar Morgenstern. Además, fue miembro del Proyecto
Manhattan (de la primera bomba atómica), miembro de la Comisión de Energía Atómica de Estados
Unidos y asesor de la Corporación RAND. Parece ser que el director inglés Stanley Kubrick (1928-
1999) se inspiró en von Neumann para crear el personaje del brillante científico alemán anticomunista
en su extraordinaria película de 1963, Dr. Insólito o cómo aprendí a dejar de preocuparme y amar
la bomba. Es considerado uno de los grandes matemáticos de la historia.
(tt) Tal vez la palabra suave cause extrañeza, pero deja de hacerlo cuando se contrasta con el hecho
de que en las computadoras anteriores a von Neumann (y en las actuales calculadoras), las operaciones
44 Capítulo 1 Evolución de las computadoras

Como contraste inicial, antes de proceder a describir lo que ha sucedido en los cin-
cuenta años desde la invención de la computadora, he aquí una comparación entre dos
máquinas, la ENIAC y uno de los primeros microprocesadores (ya obsoleto):

ENIAC Intel 8080


Año 1947 1974
Casi 18,000 Un circuito integrado
bulbos con más de 6,000 transistores
Tamaño 160 M2 Menos de 1 cm'
Raqubri n 140 Kilowatts Pocos mlllwatts
de potmeto
Velocidad 5,000 suma s/seg
Fr•casencto 100101z
de reloj
Costo Varios millones 150 dólares en 1974
de dólares

Es prácticamente imposible encontrar otro ejemplo de un avance de esta naturaleza


en la historia de la tecnología, y esto hace aún más interesante el estudio de lo que ha
pasado desde los años iniciales hasta la fecha.

1.2 RESUMEN HISTÓRICO DE LA COMPUTACIÓN

Aunque el empleo de la palabra "historia" sea francamente excesivo al referirse a un campo


de acción humana que apenas llega a medio siglo de duración, en la computación incluso
se ha llegado a emplear el término generaciones para medir los avances de las compu-
tadoras. Esta clasificación se emplea poco ya, y además el criterio para determinar cuándo
se dio el cambio de una generación a otra no está claramente definido, aunque proponemos
que al menos debieran cumplirse dos requisitos estructurales:

Criterios A) Cambios estructurales en su construcción.


para determinar B) Avances significativos en la forma de comunicación con las computadoras.
las mejoras
generacionales Respecto al primer requisito, los cambios han sido drásticos en el corto lapso que
las computadoras tienen de existencia (desde los tubos de vacío hasta los circuitos micro-
electrónicos), mientras que el avance del segundo requisito ha sido más modesto. A falta
de una definición formal de la frontera entre generaciones, existe confusión cuando se
intenta determinar cuál es la generación actual, lo cual intentaremos realizar en las siguientes
páginas.

que se pueden efectuar están "alambradas", predefinidas, y el usuario no puede cambiarlas. Esta flexi-
bilidad es lo que define a la programación y al término software, empleado tanto en inglés como en
español. A lo largo de este libro se empleará la palabra software porque no existe un término equivalente
en español —cosa nada rara, puesto que el concepto es de origen anglosajón, y reciente.
Sección 1.2 Resumen histórico de la computación 45

Primera generación
El arranque de la industria de la computación se caracteriza por un gran desconocimiento
de las capacidades y alcances de las computadoras. Por ejemplo, según un estudio de esa
época, se suponía que iban a ser necesarias alrededor de veinte computadoras para saturar
la capacidad del mercado de Estados Unidos en el campo del procesamiento de datos.
Esta primera etapa abarcó la década de 1950 y se conoce como la primera generación
de computadoras. Las máquinas de esta generación cubren los requisitos antes menciona-
dos de la siguiente manera:

A) Su construcción estaba basada en circuitos de tubos de vacío o bulbos.


B) La comunicación se establecía mediante programación en lenguaje de máquina
(lenguaje binario).

Estos aparatos eran grandes y costosos


(decenas o cientos de miles de dólares).
En 1951 aparece la primera compu-
tadora comercial, es decir, fabricada como
mercancía para ser vendida: la UNIVAC I
(UNIVersAl Computer). Esta máquina, que
disponía de mil palabras de memoria cen-
tral y podía leer cintas magnéticas, se utilizó
para procesar los datos del censo de 1950
en Estados Unidos. Eran los años de la
Las primeras computadoras
posguerra y la nueva invención aún no pre- funcionaban a base de
sagiaba su gigantesco potencial en la com- bulbos.
petencia económica internacional, que no
llegaría sino hasta una década más tarde.
Durante la primera generación (y hasta la primera parte
de la tercera), las unidades de entrada estaban por completo do-
minadas por las tarjetas perforadas, retomadas a principios
de siglo por Herman Hollerith (1860-1929), quien además fundó
una compañía que con el paso de los años se conocería como r11 iii rr ^ ~ro ha O"
IBM (International Business Machines). A la UNIVAC I si-
guió una máquina desarrollada por IBM, que apenas incur-
sionaba en ese campo; es la IBM 701 (de la cual se entregaron
18 unidades entre 1953 y 1956), y que inaugura la larga serie
por venir. Posteriormente, la compañía Remington Rand pro-
dujo el modelo 1103, que competía con la 701 en el campo
científico, e IBM fabricó la 702, que no duró mucho en el mer-
cado debido a problemas con la memoria.
La más exitosa de las computadoras de la primera ge-
neración fue el modelo 650 de IBM, de la cual se produjeron
varios cientos. Esta máquina usaba un esquema de memoria
secundaria llamado tambor magnético, antecesor de los discos empleados actualmente. UNIVAC 1: La primera
La competencia contestó con los modelos UNIVAC 80 y 90, que pueden situarse ya en los computadora comercial
inicios de la segunda generación. También de esta época son los modelos IBM 704 y 709,
Burroughs 220 y UNIVAC 1105.

Segunda generación
Cerca de la década de 1960 las computadoras seguían en constante evolución, reduciendo
su tamaño y aumentando sus capacidades de procesamiento. Al mismo tiempo se iba defi-
46 Capítulo 1 Evolución de las computadoras

niendo con mayor claridad toda una nueva ciencia: la de comunicarse con las computadoras,
que recibiría el nombre de programación de sistemas (software de base).
En esta etapa puede hablarse ya de la segunda generación de computadoras, que se
caracteriza por los siguientes aspectos primordiales:

A) Estaban construidas con circuitos de


transistores.
B) Se programaban en nuevos lenguajes,
llamados "de alto nivel".

En general, las computadoras de la se-


gunda generación son de tamaño más redu-
cido y menor costo que las anteriores. En
la segunda generación hubo mucha com-
petencia y muchas compañías nuevas, y
se contaba con máquinas bastante avanza-
das para su época, como la serie 5000 de
Burroughs y la máquina ATLAS, de la Uni-
versidad de Manchester. Cabe decir que
esta última incorporaba —con varios años
Bulbo vs. transistor
de anticipación— técnicas de manejo de
memoria virtual, que se estudiarán más adelante. Entre los primeros modelos se puede men-
cionar la Philco 212 (esta compañía se retiró del mercado de computadoras en 1964) y la
UNIVAC M460. Una empresa recién formada, Control Data Corporation, produjo la CDC
1604, seguida por la serie 3000. Estas máquinas comenzaron a imponerse en el mercado
de las grandes computadoras.
IBM mejoró la 709 y produjo la 7090 (luego ampliada a la 7094), que ganó el mercado
durante la primera parte de la segunda generación. UNIVAC continuó con el modelo 1107,
mientras que NCR (National Cash Register) empezó a producir máquinas más pequeñas,
para proceso de datos de tipo comercial, como la NCR 315.
RCA (Radio Corporation of America) introdujo el modelo 501, que manejaba el len-
guaje COBOL, para proceso administrativo y comercial. Más tarde introdujo el modelo
RCA 601.
La segunda generación no duró mucho, sólo unos cinco años, y debe ser considerada
como una transición entre las recién inventadas máquinas electrónicas, que nadie sabía
con precisión para qué podrían ser útiles, y el actual concepto de computadora, sin el cual
el funcionamiento de las modernas sociedades industriales sería imposible de concebir.

Tercera generación
A mediados de la década de 1960, con la aparición de nuevas y mejores formas de comu-
nicarse con la máquina, además de progresos adicionales en electrónica, surge la tercera
generación de computadoras. Se inaugura con la presentación, en abril de 1964, de la
serie 360 de IBM, como culminación de una enorme estrategia comercial y de mercado-
tecniat.

(l.) Otra compañía quiso hacer algo equivalente hacia finales de 1995 con el lanzamiento de un
"nuevo" sistema operativo para computadoras personales. Sólo en pago por derechos de la música
del grupo The Rolling Stones, empleada en la promoción, gastaron varios millones de dólares.
Sección 1.2 Resumen histórico de la computación 47

Las características estructurales de la tercera generación consisten en:

A) Su fabricación electrónica está basada en circuitos integradost: agrupamiento de


circuitos de transistores grabados en milimétricas placas de silicio.
B) Su manejo es por medio de los lenguajes de control de los sistemas operativos
(que se estudiarán más adelante).

Las computadoras de la serie IBM 360


(modelos 20, 22, 30, 40, 50, 65, 67, 75,
85, 90, 195) incluían técnicas especiales
de manejo del procesador, unidades de cinta
magnética de nueve canales, paquetes de
discos magnéticos y otras características
ahora usuales. No todos los modelos em-
pleaban esas técnicas, sino que estaban di-
vididos por aplicaciones.
El sistema operativo de la serie 360, lla-
mado simplemente OS (Operating System),
en varias configuraciones, incorporaba un Computadora IBM 360/40
conjunto de técnicas de manejo de memoria
y del procesador que pronto se convirtieron
en estándares.
Esta serie alcanzó un éxito enorme, a
tal grado que la gente en general, el ciuda-
dano común y corriente, pronto llegó a iden-
tificar el concepto de computadora con el
nombre IBM. Sin embargo, sus máquinas
no fueron las únicas, ni necesariamente las
mejores. También en 1964, CDC introdujo
la serie 6000, con la máquina modelo 6600,
que durante varios años fue considerada
como la más rápida. En 1967 una de estas
máquinas calculó el valor de ir con 500,000
decimales.
Esta fue una época de pleno desarrollo
acelerado y de competencia por los merca-
dos internacionales, pues la industria de
la computación había crecido hasta alcan-
zar proporciones insospechadas. Es curio-
so reflexionar que estos años coinciden con
el "retroceso" racional y la "vuelta a los orí-
genes" planteados por una juventud rebelde
y recelosa de la supuesta invasión tecnoló-
gica. Esos jóvenes (en los países industria- Microcircuito

(t) Estos microcircuitos reciben el nombre de circuitos integrados, y son conocidos también por
su nombre popular en inglés, chip, "pedacito". Su origen se remonta a 1958-1959, cuando la idea
de obtener e interconectar capacitores y transistores a partir de un pequeño bloque de silicio se les
ocurre, en forma independiente, al Dr. Robert Noyce, de la recién creada compañía Fairchild
Semiconductors (quien en 1968 cofundaría la empresa Intel), y al ingeniero Jack Kilby, de la com-
pañía Texas Instruments (co-ganador del Premio Nobel de Física del año 2000).
48 Capítulo 1 Evolución de las computadoras

lizados) primero generaron el movimiento de los hippies y las protestas en contra de la


guerra pero luego, con el paso de dos décadas, se convirtieron en el puntal de la emergente
sociedad de consumo: paradojas del desarrollo.

I 1 3

\ 9. DE OCTUBRE
,ImiER A Ex-
impERIAU SMo YA/00i
NO SE OLVIDA
--- - 1i' - 1It
IEAFrc
j vo°1 '4 "Al)11

1 9 8O -71 in 4-
ONDA ES En) HotA, BIEP uHVIDO
comuNIDADGs DE gAs£, Aszp. cDoNA:-P
:
S e.
COM tos cAmpp-sinos .1 ?u Epo
Al

1DMAP- sU
i
jj
C9

„)))

(Reproducida con permiso del `TR)No


autor.)

Para esta época la computadora ya estaba plenamente identificada en la mente del "hombre
La computadora de la calle" de los países avanzados como un omnipresente aunque misterioso agente
como actor social tecnológico, imprescindible para el funcionamiento de las grandes corporaciones. En las
películas y los programas de televisión de esos años la gran computadora aparecía como
respaldo de aventuras de todo tipo.
Al inicio de la década de 1970, IBM produjo la serie 370 (modelos 115, 125, 135,
145, 158, 168) corno mejora (aunque no radical) de la serie 360. UNIVAC compitió con
los modelos 1108 y 1110, máquinas de gran escala; mientras que CDC inauguró su serie
7000 con el modelo 7600, reformado después para introducir la serie Cyber. Estas compu-
tadoras eran tan potentes y veloces que se convirtieron en un asunto de estado y de seguridad
nacional para el país que las producía: en los más altos niveles gubernamentales se cuidaba
su exportación y comercialización internacional.
A finales de esa década, IBM introdujo las nuevas versiones de la serie 370 con los
modelos 3031, 3033 y 4341, en tanto que Burroughs participó con las computadoras de la
serie 6000, (modelos 6500, 6700) de avanzado diseño, luego reemplazadas por la serie
7000. La compañía Honeywell tenía las computadoras de la línea DPS, en varios modelos.
Sección 1.2 Resumen histórico de la computación 49

En Japón la compañía Fujitsu produjo computadoras poderosas, desde máquinas


relativamente pequeñas hasta verdaderos gigantes (de la serie FACOM), comparables
sólo con los más grandes sistemas de CDC o IBM.
Las grandes computadoras reciben en inglés el nombre de mainframes, que significa,
precisamente, gran sistema.
Entre las máquinas de la tercera generación hay algunas dedicadas a procesos espe-
ciales, que manejan cientos de millones de números en representación decimal y requieren
diseños específicos para ser resueltos. (Para información sobre el origen de las llamadas
"supercomputadoras", consúltese el artículo [LEVR82]. El artículo [CORE91] ofrece
datos sobre las supercomputadoras de una década después, así como el número correspon-
diente a enero de 1996 de la revista Byte: "The world's fastest computers", las computadoras
más veloces del mundo.)

Minicomputadoras
A mediados de la década de 1970 (en plena tercera generación) surgió un gran mercado
para computadoras de tamaño mediano, o minicomputadoras,t no tan costosas como las
grandes máquinas y con una gran capacidad de proceso. En un principio, el mercado de
estas nuevas máquinas estuvo dominado por la serie PDP-8 de DEC (Digital Equipment
Corporation).
Otras minicomputadoras populares fueron la serie PDP-11 de DEC, reemplazada luego
por las máquinas VAX (Virtual Address eXtended) de la misma compañía; los modelos
Nova y Eclipse de Data General; las series 3000 y 9000 de Hewlett-Packard, en varias
configuraciones; y el modelo 34 de IBM, que luego fue reemplazado por los modelos 36
y 38.
Dentro de esta categoría estaban también las máquinas Wang y Honeywell-Bull, en
diversas configuraciones, así como computadoras Prime, ICL (International Computers
Limited, inglesa), Siemens (alemana), etcétera.
En la ahora ex Unión Soviética fueron de amplio uso las computadoras de la serie SU
(Sistema Unificado, Ryad), que también pasaron por varias generaciones. La primera de
estas máquinas era, en cuanto a la arquitectura, una copia de la serie 360 de IBM, con los
modelos ES 1020 a 1060. A fines de la década de 1970 surgió la serie Ryad-2, cuya arqui-
tectura seguía a la de la serie 370.
Asimismo, los (ahora ex) países socialistas desarrollaron una serie de computadoras
dedicadas al control industrial además de las máquinas de la serie Minsk y BESM (véase
el artículo [DAVG78] para una descripción).
En la actualidad el mercado de las minicomputadoras es muy dinámico, sobre todo
por su uso como servidorestt de las cada vez más comunes redes metropolitanas y amplias.
Algunas de las empresas mencionadas continúan con nuevos modelos: Hewlett-Packard,
DEC (Alpha), IBM (series AS/400 y 6000), y han surgido nuevas compañías especializadas
con gran éxito, como Sun Microsystems o Silicon Graphics, pero otras más han desapa-
recido recientemente. Sun Microsystems fue fundada en California, EEUU, en 1982 por
Scott McNealy, de 27 años de edad, y otros tres ingenieros y administradores. La empresa
pronto se convirtió en una potencia mundial en la producción de poderosos servidores de
red, microprocesadores (línea SPARC) y software (sistemas operativos y lenguaje Java).
En 1999 tuvo ventas por más de 9,700 millones de dólares y debe su fuerza a la visión de

) Nos gustaría creer que este nombre fue en honor a las maravillosamente recién inauguradas
minifaldas.
(t t) Se da ese nombre a la computadora que sirve como depositaria de los archivos manejados por
los múltiples usuarios de una red. En el servidor (puede haber más de uno) también residen los
programas de control de la red.
50 Capítulo 1 Evolución de las computadoras

McNealy, quien consideraba que "la red es la computadora", anticipándose a la posterior


explosión de las redes de computadoras.

Cuarta generación
El adelanto de la microelectrónica prosiguió a una velocidad impresionante, y por el año
de 1972 surgió en el mercado una nueva familia de circuitos integrados de alta densidad,
que recibieron el nombre de microprocesadores. Las microcomputadoras diseñadas
con base en estos circuitos de semiconductores eran extremadamente pequeñas y baratas,
por lo que su uso se extendió al mercado de consumo. Hoy día hay microprocesadores en
muchos aparatos de uso común, como relojes, televisores, hornos, juguetes, etc., y natural-
mente en toda una nueva generación de máquinas.
Sin embargo, desde un punto de vista estricto (como el manejado aquí), hace muy
poco ingresamos a la cuarta generación de computadoras, porque en la que podría llamarse
la segunda parte de la tercera generación (hasta 1990 aproximadamente) sólo hubo adelantos
significativos en el punto A), pues en lo relativo al punto B) realmente eran pocas las dife-
rencias sustanciales (la comunicación entre el usuario y la máquina sólo era más cómoda,
conveniente... y a colores)t.
Con el uso masivo de Internet ya también podría hablarse de un cambio sustancial en
el punto B), porque la comunicación entre nosotros y las máquinas se ha desplazado del
modo independiente y centralizado (standalone, en inglés) al modo compartido en red,
mediante esquemas cliente-servidor o a través de sistemas de información basados en el
Web. Así pues, nos encontramos en una nueva generación (la cuarta) de computadoras,
basadas en microprocesadores e integradas a la red global.
Los criterios, entonces, son:

A) Microelectrónica de alta integración y distribución de tareas específicas mediante


microprocesadores acoplados.
B) Acceso a la red desde una computadora personal, tanto en forma local como global.

Pero aún no están cercanos los días en que la comunicación con las computadoras
(sobre todo las personales) sea en forma parecida a nuestro estilo propio, porque siguen
siendo difíciles de usar, no muy amigables y tampoco demasiado confiables.
En vista de la acelerada marcha de la microelectrónica, se ha intentado poner también
a esa altura el desarrollo del software y los sistemas para manejar las computadoras. Aunque
existe un apabullante fenómeno de competencia internacional por el dominio del gigantesco
mercado de la computación, aún no se ha podido alcanzar el nivel deseado: la capacidad
de comunicarse con la computadora mediante el lenguaje natural y no a través de códigos
o lenguajes de control especializados.

La siguiente generación
Japón lanzó en 1983 el llamado "programa de la quinta generación de computadoras",
con los objetivos explícitos de producir máquinas con innovaciones reales en los dos
criterios mencionados, aunque a su término en 1993 los resultados fueron bastante más
pobres de lo prometido. La ACM: Association for Computing Machinery, que junto con
la Computer Society de la IEEE (Institute of Electrical and Electronics Engineers),
podría considerarse como la agrupación académica más prestigiosa de computación en

(t) Para quienes crean que exageramos, recomendamos la lectura del artículo [DENP71], escrito
hace tantos años que se supondría virtualmente prehistórico si no fuera porque sigue siendo válido
y casi actual, pues describe los sistemas operativos interactivos.
Sección 1.3 Microcomputadoras y computadoras personales 51

el mundo[, dedicó todo un número de su revista mensual, Communications of the ACM


(marzo, 1993) a reportar los resultados de la quinta generación. Luego de leer los deta-
llados artículos que incluye, se llega a la conclusión de que más bien ésta fue una especie
de "generación perdida".
En Estados Unidos estuvo en actividad un programa de desarrollo que perseguía obje-
tivos semejantes, que pueden resumirse de la siguiente forma:

A) Procesamiento en paralelo mediante arquitecturas y diseños especiales.


B) Manejo de lenguaje natural y sistemas de inteligencia artificial.

El futuro previsible de la computación es muy interesante, y se puede esperar que esta


ciencia siga siendo objeto de atención prioritaria de gobiernos y de la sociedad en conjunto.
Tal vez las dos tecnologías que definirán los inicios del siglo xxi serán la computación y la
ingeniería genética, y esta última depende en buena medida de las tecnologías de cómputo
para proceder.

1.3 MICROCOMPUTADORAS Y COMPUTADORAS


PERSONALES

Después de revisar la difusa historia de las generaciones de computadoras, resulta conve-


niente hacer un recuento de los diferentes microprocesadores que han aparecido en los
últimos veinte años, porque dieron lugar al nacimiento de toda una industria (las compu-
tadoras personales) que adquirió proporciones enormes e influye poderosamente sobre la
percepción que la sociedad en general tiene sobre la llamada "revolución informática".
Los primeros microprocesadores surgieron al inicio de la década de 1970. Como
parte de su evolución, que a continuación se reseña, apareció un conglomerado de indus-
trias localizadas cerca de la ciudad de San José, California, en Estados Unidos, en un área
que hasta ese entonces se dedicaba al cultivo de la vid, conocida ahora como el "Valle del
Silicio" (Silicon Valley). Esa zona se considera generalmente como el corazón de los desarro-
llos de alta tecnología en microelectrónica,
y sus orígenes fueron muy modestos, como
lo evidencia el hecho de que la primera
microcomputadora de uso masivo fue in-
ventada en 1976 por dos jóvenes (Stephen
Wozniak y Steven Jobs) que trabajaban en
una habitación desocupada de su casa.
Esa compañía (Apple) fue durante
muchos años la segunda más grande de la
industria de microcomputación, antecedida
tan sólo por IBM; ésta, por su parte, es una
de las cinco compañías más grandes del Microcomputadora Apple

(t) La ACM tiene un precio especial de suscripción para estudiantes, y sugerimos a todo lector
interesado en una carrera de computación que sin lugar a dudas se haga miembro. Eso le da derecho
a recibir la revista mensual y lo pone en contacto con el más alto nivel de computación académica
existente. (P. O. Box 12114, Church Street Station, New York, 10257, New York, EEUU. Su dirección
Internet es nt tp : / / www . acm . erg). Véase también el anexo 1.9 al final de este capítulo. La direc-
ción Internet de IEEE es http: //www.ieee.org .
52 Capítulo 1 Evolución de las computadoras

mundo, consideradas todas las ramas de la industria, y es más poderosa que casi todas
las compañías petroleras y automotrices, aunque es necesario aclarar que aun antes
del surgimiento de las microcomputadoras, durante la tercera generación, ya estaba
entre los primeros lugares. Las cifras finales de 1999 indican que IBM tuvo ventas
totales por más de 87 mil millones de dólares, y su planta estaba integrada por 291,000
empleados.
En el resumen histórico que sigue se mencionan los microprocesadores más conocidos,
y las fechas corresponden a cuando ya eran un producto accesible en el mercado y no única-
mente muestras de laboratorio.

Año Microprocesador Comentarios

1971 Intel 4004 Producido para funcionar en una calculadora,


contenía 2,300 transistores.
1972 Intel 8008 Primer microprocesador de 8 bits, originalmente
diseñado para funcionar dentro de una terminal
de computadora y mejorar su funcionalidad.
Reloj de 200 KHz
3,500 transistores
60,000 instrucciones por segundo
La primera microcomputadora que lo empleó
fue la francesa Micral.
1973 Texas instruments TMS1000 MIcrocontrolador de 4 bits con memoria ROM
y RAM Incluida.
Se usó dentro de terminales de computadora.
1974 Intel 8080 6,000 transistores; reloj de 2 MHz; 0.64 MIPS;
150 dólares.
RCA 1802 Utilizado por la NASA en misiones espaciales
Surge la industria de las microcomputadoras.
Motorola 6800 Circuito con 4,000 transistores.
1975 MOS Technologies 6502 25 dólares; empleado por las computadoras
Apple y Commodore.
Inicia el auge de la microcomputación.
1976 Zilog Z80 Reloj de 2.5 MHz.
Intel 8085 Aparece la IBM 5100.
National Semiconductor
SC/ MP
Sistema operativo CP/M®, de Digital Research.
TI TMS9900 Primer microprocesador de 16 bits.
1977 Mlcrocomputadora Tandy TRS 80 (Z80, 4 KB ROM;
-

4 KB RAM, teclado, pantalla B/N y cassette:


600 dólares) Microcomputadcwa Apple 11 (6502,
16 KB ROM, 4 KB RAM, teclado, tarjeta madre,
paletas para juego, BASIC Incluido, interfaz para
pantalla en color).
1978 Motorola 6809
Intel 8086 29,000 transistores, 5-10 MHz.
1979 Ti 9940 Microprocesadores de 16 bits.
ZIlog 28000
Hoja de cálculo VisiCalcia
1980 National 16032
Sección 1.3 Microcomputadoras y computadoras personales 53

Año Microprocesador Comentarios


1981 Motorola 68000 Primera estación de trabajo, Apollo. Aparece
Intel 8088 la computadora IBM-PC (4.77 MHz, 40 KB ROM,
64 KB RAM, diskette de 5 1 /4", monitor B/N, sistema
operativo MS-DOS®).
Nace la industria de las computadoras personales.
Mostek 6502A Computadora Commodore VIC-20, que se conec-
taba a la televisión (5 KB de RAM, 300 dólares).
Surgen las microcomputadoras Intel 8088 con el
sistema operativo UNIX.
1982 Primeras copias (dones) de la PC,
Mostek 6510 Commodore 64 (20 KB ROM; 64 KB RAM, sonido,
color, BASIC: 600 dólares).
WordPerfect® para DOS.
1983 IBM XT (con disco de 10 MB y 128 KB de RAM).
La Commodore 64 bajó a 200 dólares y vendió
20 millones de unidades.
Apple Usa (68000 a 5MHz, 2 MB ROM; 1 MB
RAM; disco de 5 MB, dos diskettes, B y N,
interfaz gráfica: 10,000 dólares).
Apple lie (1,400 dólares).
Hoja de cálculo Lotus 1-2-30
MS-Word®
Intel 80186
Intel 80286 134,000 transistores, 6-12.5 MHz
1984 Apple Macintosh (68000 a 8 MHz, 128 KB RAM,
diskette de 3 1 /2", interfaz gráfica, mouse).
IBM AT (6 MHz, 256 KB de RAM).
Motorola 68010
National 32000
1985 Intel 80386 Microprocesador de 32 bits, 16-33 MHz,
275,000 transistores.
Motorola 68020
PageMakere de Aldus inicia el mercado de
edición por computadora.
Windows® 1.0
1986 MIPS R2000 Primer microprocesador RISC, 32 bits,
National 32032 Microprocesadores de 32 bits.
ATT WE32100
NEC V70
IBM anuncia la serie PS/2, cuyo sistema operativo,
OS/2, comenzó a operar dos años después.
1987 Motorola 68030 20 MHz, con circuitos MMU (Memory
Management Unit).
Sun SPARC
AMD 29000 Microprocesador RISC de propósito especial.
1988 Primeros coprocesadores matemáticos.
MIPS R3000 Microprocesador RISC de 32 bits: 300 dólares.
Intel 80960 Microprocesador RISC de propósito especial.
1989 Intel 80486 1.2 millones de transistores, FPU (Floating-point
Uní!), memoria caché de 8 KB, 25-50 MHz,
25 MIPS, 950 dólares,
1991 Motorola 68040 1.2 millones de transistores.
1992 PowerPC601 Proyecto RISC conjunto de Apple, IBM y
Motorola; memoria asociativa caché de 32 KB.
Alpha 21064 (DEC) RISC, 64 bits, pipelining 150 MHz
MIPS R4000 Empleado en estaciones de trabajo gráficas,
54 Capítulo 1 Evolución de las computadoras

Año Microprocesador Comentarios


1993 Pentium (Intel) 32 bits, 60 MHz, 3.1 millones de transistores,
dos unidades enteras, canal de datos de 64 bits,
100 MIPS.

1995 Windows® 95, Windows® NT.


TI UltraSPARC Procesamiento en pipeline, Visual Instruction Set,
167 MHz.
Pentium MMX (Intel) Circuito dual con más de 20 millones de transistores
Integrados (5.5 millones del procesador y 15.5
millones en 256 KB de memoria auxiliar caché
estática de alta velocidad), 300 MIPS.
AMD K5 Competidores de Intel, procesamiento en
MIPS T5 pipeline.
UltraSPARC

1997 Pentium II 7.5 millones de transistores, 233-450 MHz

2000 AMD Athlon 850 MHz


Intel Itanium 64 bits, 800 MHz
Power4 (IBM) 1 GHz
Alpha 21364

Como toda actividad económica, la electrónica y la computación atraviesan por épo-


cas de auge y de depresión, y a partir de 1990 han estado sufriendo períodos recesivos,
que han obligado a las grandes empresas a disminuir personal o incluso a reportar grandes
pérdidas en sus estados financieros: en 1992 IBM acusó pérdidas millonarias y ese año
tuvo necesidad de despedir a 123,000 empleados. Prácticamente todas las grandes empre-
sas de computadoras de la tercera generación ya han desaparecido o se han fusionado para
poder seguir existiendo.
En 1984 por primera vez sucedió que las ventas globales de computadoras personales
¿Cuántas sobrepasaron a las producidas con los grandes sistemas: entre 1984 y 1987 se vendieron
computadoras hay? en todo el mundo más de 60 millones de computadoras personales, por lo que no cabe
duda de que su impacto y penetración han sido enormes. Según estadísticas de 1993, por
ejemplo, en Estados Unidos hubo ventas de casi 60 millones de computadoras personales
y de 1.5 millones de sistemas multiusuario; en México los números fueron 1 7 millones y
11,700 unidades, respectivamente. Los datos de 1995 hablan de ventas mundiales de 200
millones de computadoras personales, cifras superiores a las de los automóviles y los tele-
visores. Se estima que el tamaño del mercado mundial de este tipo de computadoras es de
24 mil millones de dólares.
Sobre todo desde el surgimiento de las computadoras personales, en 1981, el software
y los sistemas que con ellas se manejan han tenido un considerable avance, porque han vuelto
mucho más interactiva la comunicación con el usuario. Existe toda una familia de aplica-
ciones (procesadores de palabras, hojas electrónicas de cálculo, paquetes gráficos, etc.) que,
aunque en su mayoría ya existían en la tercera generación, han alterado de manera significa-
tiva el potencial y la flexibilidad de uso de los sistemas, por lo cual se han ganado un lugar
dentro del software de base. (En la sección 5.7 se hace una somera descripción de ellas.)
Sección 1.4 Clasificación actual de las computadoras 55

La industria del software de las computadoras personales también ha crecido con


gran rapidez, y en 1986 produjo sistemas por un valor de 3,300 millones de dólares en
Estados Unidos. Para 1995, esa cifra aumentó a 9,200 millonest. Parte de esta explosión
en la industria del software personal se debe a individuos como Gary Kildall (1942-1994)
y William Gates (n. 1955) —creadores de CP/15/1 y de los productos Microsoft, respectiva-
mente—, jóvenes que durante esos años se dedicaron a la creación de sistemas operativos
y métodos para lograr una utilización sencilla de las microcomputadoras. Es tal el éxito
comercial de Microsoft que uno de sus fundadores ("Bill" Gates) desde hace años es la
persona más rica del planeta y el otro (Paul Allen) no se queda demasiado atrás.
Desde hace años son prácticamente universales las microcomputadoras de uso
personal, lo bastante baratas y accesibles para ser empleadas por hasta las más pequeñas ¿Será cierto que
organizaciones y negocios, donde se destinan a tareas como control de nómina, contabilidad, la vida sobre el planeta
inventarios y ventas. También se generalizó su uso en aplicaciones creativas en computación
ya no es la misma?
y como pasatiempo, además de como agendas electrónicas y procesadores de palabras. Si
bien se habla de una revolución social causada por las computadoras, refiriéndose a que
su uso —sobre todo el de las personales— abarca muchos estratos sociales, esto no es total-
mente cierto ni siquiera en los países desarrollados: las estadísticas de 1998 indican que
un 50% de las casas en Estados Unidos disponían de una computadora personal (y para el
año 2002 se estima que será el 60%), contra un 98% que reportaron uno o más televisores
a color, o un 84% que tenían un horno de microondas. En Japón menos del 30% de las
casas tienen una computadora personal, y en México esas cifras son socialmente casi insigni-
ficantes, digan lo que digan los demás. El lector debe tomar igualmente con reserva las
usuales exageraciones sobre Internet y su supuesto impacto en la naturaleza y forma de ser
de la raza humana. No obstante, sí está abierto un campo de estudio para la sociología, que
debe dilucidar el impacto social de esta tecnología.
Aunque la opinión de que estas máquinas personales revolucionarán la manera en
que pensamos no deja de ser una fácil y errónea vulgarización, sí es evidente su enorme
potencial para automatizar buena parte de las tareas administrativas y operativas usuales,
además de para agilizar la comunicación entre los usuarios.

1.4 CLASIFICACIÓN ACTUAL DE LAS COMPUTADORAS

Hay mucho más que microcomputadoras, por supuesto, porque las minicomputadoras, las
redes de cómputo y los grandes sistemas continúan en desarrollo. Ya es un hecho la existencia
de máquinas pequeñas que rebasan por mucho la capacidad de los grandes sistemas que hace
pocos años requerían instalaciones costosas y especiales, pero sería equivocado suponer que
las grandes computadoras han desaparecido; muy por el contrario, su presencia es ya ineludible
en prácticamente todas las esferas de control gubernamental, militar y de la gran industria. Las
enormes (aunque ya no de tamaño) computadoras actuales son capaces de atender a cientos o
miles de usuarios simultáneamente, y su velocidad de procesamiento sobrepasa los miles de
millones de operaciones por segundo. Más aún, prácticamente todas las grandes computadoras
están conectadas a una o más redes que enlazan a muchas máquinas de todo tamaño, con lo
cual la línea divisoria entre una gran computadora y una red de ellas ha quedado un tanto
difusa. Desde hace años funcionan redes internacionales de cómputo (Internet es la más
conocida), que comunican a millones de usuarios en más de un centenar de países.

(t) Pero no todo son computadoras personales. Para no perder la perspectiva de las cosas debe
considerarse que esta cifra representa tan sólo el 10% del total de la industria del software en
Estados Unidos.
56 Capítulo 1 Evolución de las computadoras

También existen minicomputadoras especializadas en atender a un solo usuario, do-


tadas de una gran cantidad de memoria central, alto poder de cómputo y enormes capacidades
de despliegue gráfico (y que además pueden ser conectadas en red). Son conocidas como
"estaciones de trabajo" (workstations), y suelen emplearse para labores de diseño en
diversas áreas de las ingenierías.
A continuación, como intento de resumen de todo este universo se presenta una compa-
ración preliminar entre las diferentes categorías de computadoras. (Aún nos faltan elementos
teóricos y conceptuales como para intentar comparaciones más detalladas.)

Supercomputadoras
Velocidad de proceso: Miles de millones de instrucciones de punto flotante por segundo
Usuarios a la vez: Hasta miles, en entornos de redes amplias
Tamaño: Requieren instalaciones especiales y aire acondicionado industrial
Facilidad de uso: Sólo para especialistas
Clientes usuales: Grandes centros de investigación
Penetración social: Prácticamente nula
Impacto social: Casi nulo
Parque instalado: Menos de un millar en todo el mundo
Costo: Hasta decenas de millones de dólares cada una

Mainframes
Velocidad de proceso: Cientos de millones de instrucciones por segundo o más
Usuarios a la vez: Centenares o miles
Tamaño: Requieren instalaciones especiales y aire acondicionado
Facilidad de uso: Para especialistas
Clientes usuales: Grandes corporaciones y gobiernos
Penetración social: Baja
Impacto social: Muy alto, aunque pasa inadvertido: la sociedad industrial
moderna no puede funcionar sin ellas
Parque instalado: Miles en todo el mundo
Costo: Centenares de miles de dólares o más

Minicomputadoras
Velocidad de proceso: Cientos de millones de instrucciones por segundo
Usuarios a la vez: Hasta decenas, o cientos cuando se usan en red
Tamaño: Reducido; no siempre requieren instalaciones especiales
Facilidad de uso: Para especialistas
Clientes usuales: Universidades, empresas medianas. Suelen funcionar como
servidores de redes
Penetración social: Baja
Impacto social: Reducido, aunque amplio en los entornos de las redes
Parque instalado: Cientos de miles
Costo: Decenas de miles de dólares

Computadoras personales
Velocidad de proceso: Decenas de millones de instrucciones por segundo
Usuarios a la vez: Uno (por eso se llaman personales)
Tamaño: Pequeño, o portátiles
Facilidad de uso: Supuestamente fáciles de usar
Sección 1.5 El desarrollo computacional en la sociedad: mitos, realidades y contrastes 57

Clientes usuales: Pequeñas empresas, oficinas, escuelas, individuos, inadaptados


sociales
Penetración social: Mediana
Impacto social: Alto, en los países industrializados
Parque instalado: Cientos de millones en el mundo
Costo: Pocos miles de dólares

Estas comparaciones son vagas por necesidad y, además, nadie establece con precisión
las fronteras entre la clasificación empleada. Por ejemplo, también se llegó a hablar de
"superminis" o incluso de "supermicrocomputadoras", además del impactante hecho de que
las microcomputadoras actuales son mucho más poderosas (en velocidad al menos) que los
grandes equipos de hace una década.
Sea como sea, se dispone ya de verdaderas supercomputadoras de tamaño reducido y
con capacidades que desde hace mucho superan enormemente a las obtenidas por la ENIAC,
creada apenas en 1947.

1.5 EL DESARROLLO COMPUTACIONAL


EN LA SOCIEDAD: MITOS, REALIDADES
Y CONTRASTES

El motor de este dinámico mundo de las computadoras existe sólo en algunos países
desarrollados, y el resto de la comunidad internacional se ve limitada a desempeñar el
excitante papel de consumidor de la tecnología que se produce a un enorme costo en las
sociedades industriales. Además, la comercialización de las computadoras no siempre
está en función de los intereses de los países que las adquieren, y hay más de un caso en el
que se han vendido a algún gobierno miles de computadoras sin tener claro previamente
un plan racional de utilización. Tómese como uno de tantos ejemplos el caso de una compra
de 300 millones de dólares en partes para microcomputadora que hizo China en 1984, que
un año después resultó en varios miles de máquinas almacenadas en bodegas, sin destino
ni utilización claros.
Para las grandes firmas exportadoras de computación, los países del tercer mundo
representan menos del 6% de su producción total, y entonces está claro que lo requerido
por estas naciones no necesariamente es del interés prioritario de las grandes corporaciones.
La dependencia tecnológica no sólo no ha desaparecido, sino que va en aumento.
La industria ahora conocida como "tecnologías de información" (hardware, software,
comunicaciones y servicios) se ha colocado entre las más grandes ramas económicas de la Tecnologías
sociedad industrial, y se estima que a inicios del nuevo milenio será la segunda a escala de información
mundial, superada tan sólo por la agricultura. En Estados Unidos, creció de ocupar el 4.9%
de la economía global en 1985, a un 8.2% en 1998.
Sin considerar las comunicaciones, en 1993 se produjeron ventas por 390 mil millones
de dólares, y en 1996 se alcanzaron más de 475 mil millones de dólares. La distribución de
esos 390 mil millones de dólares en ventas mundiales de hardware (49%), software (17%)
y servicios (34%) aparece como sigue:

Estados Unidos 37%


Europa occidental 34%
Japón 18%
Resto del mundo 11% (América Latina: 7,800 millones de dólares, 2%)
58 Capítulo 1 Evolución de las computadoras

La competencia internacional es enorme y desproporcionada, y no es casual que tam-


bién en este campo las relaciones entre las naciones estén marcadas no por un afán de
cooperación, sino por el de optimización de los beneficios económicos.
Además, la distancia económica (con todas sus consecuencias humanas y sociales)
que separa a los países pobres de los ricos aumenta sin cesar, alimentada por modelos de
desarrollo "globales", que por su funcionamiento mismo marginan a grandes sectores de la
población y los condena a ser las víctimas eternas del capitalismo salvaje de inicios de
milenio. La siguiente tabla muestra el porcentaje del Producto Interno Brutot mundial
que tienen los 20 países más ricos y los 20 más pobres del planeta:
Distribución del PIB mundial

70% 2.3%
85% 1.4%
86% 1,1%

Según cifras del Banco Mundial, en 1999 al menos 40


por ciento de los 96 millones de mexicanos debieron sobre-
vivir con un ingreso menor a dos dólares diarios, mientras
otro 15 por ciento apenas percibió un dólar por día. De hecho,
en 1994 había 17 millones de mexicanos en situación de
pobreza extrema, que aumentaron a 26 millones para 1999.
La realidad en el resto de Iberoamérica no es precisamente
mejor: el número de personas en pobreza creció de 183
millones en 1990 a 230 millones en 1996, según cifras de la ONU; es decir, 40% de la pobla-
ción total en 1980, 44% en 1990 y 48% en 1996, por lo que preferimos ya no mencionar los
países del sub-Sahara africano, por ejemplo. Por último, los reportes económicos indican
que la mitad de los más de seis mil millones de habitantes de la Tierra subsisten con menos
de tres dólares diarios. El lector haría bien en considerar estas cifras antes de sumarse de
lleno a esa adulación desenfrenada de las altas tecnologías y sus esquemas de consumo
que nos rodean por todas partes (Internet incluido).
En México sólo el 5% de los jóvenes tiene acceso a estudios de licenciatura o superiores,
y los montos destinados a investigación y desarrollo muestran la diferencia entre países: en
1993 México dedicó 718 millones de dólares a este rubro (0.22% de su Producto Interno
Bruto, que llegaron a 0.4% para 1998) mientras que en 1988 Estados Unidos había dedicado
111,500 millones de dólares a este fin (2% de su PIB), convertidos en 2.8% diez años después.

1.6 LA INDUSTRIA DE LA MICROCOMPUTACIÓN

En este contexto es importante explicar el gran cambio sufrido por la industria de la compu-
tación y la electrónica. Hasta 1980, aproximadamente, las computadoras se diseñaban des-

(t) El Producto Interno Bruto (PIB) es la suma de toda la riqueza económica producida por un país.
En palabras del economista clásico escocés Adam Smith (1723 1790): "El trabajo anual de cada
-

nación es el fondo que en principio la provee de todas las cosas necesarias y convenientes para la
vida, y que anualmente consume el país. Dicho fondo se integra siempre, o con el producto inmediato
del trabajo, o con lo que mediante dicho producto se compra de otras naciones", Investigación
sobre la naturaleza y causa de la riqueza de las naciones,pág. 1.
Sección 1.7 Tecnología de microcomputadoras 59

de cero; es decir, el equipo de desarrollo elaboraba planes que partían desde la electrónica
requerida para los componentes de la máquina: el procesador, la memoria, los circuitos de
control. Esta labor se llevaba años y millones de dólares, por lo que eran muy pocas las cor-
poraciones capaces de hacerlo. Las demás empresas se limitaban a la fabricación de partes
periféricas, o a la copia de tecnologías con algunos años de retraso. Con el advenimiento
de la microelectrónica industrial de alta integración, las cosas cambiaron drásticamente.
En efecto, las computadoras (pequeñas y medianas) se fabrican por "capas" o niveles,
que parten del uso de circuitos electrónicos y microprocesadores ya existentes y continúan Proceso
después con la elaboración de lo conocido como la arquitectura funcional de la máquina, lo de fabricación de
cual se traduce en la fabricación de tarjetas de circuito impreso en donde se montan los circui- las computadoras
tos de alta integración. Esto se configura luego en sistemas terminados, dotados de un chasis,
una fuente de poder y los periféricos requeridos. Es decir, existe una muy poderosa y muy
centralizada industria de circuitos y microprocesadores de integración a alta escalat, que
provee sus "materias primas"t t al mercado de diseñadores de arquitecturas y tarjetas, que a
su vez ofrece esos diseños de segundo nivel a los integradores finales del producto, quienes,
en esta tercera capa, lo terminan y le dan presentación y marca, junto con tal vez alguna
característica propia.
Todo esto implica que ya no se tiene que ser una corporación gigante para ensamblar
microcomputadoras, sino que se pueden lograr con menor dedicación de recursos finan-
cieros y de investigación. Para muestra basta con atestiguar el dominio que algunos países
orientales no muy prósperos tienen del mercado internacional de microcomputadoras de
bajo costo... y calidad.

1.7 TECNOLOGÍA DE MICROCOMPUTADORAS

En virtud de la facilidad de acceso a las computadoras personales y a la enorme cantidad


de recursos, unidades periféricas, procesadores especializados, interfaces de entrada y
salida, interfaces gráficas y sistemas existentes, se vuelve necesario hacer un resumen de
todo este universo; por ello en este espacio se hace una breve descripción de la nomencla-
tura en uso, clasificada de acuerdo con la función desempeñada por cada dispositivo utiliza-
do en una microcomputadora.
El nacimiento de las microcomputadoras tuvo lugar en Estados Unidos a partir de la
comercialización de los primeros microprocesadores de 8 bits (Intel 8008, 8080) a comien-
zos de la década de 1970. Las primeras de estas máquinas se conocían sencillamente como
microcomputadoras, y comenzaron a tener aceptación primero exclusivamente en el mer-
cado de los técnicos e ingenieros que deseaban o se atrevían a experimentar con esta nueva
tecnología, pues ponía al alcance de su mano una clase de equipo antes completamente
inaccesible. La empresa IMSAI vendía una microcomputadora en forma de partes que el
entusiasta experimentador armaba y probaba. Pronto otras compañías entraron a la com-
petencia, y algunas comenzaron a ofrecer equipos ya armados, más fáciles de utilizar, aunque

(t) Las cifras son contundentes: el precio por megabyte de almacenamiento en memoria de semi-
conductores era de 550,000 dólares en 1970, y veinte años después llegaba a tan sólo 38 dólares.
Sin embargo, el costo de la fábrica para producir esos chips de alta integración pasó de 4 a 1,200
millones de dólares durante ese lapso. Únicamente países con una economía industrial avanzada
pueden tener ese tipo de plantas de manufactura de alta tecnología.
(tt) Ironías de la época postindustrial: llamarle materia prima a un circuito milimétrico en el que
doce millones de transistores y las bandas de valencia de Fermi coexisten provechosamente con los
premios Nobel y la teoría cuántica. Enrico Fermi (1901-1954)
60 Capítulo 1 Evolución de las computadoras

seguía siendo absolutamente necesario un conocimiento especializado sobre la materia (o


al menos la disposición de dedicar muchas horas al día a obtenerlo, usualmente a costa de
las relaciones interfamiliares). Durante la década de 1970 aparecieron microcomputadoras
de múltiples marcas, y pronto se impusieron dos tendencias: la de los sistemas Apple, que
empleaban su propia tecnología (basada en el microprocesador Mostek 6502) y un sistema
operativo particular, y la de casi todas las demás microcomputadoras, que empleaban el
sistema operativo CP/M (Control Program/Monitor), basadas en los procesadores Intel 8080
y 8085, y luego en el Zilog Z80. Durante varios años la situación se mantuvo con un ritmo
de crecimiento rápido, pero frenado aún por la dificultad de empleo de estos dispositivos.
Cuando el mercado había adquirido proporciones importantes, y una vez que la nueva
tecnología estaba ya aceptada, comenzó la verdadera explosión comercial masiva con la
introducción, en 1981, de la Personal Computerde IBM. Esta máquina (basada en el micro-
procesador Intel 8088) tenía características interesantes, que hacían mucho más amplio su
campo de aplicaciones, sobre todo por un nuevo sistema operativo estandarizado (MS-DOS:
Microsoft Disk Operating System) y una capacidad mejorada de graficación, lo cual la
hacía más atractiva y relativamente más fácil de usar.
Con el paso de los años, las computadoras personales se convirtieron en máquinas
tan poderosas que ya resultaba inoportuno manejarlas únicamente en forma individual,
por lo que surgieron sistemas operativos para operación en redes locales, acercando así el
concepto de sistema operativo personal con el de sistema operativo multiusuario.
En las redes locales se interconecta un conjunto de computadoras personales para
Redes y sistemas obtener entonces un conglomerado que ofrece ambas posibilidades: procesamiento de
"cliente-servidor" tipo personal y centralización de recursos (generalmente referidos a un disco magnético
de gran capacidad o a alguna impresora costosa), a través de una minicomputadora. Ésta
se denomina servidor de la red y está dotada de un sistema operativo especial.
Es decir, en el entorno de una red las computadoras personales pueden además fun-
cionar como "clientes" del sistema multiusuario de algún servidor, efectuando en forma
local las complejas labores de despliegue y procesamiento de la información proveniente
de él, sin sobrecargarlo de trabajo.

Esquema de la computadora personal


Una computadora personal incluye componentes de cada una de estas categorías:

— Componentes electrónicos integrados (microprocesador, memoria, otros)


— Arquitectura global y canal
— Entrada/salida e interfaces gráficas
— Dispositivos periféricos y de red
— Sistema operativo

A continuación se describen los términos principales que se usan al hablar de estas


divisiones.

Componentes electrónicos integrados


Como se mencionó, existen varias familias comerciales de microprocesadores, y constan-
temente surgen modelos más poderosos. Los primeros procesaban instrucciones de 4 bits;
luego crecieron a 8, 16, 32 y hasta 64 bits. La tecnología de semiconductores más empleada
es la que se conoce como CMOS (Complementary Metal-Oxide Semiconductor), y éstos y
otros circuitos integrados se montan sobre placas de circuitos impresos, de una o varias
capas. Debido a que cada vez se colocan más circuitos integrados en una placa, existe una
técnica de montaje superficial, Surface-Mounted Technology, en la que los circuitos inte-
Sección 1.7 Tecnología de microcomputadoras 61

grados no se insertan en la placa (también


conocida como tarjeta) sino que se colocan
(y sueldan) sobre la superficie, permitiendo
una mayor densidad y funcionalidad.
También hay minúsculos módulos
de memoria de gran capacidad que contie-
nen varios circuitos integrados montados
superficialmente en forma de tiras delga-
das, conocidos como SIM (Serial In-line
Module). Estos circuitos casi reemplazaron
a los anteriores, de tecnología de empaque
DIP (Dual In-line Package). La electrónica
de las memorias RAM de semiconductores
sigue avanzando; y los nuevos circuitos de
mayor velocidad se conocen como EDO
(Extended Data Out), para diferenciarlos
de los anteriores, FPM (Fast Page Mode).
Como los equipos son cada vez más Circuito impreso
pequeños, desde hace algunos años se hizo
popular la idea de tener máquinas portáti-
les que pudieran funcionar con una bate-
ría especial. Las computadoras llamadas
notebook o lap-top utilizan los mismos
componentes que sus hermanas mayores, urzow] ,w,'ollb,l111110,uuk
aunque también suelen emplear minúscu-
las tarjetas especiales conocidas como
PCMCIA (Personal Computer Memory
Card International Association), inicial-
mente utilizadas como expansión de memo- Banco de memoria
ria, aunque ya hay otras que contienen un módem, o incluso un increíblemente pequeño
disco magnético de enorme capacidad.
En algunas computadoras, en lugar de los circuitos integrados tradicionales se emplean
circuitos de muy alta integración electrónica para realizar las funciones de algún subsistema
completo, formados internamente por grandes conjuntos de compuertas lógicas; en inglés
reciben el nombre de Gate Arrays. A partir de ellos (y de otras tecnologías afines) se ha hecho
posible que los diseñadores de arquitecturas de microcomputadoras definan sus propios
circuitos integrados, y entonces se habla de tecnología ASIC (Application-Specific Inte-
grated Circuits), con la cual también se pueden producir circuitos de propósito especial, más
rápidos y pequeños que un microprocesador que desempeñara esa misma función mediante
un programa almacenado en la memoria.
Desde hace algunos años, el diseño de los microprocesadores también ha tenido cambios, y
se distinguen dos filosofías: CISC y RISC. Por Complex Instruction Set Computer se entiende
un procesador tradicional, dotado de complejas operaciones que, sin embargo, tienden a ser
poco utilizadas porque son especializadas. La tendencia opuesta, Reduced Instruction Set Com-
putert , especifica diseños en donde se reduce la potencia y complejidad de las instrucciones,
pero aumentando su velocidad de proceso como compensación. No se puede realmente decir
que un diseño RISC sea inherentemente mejor que uno CISC porque, siendo estos aparatos tan
enormemente elaborados y complejos, cualquier análisis simplista fracasará, como suele suceder.
Además, los nuevos microprocesadores incluyen características de ambas filosofías en su diseño.

(t) Nombre ideado por David Patterson para un proyecto especial en la Universidad de Berkeley,
California, en 1985.
62 Capítulo 1 Evolución de las computadoras

Arquitectura global y canal


Aunque dos computadoras empleen el mismo microprocesador pueden ser muy diferentes,
tanto en características como en velocidad y costo, debido a que quizá no utilicen el mismo
esquema de funcionamiento o de acoplamiento entre sus diferentes secciones electrónicas.
A la forma en que está diseñada la estructura de la computadora completa (y no sólo su
procesador central) suele dársele el nombre de arquitectura, que ya hemos empleado. En
las microcomputadoras, la arquitectura está organizada alrededor de una estructura común
llamada canal. Las computadoras con el sistema operativo CP/M usaban un canal estándar
conocido como bus S-100, que consistía en una tarjeta base a la que se conectaban las otras
tarjetas (la del procesador, la de memoria, la de los controladores de disco, etc.). El bus S-100
fue abandonado con la introducción de la computadora PC, porque ésta utilizaba un canal
llamado XT, en los modelos pequeños, y otro más elaborado, AT (Advanced Technology),
en los modelos siguientes, luego reemplazado por el estándar ISA (Industry Standard Architec-
ture). Estos canales consisten en una tarjeta base principal que contiene al procesador, a la
cual se acoplan las otras tarjetas de la computadora mediante conectores especiales llamados
slots (ranuras de expansión). Han existido versiones ampliadas de estos canales, con deno-
minaciones como Multibus, Microchannel, VME (Versa Module European), NuBus, EISA
(Extended Industry Standard Architecture), y ahora PCI (Peripheral Component Interconnect)
Tarjeta madre y USB (Universal Serial Bus).

Entrada/salida e interfaces gráficas


Parte del éxito inicial de las computadoras personales residió en su capacidad gráfica,
muy mejorada con respecto a las primeras microcomputadoras. En una computadora tipo
PC, la terminal de video se llama monitor, y está controlada por el procesador y una tarjeta
especial de video, en donde en una memoria propia se mantiene una "imagen" electrónica
de cada uno de los minúsculos puntos luminosos que se despliegan en la pantalla (se cuen-
tan por decenas o centenas de miles), asignando un bit para cada punto en la pantalla de
blanco y negro, y varios bits para el caso de monitores en color. Así se obtienen los atractivos
efectos luminosos por todos conocidos. Este método se llama bit-mapped graphics, y es
rasgo distintivo de las computadoras actuales, aunque su calidad y efectos varían porque
existen varios estándares en cuanto a la definición o resolución (número de puntos que se
despliegan) y la gama de colores accesible.
Las primeras computadoras personales empleaban una tarjeta para despliegue mono-
cromático, llamada MDA. Durante años fue muy usado el estándar monocromático Hércu-
les, de alta definición. Luego aparecieron las tarjetas para despliegue en color: CGA, EGA,
VGA y SVGA, que ofrecen gamas de miles y miles de colores posibles, y definiciones de
varios cientos de miles de puntos. En general, para cada una de estas tarjetas se empleaba un
monitor especial, que no era compatible con los requeridos por las otras.
A continuación se hace un resumen de los principales estándares que han existido en
tarjetas y monitores de video para microcomputadoras.

Nombre Definición Colores en pantalla


MDA: Monochrome Display Aciapter IBM
- 640 x 380 Blanco y negro
Hércules 720 x 348 Blanco y negro

CGA: Color Graphics Adapter IBM - 320 x 200 4 de 16 posibles


EGA: Enhanced Graphics Adapter-IBM 640 x 350 16 de 64 posibles

VGA: Video Graphics Array 1W - 640 x 480 16'de entre 256,000


Super VGA 1,024 x 768 256 de entre 256,000
Sección 1.7 Tecnología de microcomputadoras 63

Dispositivos periféricos y de red


Como la memoria central de las computadoras es limitada y volátil, se vuelve necesario
utilizar dispositivos periféricos (es decir, no integrados a la unidad de procesamiento) de
almacenamiento, con capacidades mayores a los 65,000 caracteres que cabían en la memoria
de las computadoras con CPIM, o a los varios millones que almacenan las actuales, y para
esto se emplean los discos magnéticos, que además ofrecen almacenamiento a largo plazo.
En el capítulo 3 se describe su funcionamiento, por lo que aquí tan sólo se mencionarán
las diversas interfaces estándar empleadas para el manejo de los discos en las microcompu-
tadoras. Las primeras máquinas utilizaban discos flexibles (diskettes) de baja capacidad,
por completo incompatibles entre las diversas marcas y modelos, y después se incluyeron
pequeñas unidades de disco rígido; entonces se hizo necesario poner orden en la diver-
sidad de formatos diferentes de lectura y escritura que se empleaban. Para ello fue funda-
mental la gran presencia y peso en el mercado de las computadoras PC de IBM, pues fue
entonces cuando llegaron los estándares. Uno inicialmente muy empleado para el control
de discos rígidos fue el ST-506, y ahora existen otros, como IDE (Integrated Device Elec-
tronics), SCSI (Small Computer System Interface) y ESDI (Enhanced Small Disk Interface).
Los controladores de disco rígido utilizados permiten conectar en una computadora uni-
dades de marcas y capacidades diferentes, y las emplean de manera uniforme y a gran
velocidad.
La tarjeta de red de una computadora sirve para conectarla al entorno de una red
local, desde donde además puede "salir" hacia la red global, como se explica en el capítulo
4. Cuando la tienen, prácticamente todas las máquinas de tipo personal emplean tarjetas
con el estándar Ethernet, aunque también existen paraATM (Asynchronous Transfer Mode),
más rápidas, pero también más costosas. Por otra parte, muchas computadoras personales
—sobre todo en las casas— se conectan interminablemente a Internet mediante una tarje-
ta de módem, ocupando la línea telefónica (e impidiendo las llamadas normales). Los prime-
ros módems eran pequeñas cajas externas, de baja velocidad; un estándar de los actuales
módems internos (de tarjeta) se conoce como V.35 .

Sistema operativo
Como se dijo, los primeros sistemas operativos estándar en microcomputadoras fueron
CP/M®, por un lado, y el empleado por Apple®, por otro. CP/154 fue luego reemplazado
por MS-DOS® (en varias versiones) y luego por los sistemas Windows®. En su lugar, en
las microcomputadoras IBM durante un tiempo se pudo emplear OS/2 ®, que incluía
operación de varias tareas concurrentes. En las computadoras medianas y grandes se sigue
hablando de multiprogramación: uso de varias terminales (es decir, usuarios) a la vez,
mientras que en las personales se habla de multitasking: manejo de varias tareas que un
mismo usuario inicia desde su monitor, asignando una "ventana" a cada una. Las compu-
tadoras Apple siguieron con su propia versión de sistema operativo, aunque algunos
modelos trabajan con el sistema operativo Unix.
Otros sistemas operativos de uso relativamente común en las microcomputadoras
fueron DR-DOS, Concurrent DOS, CP/M-86, Business Basic (una combinación de sistema
operativo con una versión del lenguaje BASIC orientado a los negocios), Xenix (una
versión de Unix), Theos y Pick, aunque hubo otros más. El sistema operativo Unix (y sus
múltiples variantes, casi todas terminadas en "x") se convirtió en estándar virtual para las
micro y minicomputadoras multiusuario, aunque existe una fuerte competencia comercial
entre nuevos sistemas, como Windows NT, Linux y otros.
Aunque el universo de la computación parece inacabable, este primer capítulo termina
recordando al lector que prácticamente todas las computadoras (un tanto más de las veinte
que predecía el estudio de 1951) están basadas en la idea de von Neumann, que se analizará
en el siguiente capítulo.
64 Capítulo 1 Evolución de las computadoras

1.8 ANEXO: LAS COMPUTADORAS


NO NECESARIAMENTE SON PARA TODOS

Esta es una historia real, de las muchas que (en inglés) circulan por Internet. Se trata de un
caso ocurrido en la oficina de ayuda por teléfono que la empresa WordPerfect® tiene para
los clientes usuarios de su procesador de palabras. La compañía despidió al empleado,
quien sin embargo la demandó por "Cese por causas injustificadas". Lo que sigue es una
transcripción del diálogo ocurrido, según —claro-- el trabajador involucrado:

— Ayuda en línea, ¿en qué puedo servirle?


— Sí, estoy teniendo problemas con WordPerfect.
— ¿Qué tipo de problemas?
— Bueno, estaba tecleando, y de repente las letras desaparecieron.
— ¿Desaparecieron?
— Sí, desaparecieron.
— Mmm. ¿Cómo se ve la pantalla ahora?
— Nada.
— ¿Nada?
— No hay nada; no acepta nada de lo que tecleo.
-- ¿Todavía está dentro de WordPerfect, o ya salió?
--- ¿Cómo lo sé?
-- ¿Puede ver el símbolo con la letra C: en la pantalla?
— ¿Qué es un símbolo ce?
— No importa. ¿Puede mover el cursor en la pantalla?
— No hay cursor: le dije que no acepta nada de lo que yo tecleo.
— ¿Su monitor tiene algún indicador de potencia?
— ¿Qué es un monitor?
— Es el aparato con la pantalla, que parece como una televisión. ¿Tiene un foquito que se
ilumina al prenderlo?
— No sé.
— Bueno, entonces, mire en la parte de atrás del monitor para saber si el cable está enchufado.
¿Puede verlo?
— Creo que sí.
— Bien. Siga el cable hasta el contacto y dígame si está enchufado a la pared.
-- ...sí está.
-- Cuando estaba atrás del, monitor ¿notó que hay dos cables que salen de él, y no
sólo uno?
— No.
— Bueno, hay dos. Necesito que se asome otra vez y encuentre el otro cable.
— ...sí, aquí está.
— Sígalo, y dígame si está bien conectado a la parte trasera de la computadora.
— No puedo llegar.
Mmm..., bueno, ¿puede ver si está conectado?
— No.
— ¿Tal vez si se hinca y se puede asomar? 1
— No es porque no tenga buen ángulo, sino porque está obscuro.
— ¿Obscuro?
-- Sí. La luz de la oficina está apagada, y la única luz que hay llega de la ventana.
— Bueno, pues entonces prenda la luz.
— No puedo.
Sección 1.9 Anexo: El premio Alan M. Turing de computación 65

— ¿No? ¿Por qué?


— Porque se fue la luz.
— ¿Se fue la luz? Ah, ya veo. Vaya. ¿Todavía tiene usted las cajas y los manuales con los
que venía empacada la computadora?
— Sí, los tengo en el clóset.
— Bien. Tráigalos, desconecte la computadora y empáquela como cuando la trajeron. Luego
llévela a la tienda en donde la compró.
— ¿Si? ¿Tan mal está?
— Sí, parece que sí.
— Bueno, está bien, creo. ¿Y qué les digo?
— Dígales que usted es demasiado idiota como para tener una computadora.

1 .9 ANEXO: EL PREMIO ALAN M. TURING


DE COMPUTACIÓN

La ACM (Association for Computing Machinery) ofrece anualmente el premio Alan M.


Turing, considerado como el máximo reconocimiento a la calidad académica o profesional
de la computación en el mundo. Los premiados pronuncian una conferencia en la ceremo-
nia de aceptación, y una versión adaptada se publica después en la revista oficial: Communi-
cations of the ACM. La editorial Addison-Wesley publicó en 1987 el libro ACM Turing
Award Lectures: The First Twenty Years, con las disertaciones de los premiados entre 1966
y 1985, y se trata prácticamente de un directorio de los principales investigadores en compu-
tación hasta esa fecha.
A continuación se expone la lista de los premiados, junto con algunas palabras sobre
su trabajo.

1966 A. J. Perlis (diseñador de algunos de los primeros lenguajes de programación, como


Algol).
1967 Maurice Wilkes (de los pioneros de las computadoras de programa almacenado y
la microprogramación).
1968 Richard Hamming (creador de un sistema de codificación que lleva su nombre).
1969 Marvin Minsky (autor sobre teoría de la computabilidad, citado en el capítulo 6 de
este libro, y pionero de la inteligencia artificial).
1970 James Hardy Wilkinson (pionero de las computadoras y experto en análisis numérico).
1971 John McCarthy (pionero de la inteligencia artificial y creador del lenguaje LISP,
citado en el anexo 5.10).
1972 Esdger W. Dijkstra (teórico de la programación y reconocido autor, citado en el
capítulo 7).
1973 Charles Bachman (teórico de las bases de datos e iniciador del modelo OSI/ISO).
1974 Donald Knuth (reconocido matemático, programador y autor, citado en varios
capítulos de este libro).
1975 Allen Newell (pionero de la inteligencia artificial e investigador de los modelos del
aprendizaje) y Herbert Simon (pionero de la inteligencia artificial; además, Premio
Nobél de Economía, 1978. Actualmente se dedica a la psicología cognoscitiva).
1976 Michael Rabin (investigador en teoría de algoritmos y complejidad) y Dana Scott
(teórico de las relaciones formales entre la lógica y la programación).
1977 John Backus (creador de FORTRAN e investigador en lenguajes y gramáticas for-
males).
I 1978 Robert Floyd (investigador en reconocimiento y traducción de lenguajes de progra-
p mación).
66 Capítulo 1 Evolución de las computadoras

1979 Kenneth Iverson (matemático y creador del lenguaje APL, citado en el anexo 5.10).
1980 C. A. R. Hoare (investigador en el diseño de lenguajes de programación, y creador
del famoso algoritmo de ordenamiento quicksort, citado en el capítulo 8).
1981 Edgar F. Codd (creador del modelo relacional de las bases de datos y las técnicas
de normalización).
1982 Stephen Cook (matemático e investigador en teoría de algoritmos y complejidad).
1983 Ken Thompson y Dennis Ritchie (coinventores del sistema operativo Unix y del
lenguaje C).
1984 Niklaus Wirth (creador de los lenguajes Pascal y Modula-2 y el entorno operativo
Oberon).
1985 Richard Karp (matemático e investigador en teoría de la complejidad y algoritmos
combinatorios).
1986 John Hoperoft (reconocido autor sobre análisis y diseño de algoritmos y compu-
tabilidad, citado en el capítulo 6) y Robert Tarjan (investigador en diseño y análi-
sis de estructuras de datos y algoritmos).
1987 John Cocke (pionero de las arquitecturas RISC y los procesadores paralelos).
1988 Ivan Sutherland (pionero de las interfaces gráficas y de la "realidad virtual").
1989 William Kahan (investigador de análisis numérico y desarrollador de métodos de
computación numérica y de punto flotante).
1990 Fernando Corbató (de los primeros investigadores sobre sistemas operativos
multiusuario).
1991 Robin Milner (investigador en teoría de la concurrencia, teoría de lenguajes y crea-
dor del lenguaje especializado ML).
1992 Butler Lampson (de los pioneros en la creación de entornos gráficos distribuidos
de computación personal).
1993 Juris Hartmanis y Richard Stearns (por su trabajo conjunto que sentó las bases de
la teoría de la complejidad computacional).
1994 Edward Feigenbaum (desarrollador de teoría de sistemas expertos en inteligencia
artificial) y Raj Reddy (desarrollador de algoritmos para aplicaciones de la inteli-
gencia artificial).
1995 Manuel Blum (investigador en teoría de la complejidad computacional y sus aplica-
ciones a la criptografía y la verificación de programas).
1996 Amir Pnueli (investigador en teoría de lenguajes y algoritmos, del Instituto Weiz-
mann de Israel).
1997 Douglas Engelbart (desarrollador de entornos interactivos de computación, e in-
ventor de las "ventanas" y del correo electrónico).
1998 James Gray (investigador pionero en bases de datos y procesamiento de transac-
ciones).
1999 Frederick P. Brooks, Jr. (por sus contribuciones a la arquitectura de computadoras,
sistemas operativos e ingeniería de software).

1.10 ANEXO: CUIDADOS CON EL IDIOMA ESPAÑOL

Los idiomas están vivos: reflejan el dinamismo de las sociedades que los emplean como
medios para definir y construir su mundo y el mundo. Esto significa que el español (así
como las demás lenguas) está sujeto a cambios, evolución... y ataques. Como toda entidad
viviente, nuestro idioma necesita cuidados y, particularmente en el campo de la informá-
tica y la computación (en donde una buena cantidad de los términos empleados le son
ajenos), es a nosotros a quienes toca la responsabilidad de mantenerlo sano y actual.
1
Sección 1.10 Anexo: Cuidados con el idioma español 67

La dinámica en el uso del idioma se


refiere, entre otras cosas, a la aceptación de
nuevas palabras, cuando éstas reflejan la
existencia de objetos o situaciones ("peda-
zos del mundo" t) desconocidos hasta el mo-
mento. La mayoría de las veces los propios
mecanismos del lenguaje bastan para aco-
modarse y aceptar los cambios, aunque en
ocasiones sí resulta propio admitir añadidos
"externos", provenientes de otros idiomas.
Sin embargo, lo que a todas luces debe-
ría resultar inaceptable —y más tratándose
de personas cultas y con acceso a estudios
universitarios— es el sometimiento y acep-
tación acrítica de palabras y expresiones
innecesarias, serviles y "cómodas". Por
ejemplo, a (casi) nadie se le ocurriría decir
"me voy a ir a la playa de week- end", porque
"de fin de semana" expresa exactamente lo
mismo; y sin embargo resulta penoso vivir
el indigno avasallamiento y la resignada tolerancia del uso de decenas de vocablos absurdos
empleados cotidianamente en el mundo de la moda, la mercadotecnia y los espectáculos, que
tan sólo reflejan pereza mental y desamor por las palabras. Como ejemplos de pseudotraduc-
ciones comunes tenemos "casual" para casual, que significa "informal", al referirse a la ropa;
o el lastimoso "espera por mí" de las películas y series televisivas para wait for me, espérame.
Igualmente, en la computación deberíamos mantener el respeto y cuidado por el idioma
español en los vocablos de uso común, y pensar dos veces antes de emplear "traduccio-
nes" como "comando" command (instrucción u orden); "librería" librar), (biblioteca);
"salvar" to save (guardar); o penosos engendros como "escanear" o "deletear" para to scan
(leer, digitalizar) y to delete (borrar), respectivamente.
A continuación se muestran algunos de los abusos a los que servilmente sometemos
nuestro idioma; solicitamos al lector que dedique unos minutos a analizarlos y a comprender
su responsabilidad social y personal en el buen uso del lenguaje. Aparecen en negritas los
términos correctos (o al menos no tan malos).
Access
Tener acceso es la adecuada traducción de to access en inglés, en lugar del inexistente
"accesar". En ocasiones, cuando el contexto lo permita, se puede emplear el verbo acceder.
Asynchronous, synchronous
Asincrónico y sincrónico, respectivamente. Sucede que los tan común y pobremente
utilizados "síncrono" y "asíncrono" no existen en español.
Billion
Mil millones. En español un billón es un millón de millones (o sea trillion, en inglés).
Command
Instrucción u orden es lo adecuado, en lugar del incorrecto "comando", como traduc-
ción del inglés command. "Comando" indica una unidad especializada del ejército.

1 (t) Recuérdese la famosa frase del filósofo Ludwig Wittgenstein (1889-1951): "Los límites de mi
lenguaje configuran los límites de mi mundo".
68 Capítulo 1 Evolución de las computadoras

Delete
Borrar. Resulta increíble que alguien pueda ser tan mentalmente débil como para atre-
verse a decir "deletear".

Encryption
Codificación o ciframiento es lo que describe a la palabra encryption del inglés. Los
términos "encriptamiento" y "encriptado" no existen.

Event
Acontecimiento o suceso debe usarse en lugar del incorrecto "evento" como traducción
de event. "Evento" indica un acontecimiento fortuito o poco predecible; todo lo contra-
rio de algo que sucederá en una fecha y lugar determinados.

Eventually
Finalmente o tarde o temprano es la traducción del inglés eventually. "Eventualmente"
se refiere a un suceso no determinístico.

Hardware y software se emplean ya como si fueran del español (es decir, sin escribirlas
en cursivas). Lo mismo sucede con el término buffer (a veces incluso escrito búfer).

Instance
Ejemplo es la traducción correcta de esta palabra, muy empleada en programación
orientada a objetos. También puede emplearse caso, o caso particular. El término
"instancia" se refiere a asuntos legales.

Interface
Interfaz se usa en lugar de "interfase" o de la inexistente "interface", y además aparece
ya en la vigésima edición del (no muy bueno pero normativo) Diccionario de la Real
Academia Española. El plural, claro, es interfaces.

Library
Biblioteca es la traducción del inglés libraty. Una "librería" es un lugar en donde se
venden libros.

Monitor
Supervisar es la palabra adecuada en lugar del inglés to monitor. A veces también puede
utilizarse simplemente controlar.

Propietary
Propio, patentado. Usualmente referido a sistemas de software que son propiedad
industrial, y que no están disponibles para uso generalizado. En español, "propietario"
es el dueño de algo; justamente la idea contraria de lo que dice la expresión Propietary
software: software que tiene propietario, porque es marca registrada, fue creado bajo
especificaciones particulares, y no está permitido copiarlo.

Route, router
Enrutar es un término hasta ahora inexistente; aunque preferible a "rutear". Igualmente,
sugerimos traducir router como enrutador.

Run
Ejecutar (un programa) es la traducción adecuada para to run. "Correr" se reserva para
la acción atlética.
Sección 1.10 Anexo: Cuidados con el idioma español 69

Save
Guardar o almacenar es el significado de to save en inglés. "Salvar" indica poner
fuera de peligro, y aunque a veces pueda suceder que los archivos sí corran riesgos, no
es el término adecuado.

Scanner, scanning
Digitalizador, digitalizar o, simplemente, lector óptico son los términos adecuados (y
no esa barbaridad innecesaria de "escáner").

Serial
Serie o en serie, usualmente referido a un puerto de una computadora. "Serial" en
español se refiere a las telenovelas.
Silicon
Silicio es el nombre en español del elemento químico más empleado en la microelec-
trónica, no la inexistente palabra "silicón".

Support
Manejar es la palabra adecuada en lugar del incorrecto "soportar", que en español
significa tolerar el dolor o aguantar un peso. Dependiendo del contexto, también puede
emplearse funcionar (operar) con como traducción del inglés to support.
En general, el mejor consejo que puede darse cuando de traducir se trata es dejar "respirar"
al texto en español; es decir, no forzarlo a tener ni la misma estructura ni la misma cantidad
de palabras que el original. Otro consejo: luego de haber traducido un párrafo, léalo en
voz alta (o repítalo mentalmente) y pregúntese a sí mismo "¿así se oye bien en español?".
Con esta simple idea (y algo de conocimientos básicos sobre gramática y usos del lenguaje)
se podrá evitar buena parte de los abusos a los que tan tristemente nos han acostumbrado.
La cultura es importante y merece ser defendida.
En algunos países, la defensa del idioma es un asunto de prioridad nacional, como lo
muestra la siguiente nota de periódico.

Aprueban reforma ortográfica del idioma alemán


Después de dos años de acaloradas controversias, la discutida reforma ortográfica del
idioma alemán recibió ayer luz verde del Tribunal de Garantías Constitucionales, en
Karlsruhe, Alemania.
La decisión de los magistrados constitucionales alemanes, que era aguardada con gran
expectación en todo el país, supone que la reforma ortográfica entró oficialmente en vigor
el primero de agosto de 1998.
La nueva ortografía será obligatoria en las escuelas, por decreto de los ministros
competentes de los 16 estados federados. Antes del dictamen de los magistrados de Kalrsruhe,
la polémica reforma de la ortografía provocó, hasta ahora, 30 sentencias de tribunales
administrativos, los cuales estimaron que la obligatoriedad de la reforma no viola los dere-
chos de los padres en materia de educación de los hijos.
Entretanto, la gran mayoría de las escuelas alemanas ya está utilizando la nueva
ortografía, aprobada en Viena el primero de julio de 1996, por representantes de Alemania,
Austria y Suiza. Según los especialistas, de los aproximadamente doce mil vocablos raíces
del idioma alemán, la nueva norma cambia la ortografía de 185 palabras. La reforma sim-
plifica visiblemente la separación silábica al final de renglón y reduce a nueve, en lugar
de 52, las reglas de utilización de la coma.
Frente al beneplácito de las autoridades educativas, y con el rechazo de gran parte de
la sociedad alemana, la aplicación de la norma todavía deberá ser aprobada en un refe-
réndum antes de su aplicación.
70 Capítulo 1 Evolución de las computadoras

EJERCICIOS

1. Haga un resumen inteligente sobre los principales intentos de la filosofía especulativa


por clarificar la realidad "original" del mundo que nos rodea, y trate de establecer el
papel otorgado a la percepción. Considere, entre otras, las concepciones de Platón,
Berkeley, Kant y Husserl, además de los descubrimientos de la física del siglo xx.
2. Analice los conceptos del idealismo en filosofía referidos a la percepción y ofrezca
sus propios puntos de vista sobre la frase cumbre del solipsismo, enunciada por el
sacerdote y filósofo empirista inglés George Berkeley: "Ser es ser percibido". ¿Existe
conocimiento independiente de la percepción de los sentidos? ¿Cuál es, desde esta
perspectiva, la función de las matemáticas en la labor de conocimiento del mundo?
3. Juzgue el papel que desempeña el lenguaje como medio de descripción de la reali-
dad. ¿Existirá aquello acerca de lo cual no se puede hablar o pensar? Como una
referencia para este "problema" (que en realidad es un experimento mental) podría
consultarse el capítulo "The Unknowable" del libro Labyrinths of Reason, de
William Poundstone, Anchor Books/Doubleday, Nueva York, 1990 (que analiza el
problema del realismo en filosofía), o bien considerar los asuntos relacionados con
George Berkeley (1685-1753)
el principio de incertidumbre de Heisenberg en la mecánica cuántica: el simple
hecho de observar una partícula subatómica la cambia; ¿cómo era antes de
detectarla?
4. La historia de las matemáticas registra avances iniciales (como el de los antiguos
griegos) y derrumbes casi catastróficos (como el de las paradojas de Russell), y ya
no parece posible que éstas nos revelen "la verdad" sino sólo algunos criterios de
validez operativa. Escriba un breve ensayo sobre la historia de las ideas matemá-
ticas fundamentales. Puede consultar las referencias [BOUN72], [DOUA70],
[PERM94] y [RICR83], citadas en el capítulo 6.
5. Elabore un cuadro genealógico, lo más completo posible, de la historia de las compu-
tadoras.
6. Hay una "figura gris" en la historia de la computación: el Dr. Konrad Zuse (n. 1910).
En Alemania, antes y durante la Segunda Guerra Mundial, desarrolló máquinas que
bien podrían considerarse como las primeras computadoras. Investigue sobre este tema.
7. Existe documentación muy interesante acerca de autómatas que resolvían diversos
problemas y que, aun no siendo posible denominarlos computadoras, representan
un curioso antecedente histórico de los modernos sistemas de cómputo. Considérese,
Georg Simon Ohm (1789-1854) por ejemplo, el autómata para jugar ajedrez diseñado por el español Leonardo Torres y
Quevedo (1852-1936) en 1911, descrito en "Antique Mechanical Computers", de James
M. Williams, publicado en tres partes por la revista Byte, julio-septiembre de 1978.
Investigue sobre el tema. ¿Por qué estas máquinas no pueden llamarse computadoras?
8. Elabore un resumen de la primera parte de la historia de la electrónica, revisando
los aspectos teóricos iniciales (física y leyes de la electricidad y magnetismo durante
los siglos xvin y xix: Oersted, Ohm, Faraday y otros), los antecedentes (el efecto
Edison, la teoría del electromagnetismo: Maxwell, Edison, Hertz y otros), y los
primeros desarrollos (diodos, triodos, circuitos: Marconi, Fieming, De Forest y
otros) hasta antes de la invención del transistor. Trate de darle congruencia y no se
preocupe sólo por las fechas.
9. Continúe el resumen del punto anterior, ahora a partir del desarrollo del transistor
(anunciado por los Laboratorios Bell en 1948, y que les valiera el Premio Nobel de
Física de 1956 a sus inventores: John Bardeen, William Shockley y Walter H. Brattain),
así como de la creación de los circuitos integrados y el establecimiento de la industria
James C. Maxwell (1831-1879)
de la electrónica, las comunicaciones y las computadoras.
Ejercicios 71

10. Haga un resumen explicativo del modo de funcionamiento de los tubos de vacío y
contrástelo con los principios de operación de los transistores. El artículo de 1948,
"The Transistor", de Frank Rockett, publicado en la edición especial de 1997 sobre
"El siglo del estado sólido", de la revista Scientific American, explica la fase inicial
de este invento. En esa misma edición aparece el artículo (de junio de 1993) "The
Future of the Transistor", de Robert Keyes, donde indica: "La falta de verdaderos
rivales significa que el futuro de la electrónica digital seguirá estando con el tran-
sistor". Existe traducción al español.
11. Explique en forma resumida y conceptual qué es, cómo funciona y cómo se fabrica
un circuito integrado. El artículo de 1970, "Large-Scale Integration in Electronics"
de F. G. Heath, publicado en la edición especial de 1991 sobre la ciencia en el siglo
xx de la revista Scientific American, muestra el desarrollo inicial de esta tecnología.
Una visión del futuro aparece en el artículo "Microprocessors in 2020", de David
Patterson, en la edición de septiembre, 1995. El número especial de esa revista citado
en el ejercicio anterior también lo incluye, y además contiene un artículo sencillo
Los inventores del transistor
sobre la fabricación de los circuitos integrados: "From Sand to Silicon: Manufac-
turing an Integrated Circuit", de Craig Barrett. Existe traducción al español.
12. Sobre la computación existen muchos mitos y medias verdades populares, como
aquello de que "las computadoras no se equivocan", y la correspondiente conclusión:
si es por computadora, entonces debe ser cierto y "científico". Critique y pondere
este tipo de conceptos.
13. El libro Manual práctico de la reencarnación,de J. H. Brennan, EDAF, Madrid, 1990,
contiene (págs. 118-121) un programa en el lenguaje BASIC para determinar la pró-
xima reencarnación de quien proporcione su fecha de nacimiento. ¿Qué opina sobre
un programa así?
14. ¿Es conveniente enseñar computación en las escuelas primarias? Organice un debate
sobre el tema. No se conforme con opiniones preelaboradas: analice y cuestione con
la mayor profundidad posible. El tema da para mucho más que un simple "por
supuesto", porque habría que considerar las necesidades, habilidades, expectativas
y visión de mundo de los niños, y contrastarlas contra lo que se requiere para trabajar
con una computadora. También deberá tenerse cuidado en no confundir el uso de
las computadoras con la enseñanza de la computación.
15. El notable empresario Charles Wang (de la familia de fabricantes de computadoras Ensamblado de circuitos
y sistemas de esa marca, citado por la revista Communications of the ACM, diciem- integrados
bre de 1995) advierte sobre los peligros de sustituir las habilidades sociales de
los niños con el uso de las computadoras: "¿Qué es mejor para un niño: jugar a solas
con una computadora o salir a jugar con sus compañeros?". Prepare su opinión
sobre el tema.
16. Aunque no sea agradable ni cómodo, un estudiante del nivel universitario ya debería
estar enterado de la realidad que lo rodea, para al menos tomarla en cuenta en su
esquema de las cosas y en su visión de mundo. ¿Sabe el lector, por ejemplo, que en
México el 10 por ciento de los hogares más pobres capta tan sólo el 4 por ciento de
la riqueza nacional, mientras que el 10 por ciento más rico tiene más del 55 por ciento?
¿O que el promedio nacional de educación es de 7.2 grados, o que en el medio rural
el 35 por ciento de las personas ni siquiera termina la primaria? Igualmente, menos
del 10 por ciento de los mexicanos ha viajado alguna vez en avión, o sólo un 15 por
ciento de las casas tienen teléfono. La situación global no es mucho mejor: el Banco
Mundial informó que en 1997 la tasa de crecimiento económico promedio de los
países "en vías de desarrollo" creció 4.7%, mientras que en 1998 bajó al 1.9%. Por
supuesto, esto implica menos recursos para salud y educación, pues la población
sigue aumentando. Cada año, por ejemplo, se infectan de malaria entre 300 y 500
72 Capítulo 1 Evolución de las computadoras

millones de personas, de las cuales mueren más de dos millones. Entre los 6,000 mi-
llones de habitantes del planeta hay todavía, por ejemplo, 800 millones con ham-
bre crónica, mil millones de analfabetos; 1,200 millones sin acceso a agua potable,
y centenares de millones más sin servicios de electricidad.
Averigüe sobre las principales cifras del desarrollo económico nacional (Pro-
ducto Interno Bruto, distribución de la riqueza, índices de pobreza, marginalidad, des-
nutrición, niveles de educación, empleo y otros) y sitúese en la realidad; confróntela
contra la propuesta de que "todo mundo debería tener acceso a Internet".
17. Reescriba la siguiente descripción, pero ahora en español: "Cuando el nuevo siste-
ma ha acabado de salvar los datos, corre un proceso que eventualmente consulta
las librerías a través de una interface serial. Como la información no está encriptada,
sí se puede monitorear, y todo eso resulta más barato que un sistema propietario
que soporte comandos asíncronos para accesar los archivos."
18. Cuál es su postura sobre la siguiente duda: ¿Será adecuado enfrentar la rigidez con-
ceptual y de manejo de las computadoras y sus programas (aunque sean a colores)
con la inherente dialéctica libertaria y audacia de pensamiento e imaginación de la
personalidad infantil (o al menos con la existente hasta antes de ser irremediable-
mente arruinada por la televisión)?

PALABRAS Y CONCEPTOS CLAVE

En esta sección se agrupan las palabras y conceptos de importancia estudiados


en el capítulo, con el objetivo de que el lector pueda hacer una autoevaluación
consistente en ser capaz de describir con cierta precisión el significado de cada
término, y no sentirse satisfecho sino hasta haberlo logrado. Se muestran en el
orden en que se describieron o se mencionaron.
FILOSOFÍA
CICLO DESCRIPCIÓN-REPRESENTACIÓN
FENÓMENO ANALÓGICO (CONTINUO)
FENÓMENO DIGITAL (DISCRETO)
GENERACIONES DE COMPUTADORAS
CHIP
MAINFRAME
MINICOMPUTADORA
MICROPROCESADOR
MICROCOMPUTADORA
RED DE COMPUTADORAS
ESTACIÓN DE TRABAJO
SUPERCOMPUTADORA
TECNOLOGÍAS DE INFORMACIÓN
DEPENDENCIA TECNOLÓGICA
PRODUCTO INTERNO BRUTO
ARQUITECTURA DE COMPUTADORAS
ARQUITECTURA CLIENTE-SERVIDOR
PREMIO ALAN M. TURING
RESPETO POR EL IDIOMA

REFERENCIAS PARA
[CORE91] Corcoran, Elizabeth, "Calculating Reality", en la revista Scientific American,
EL CAPÍTULO 1
enero, 1991.
Artículo sobre los nuevos tipos de arquitecturas de supercomputado-
ras; además, hace algunas comparaciones entre los principales mode-
los actualmente en funcionamiento. Existe traducción al español.
Referencias para el capítulo 1 73

[DAVG78] Davis, N. C. y S. E. Goodman, "The Soviet Bloc's unified system of computers",


Computing Surveys, Association for Computing Machinery, vol. 10, núm.
3, junio, 1978.
Interesante artículo publicado en una de las más prestigiosas revis-
tas de computación en el mundo. Trata con cierto grado de detalle el
desarrollo inicial y estado de las ciencias de la computación en lo que
fueron los países socialistas del área soviética.
[DENP71] Denning, Peter, "Third Generation Computer Systems", en Computing Surveys,
Association for Computing Machinery, vol. 3, núm. 4, diciembre, 1971.
Excelente artículo sobre el inicio de los sistemas operativos de las
computadoras, que explora y define los entonces novedosos conceptos de
multiprogramación, memoria virtual y otros adelantos propios de la naciente
tercera generación. Aunque es un artículo "muy viejo", las ideas y conceptos
aquí explicados siguen manteniendo su actualidad, además de estar tratados
en un nivel bastante comprensible. Después de leerlo, necesariamente
cambia la concepción (basada en la mercadotecnia) que suele tenerse con
respecto a las generaciones y los avances de las computadoras.
[GOLH72] Goldstine, H. Herman, The Computer from Pascal to von Neumann, Prin-
ceton University Press, New Jersey, 1972.
En este libro se analiza el desarrollo e invención de las computadoras,
desde sus orígenes remotos hasta la EDVAC. Incluye un interesante con-
junto de fotografías de las grandes computadoras de los años iniciales.
El señor Goldstine vivió algunas de las anécdotas descritas en el libro. A
los 50 años de la puesta en marcha de la ENIAC, Goldstine la volvió a ver
en funcionamiento, durante una ceremonia de aniversario en la cual se
restauró y se puso nuevamente en operación.
[LEVR82] Levine, Ronald, "Supercomputers", en Scientific American, enero, 1982.
Muy interesante artículo acerca de las primeras computadoras
especializadas para resolver enormes cantidades de cálculos, a velocida-
des de proceso de cientos de millones de instrucciones por segundo.
Presenta como ejemplos las máquinas STAR 100 (de CDC) y CRAY-1. (Las
máquinas diseñadas por la compañía de Seymour Cray (1925-1996) han
sido las virtuales portaestandartes del concepto de supercomputadora.)
Existe traducción al español.
[LUKH79] Lukoff, Herman, From Dits to Bits. A Personal History of the Electronic
Computer, Robotics Press, Oregon, 1979.
Aquí se describe, desde una perspectiva de testimonio, el nacimiento de
la computadora electrónica digital, pues el autor participó activamente en el
desarrollo de la UNIVAC I. La introducción del libro fue elaborada por: "Dr. J.
Presper Eckert y Dr. John W. Mauchly, inventores de la computadora electrónica".
[MACA88] Mackintosh, Allan, "Dr. Atanasoff's Computer", en Scientific American,
agosto, 1988.
Artículo que reivindica el trabajo del físico John V. Atanasoff, quien
entre 1937 y 1942 construyó la primera computadora electrónica digital, en
la Universidad de Iowa, en Estados Unidos. Incluye fotografías de la ya
desaparecida computadora ABC, y relata cómo los patrocinadores de la
posterior ENIAC perdieron la patente original luego de un juicio legal.
Existe traducción al español.
[PYLZ751 Pylyshyn, Zenon (ed.), Perspectivas de la revolución de los computadores,
Alianza Editorial, Col. Alianza Universidad, (núm. 119), Madrid, 1975.
En este compendio de artículos escritos por autores considerados
pioneros en la historia computacional se pueden encontrar descripcio-
nes de trabajos de científicos de la talla de Charles Babbage, Howard
Aiken, Alan Turing, John von Neumann y Claude Shannon, así como re-
flexiones acerca del impacto de las computadoras y la computación por
74 Capítulo 1 Evolución de las computadoras

parte de investigadores de ciencias sociales como Margaret Mead y


Herbert Simon (quien primero se distinguió por sus trabajos sobre com-
putación y lenguajes). Sigue siendo una referencia importante y válida.
[RUSB92) Russell, Bertrand, Los problemas de la filosofía, Colección Labor, Barce-
lona, 1992.
En este pequeño libro escrito en 1912, el inglés Bertrand Russell,
quien además de ser uno de los grandes matemáticos del siglo xx recibió
el Premio Nobel de Literatura en 1950 y fue fundador del tribunal interna-
cional para juzgar crímenes de guerra, desarrolla una intensa e inteligen-
te argumentación acerca de la necesidad de que exista la filosofía entre
los humanos, y hace una apología final de extrema belleza.
[ SLARS7] Slater, Robert, Portraits in Silicon, MIT Press, Massachusetts, 1987.
En este compendio se reseñan muchas de las personalidades más
importantes de la computación, desde sus orígenes hasta la revolución de
las microcomputadoras. Dedica varias páginas a cada uno de 31 investi-
Bertrand Russell (1872-1970) gadores que de una u otra forma fueron indispensables en el desarrollo de
la ciencia y la técnica de las computadoras y su impacto en la sociedad.
[SWAD93] Swade, Doron, "Redeeming Charles Babbage's Mechanical Computer",
en Scientific American, febrero, 1993.
En este artículo se ilustra (mediante una descripción, fotografías y
diagramas) cómo en el Museo de Ciencias de Londres recientemente se
construyó y probó el primer gran diseño de Babbage: la máquina de dife-
rencias, que serviría de base para su posterior (y nunca concluida) máquina
analítica. El autor describe la puesta en funcionamiento de una calculadora
de tres toneladas, realizada siguiendo los diseños originales de Babbage y
empleando tan sólo medios técnicos accesibles en su época; fue terminada
justo antes del 200 aniversario de su creador, yen su primera demostración
produjo las cien potencias iniciales de 7. El artículo incluye una lista de
libros sobre Babbage, y concluye con la frase "La máquina de diferencias
es una espléndida pieza de ingeniería: un monumento a la rigurosa lógica
de su inventor". Existe traducción al español.

S-ar putea să vă placă și