¿Cómo fue estudiar informática antes de que fuera ‘genial’ hacerlo?

Probablemente no tengo la edad suficiente para responder esta pregunta, ya que probablemente programé una computadora por primera vez a fines de los años ochenta, por lo que las cosas habían avanzado bastante desde que Bill Gates estaba en Harvard.

Sin embargo, para mí es todo lo contrario. El problema con el desarrollo de software que se vuelve “genial” es que rápidamente se convirtió en un campo menos tecnológico y más en un campo de medios.

Creo que el campo de la informática y la programación es infinitamente fascinante, pero el 99% de lo que lees en estos días no es tecnología, sino medios . Entonces, si desea leer sobre tecnología, rápidamente se encontrará leyendo sobre compañías de medios que venden publicidad, no computadoras.

En los años ochenta y noventa, el espacio informático era un lugar mucho más variado e interesante de lo que es ahora. Teníamos Acorn, Commodore, Atari, Sun Microsystems, Silicon Graphics (cuando hicieron cosas geniales), Psion, DEC y muchos otros. Hablamos de todo tipo de cosas nuevas como Plan 9, Inferno, Network Computers, si OS / 2 se quedaría y el nacimiento de nuevos lenguajes de programación como Python y Java. Incluso REBOL recibió una mención extraña en la prensa.

Ahora los servidores solo necesitan ser lo suficientemente buenos como para alojar anuncios, y los clientes solo necesitan ser lo suficientemente buenos como para verlos, por lo que la innovación real se ha detenido en gran medida.

Cuando las computadoras eran menos geniales de lo que son ahora, los medios en general las ignoraron, y eso probablemente fue algo bueno. En el momento en que se notaron como una plataforma de publicidad potencial, las computadoras no necesitaban mejorar, ya que ya eran lo suficientemente buenas como para mostrar anuncios a las personas.

En resumen, la escena informática solía ser mucho más interesante de lo que es ahora, para mí. Y no creo que sea solo mi charlatanería interior, creo que incluso si intentáramos reunir algunas estadísticas, veríamos una industria más rápida y variada en los años noventa de lo que tenemos ahora.

Quite los anuncios y los selfies y ¿qué nos queda, realmente?

¿Por qué crees que no fue genial antes de Bill Gates? No lo hizo genial. Ha sido genial desde Babbage.

Así que me interesé en la informática en mi adolescencia a mediados de la década de 1960 después de descubrir el documento de Claude Shannon sobre ratones mecánicos para resolver laberintos (intenté construir uno de estos con una pila de relés; no tenía suficientes relés, ratas :). Había libros que salían del MIT con todo tipo de cosas locas como esta; Era difícil no estar emocionado.

En 1968, diseñé y construí mi propia computadora de 8 bits a partir de circuitos integrados de lógica de transistor de diodo que recuperé de las tarjetas de PC militares sobrantes usando una antorcha de benceno para calentar la PCB para que con un ViceGrips pudiera arrancar el chip de la PCB. (Mi tasa de recuperación de chips fue de alrededor del 80%; si eso parece bastante desesperado, solo recuerde que estos eran chips de especificaciones militares de mediados de los 60 y no había forma de que pudiera comprar esos chips). Utilicé una línea de retraso de 8 bits, por lo que tenía un total de 256 palabras de almacenamiento, con un acumulador de 8 bits. Esta máquina definió mi noción de pequeño .

También me enseñó que construir cosas y editar circuitos electrónicos reales requiere mucho más tiempo que construir y editar cosas con un golpe de teclado y una tecla de retroceso. Eso realmente estableció mi entusiasmo por la programación; fue tan fácil en comparación con el hardware .

En 1969, fui a la Universidad de California en Irvine para comenzar una Licenciatura en Ciencias de la Computación (Irvine fue una de las primeras universidades en ofrecer esto). Un poco de experiencia en programación me consiguió un trabajo a tiempo parcial el verano anterior a mi ingreso, y terminé construyendo un sistema de tiempo compartido en minicomputadoras Data General, aprendiendo en la escuela ideas que incorporaría a ese sistema operativo a veces solo unos días después de conocerlas. [Recuerdo haber aprendido sobre las colas justo en el momento en que tenía que descubrir cómo hacer un seguimiento de los múltiples bits de trabajo que tenía que hacer el sistema operativo. Esta fue una excelente manera de aprender.] Ese sistema operativo se ejecutó en 16Kb de memoria * core * con un disco de intercambio de 256Kb cabeza por pista y manejó 4 usuarios interactivos en los teletipos ASR33.

Comencé a jugar con APL \ 360 en algún momento de 1970, corriendo en un modelo 360 40 con 128 Kb de RAM. Algunos momentos divertidos allí haciendo cosas con agujeros de seguridad en APL y el sistema operativo.

En 1972, comencé a compilar compiladores basados ​​en el papel compilador MetaII de 1965 de Val Schorre de 10 páginas. ¡Guau, podrías escribir compiladores completos usando técnicas de metacompilación!

En 1974, yo y mi amigo diseñamos una minicomputadora de 16 bits completa con memoria virtual desde cero, y construimos un sistema de fresado 3D con ella. Nunca logramos llevarlo al mercado. Pero, ¿construyes tu propia CPU y la usas para cortar metal ? Es emocionante colocar una cortadora giratoria en un bloque de aluminio lo suficientemente rápido como para romperla (malditamente peligroso también).

En 1976 tuve la suerte de trabajar en TRW Advanced Product Labs, donde construimos sistemas de microprocesador dual 6800 para ejecutar las primeras cajas registradoras electrónicas de May Company, conectadas entre sí utilizando una arquitectura de sistema distribuido que diseñé. Pude construir y probar las herramientas y compiladores del sistema de desarrollo.

Comencé mi propia compañía de software para construir SO y herramientas de desarrollo para máquinas 6800/6809. Como actividad secundaria, construí un terminal de exploración de ráster muy temprano (mucho antes de que las PC los tuvieran) y lo programé para jugar al ajedrez usando un BASIC compilado.

Eso me lleva a alrededor de 1978.

Entonces, mucho antes de que Bill apareciera, había MUCHAS cosas divertidas que hacer. Sobre todo, me mantenía ocupado haciendo cosas que no tenía derecho o experiencia para hacer antes, y eso lo convirtió en una maravilla; todo fue descubrimiento. Y las computadoras estaban hechas de componentes electrónicos de 5V; En general, es bastante difícil lograr que un programa fallido lo mate, por lo que puede llegar a un extremo y no morir (al menos si no cuenta las fresadoras).

Y no soy el primero en pasarlo bien haciendo esto. Hay toda esa gente en el MIT a fines de los años 50 y 60, y muchos, muchos otros en todo el mundo (¿recuerdan Dijkstra? Él inventó los semáforos para hacer que los SO multiprocesadores funcionen) en esas mismas décadas, que estaban ocupados inventando tecnología. Fue difícil no pasar un buen rato.

Las computadoras eran mucho más pequeñas. Se han vuelto computacionalmente masivos en comparación con las máquinas Data General originales en las que trabajé, y mucho menos el juguete de 8 bits que construí con DTL. Gran parte del cómputo masivo parece desperdiciado en capas de sustancia en estos días. (Mi sistema operativo 6800 se inició para manejar 15 usuarios en 1Mb de RAM en aproximadamente 4 segundos). Pero, podemos hacer muchas cosas más interesantes debido a la gran cantidad de RAM y CPU.

Cuando obtienes juguetes más grandes, tus ambiciones simplemente se hacen más grandes. Los cohetes de botella son divertidos, pero un Saturno V te llevará a la luna.

Lo que hago en estos días es crear herramientas de software para analizar y transformar automáticamente el software. Esto es muy difícil y, sin embargo, sigue siendo muy divertido. No suele migrar el código de misión del B-2 Stealth Bomber.

Comencé la programación profesional en 1978 en Australia.

Fue realmente fácil mantenerse motivado; Sabíamos que estábamos explorando una nueva tierra enorme que cambiaría el futuro. No sabíamos qué tan grande era esa nueva tierra en ese momento, pero sabíamos que era grande. Estábamos haciendo cosas que nadie había hecho antes.

En aquel entonces, si alguien te preguntaba qué hacías y decías “programador de computadoras”, era como si fueras una especie de genio, y tal vez yo era el primer programador que habían conocido. Fue como ser un astronauta.

Ahora no tanto.

More Interesting

¿Cuántas computadoras diferentes de las grandes empresas tienen el mismo diseño de CPU?

Si cada relación de causa y efecto puede modelarse como un cálculo (proceso determinista), ¿es la aleatoriedad verdadera una causa no causada (porque la aleatoriedad verdadera no puede surgir de la computación)?

¿Cuáles son los usos de las computadoras?

MySQL ¿La normalización de una base de datos reduce su velocidad o la aumenta y puede normalizarse en exceso?

Con respecto a estas últimas noticias de NSA pirateando nuestras bases de datos e invadiendo incluso redes gubernamentales altamente confidenciales, tengo una fuerte motivación para dedicarme al campo de la Criptografía. ¿Desde dónde y cómo debo comenzar?

¿Cuál es la mejor práctica: usar tablas db o colas de mensajes para moderar el contenido aprobado por humanos?

¿Cómo es la informática en NITW? ¿Debería preferirlo a TI en NITK?

¿Cómo se almacena la información en binario?

¿Las grandes empresas comerciales (como Glencore) están interesadas en el aprendizaje automático / IA?

¿Por qué es importante el cifrado?

En Xcode, ¿por qué no puedes construir y ejecutar un archivo C ++? Por ejemplo, ¿por qué tiene que crear un proyecto completo si lo único que desea ejecutar es un archivo C ++ para programar concursos, etc.?

¿Qué opinas sobre el libro 'Machine Learning Refined'?

¿Cuál es la explicación más simple y mejor de cómo Google realmente venció a los otros motores de búsqueda? Mejores algoritmos? ¿Mejor modelo de negocio? ¿Mejor diseño de portada?

¿Los personajes simulados por computadora son conscientes de sí mismos?

¿Qué significa 'legado' en el mundo de las computadoras?