¿Qué hicieron tus primeros fragmentos de código de computadora?

¿Puedo omitir el obligatorio ‘imprimir mi nombre’ en mi BBC B?

Advertencia: contiene referencias a ADA . Por favor no tengas pesadillas.

Si te refieres al programa ‘real’ … bueno, cuando estaba en la escuela, la idea de computar como asignatura era bastante nueva. No recuerdo haber hecho nada en la programación.

De hecho, no hasta que llegue a la Universidad.

Y lo recuerdo claramente. Eliminar el espacio en blanco duplicado de un cuerpo de texto de longitud arbitraria. es decir, dos espacios cuando debería haber uno; eliminar pestañas en la línea media, etc. Supongo que es una especie de analizador de texto limitado.

Tenía que estar escrito en ADA (yikes, hablar sobre hundirse o nadar) en un VAX / VMS … viejas pantallas verdes WYSE (aunque técnicamente ámbar en mi caso).

Oh chico … ADA … en 1990 tardó casi media hora en compilar incluso el programa más pequeño … aún … enseña a uno a ser cuidadoso y pensar antes de escribir … ¡eso es seguro!

PD: volví a visitar ADA hace poco. Recibí una sorpresa. Con el beneficio de algunos años de experiencia, ADA es realmente un lenguaje increíble. El hombre está apilado ! Recomiendo encarecidamente a cualquiera que lo haga girar si no lo ha hecho antes. Su material concurrente es realmente bueno … quiero decir REALMENTE bueno …

El primer programa que escribí fue escrito en Fortran y calculó el promedio de 10 números.

El segundo programa imprimió una tabla de “Biorritmos” como una gráfica usando espacios y asteriscos … básicamente solo la suma de tres ondas sinusoidales fuera de fase.

Después de eso … no recuerdo.

Hice esto en la escuela secundaria en 1972. No había computadoras en absoluto en la escuela, y nuestro maestro era nuestro maestro regular de matemáticas, que estaba aprendiendo sobre un capítulo por delante en el libro, y pronto se retrasó hasta el punto en que le estaban enseñando!

La única computadora que podíamos usar era un mainframe de IBM que la autoridad educativa usaba para procesar los cheques de nómina de maestros. Nuestro maestro los persuadió para ejecutar nuestros programas Fortran escritos a mano.

Así es como funcionó:

  1. Escribimos nuestros programas en formularios especiales en papel.
  2. Los enviamos por correo (publicación de segunda clase) al centro regional de computación.
  3. Cuando sus operadores de pulsación de teclas habían terminado su trabajo oficial, ponían nuestros programas de clases en tarjetas perforadas.
  4. Cuando las computadoras terminaron de procesar la nómina, pusieron nuestras pilas de tarjetas en la máquina como “Trabajos por lotes”.
  5. Los programas se compilarían y (si no hubiera errores) se ejecutarían. Cada uno estaba restringido a 30 segundos de tiempo de CPU, y el programa, la salida del compilador y cualquier salida del programa se imprimiría en su impresora de línea. ¡Estábamos limitados a 5 páginas de impresión!
  6. La impresión resultante se nos enviaría nuevamente (nuevamente, correo de segunda clase) junto con los formularios de codificación que habíamos enviado originalmente.

Este proceso generalmente tomaría más de una semana, por lo que escribiríamos el programa, ¡y tendríamos que esperar unos 10 días para ver si funcionaba!

Si hubo errores de compilación, ¡tenía que volver a escribir la versión fija en formularios en papel y repetir el proceso!

Con un tiempo de respuesta de 10 a 14 días, y solo una clase de un solo semestre de 10 semanas, nos volveríamos MUY buenos para verificar nuestro código antes de publicarlo.

Un año después, nuestro maestro de Matemáticas ofreció otra clase de programación, y esta vez nos proporcionaron golpes manuales para perforar nuestras propias tarjetas perforadas … ¡eso fue incluso peor que las formas de codificación!

Cuando comencé a programar en la universidad, conseguimos reservar tiempo para usar un teletipo en un mainframe Singer de tiempo compartido, y tener acceso a una gran máquina perforadora de tarjetas IBM 029 era como el cielo.

En mi segundo año en la universidad, teníamos una minicomputadora PDP 11/20 con un ‘teletipo de vidrio’ ADM3a y podíamos almacenar nuestros programas en cinta magnética.

En mi tercer año, tuvimos un nuevo PDP 11/40 que ejecutaba Unix v6 … ¡Dios mío! Eso fue como ciencia ficción para nosotros.

Poco después de graduarme, compré mi propio modelo TRS-80 … luego un clon de PC … luego un Atari ST y un Amiga … luego una PC que ejecutaría Linux … luego más y PC más elegantes …

Fue a finales de los años 60, en la Universidad de Manchester. Según recuerdo, tuvimos que hacer algún tipo de cálculo de fecha en Atlas Autocode (un lenguaje similar a Algol utilizado en Manchester). No teníamos acceso directo a la unidad central: teníamos que escribir nuestro código en tarjetas con formato especial, y los operadores ejecutan nuestro código y devuelven nuestra impresión al día siguiente. Como recuerdo, dejé un punto y coma en alguna parte, así que mi primera impresión estaba llena de mensajes de error del compilador, y decidí que la programación era realmente aburrida. Más tarde, a mediados de los años 70, comencé a usar FORTRAN en un teletipo de tiempo compartido (10 caracteres por segundo!) para ayudar a preparar rutinas de prueba para un transmisor satelital, y cambié de opinión y me enganché a la programación.

Me presentaron a la informática en 1976. Era estudiante de la Universidad de Loughborough en Inglaterra.

Parte de nuestro curso de Ingeniería fue informática y nos enseñaron a programar en Fortran IV

Usted escribió sus líneas de código y luego fue al centro de cómputo y se sentó en una gran máquina de teletipo e hizo una tarjeta perforada para cada línea del programa.

Luego entregó el paquete de tarjetas a través de una ventana y las colocó en una pila para que funcionen durante la noche en la computadora que era una máquina ICL 1900 y ocupaba todo el piso del edificio.

Esto fue cosas de vanguardia.

Al día siguiente, puede ir y recoger sus resultados de una habitación con tablas. Su impresión estaría allí y la pila de tarjetas en la parte superior. Ahora, como estudiante universitario, solo se le permitieron imprimir 4 páginas.

Así que ejecuté mi programa y se interrumpió y no obtuve mis resultados. Ahora, como sucedió, era amigable con un boffin de posgrado y él me dijo que el problema era el límite de 4 páginas y que si insertaba una línea de código adicional podría tener una cantidad ilimitada de papel.

Me puse la tarjeta extra y las entregué y esperé hasta el día siguiente.

Me enfrenté a una enorme pila de impresiones y a un gerente que no sonreía, que sin dudarlo me regañó y me expulsó del centro de cómputo durante un mes por no solo desperdiciar papel sino toda la noche. Hubo un error en el código y traté de dividir algo entre cero y mi anulación en el suministro de papel simplemente dejó que el programa se ejecutara hasta que el papel se terminó.

Las cosas están mucho mejor ahora, lástima que tuve que esperar hasta los 60 años.

El código de máquina (creado a mano, no ensamblado o compilado) se alternó en un panel frontal. El código era leer un teclado de teletipo y hacer eco en su impresora, buscando una secuencia de caracteres para salir. Trivial, pero no se me permitió usar un ensamblador hasta que demostré que pude codificar “metal desnudo”. Esto fue a principios de 1968 y yo tenía 12 años; más tarde ese año comencé a dar clases particulares a estudiantes de ingeniería de pregrado en FORTRAN y arquitectura de sistemas, mi primer trabajo remunerado en informática.

Días divertidos …

Lo primero que recuerdo es imprimir “cuál es tu nombre”, luego ingresaste tu nombre y luego imprimió “hola, “. Luego, más tarde, le preguntará sobre su edad y color favorito, y los comentará en función de lo que ingresó.

Así que había creado una Inteligencia Artificial, “al igual que las de las películas”: solo existía el pequeño problema de que la conversación era la misma cada vez, pero estaba bastante segura de que solo necesitaba agregar más if s 😀

Un par de décadas después, todavía no tengo idea de cómo debería funcionar esto.

Además de los ejercicios triviales de clase, mi primera exposición a una computadora fue un Sinclair ZX-81 que me prestaron. Usando BASIC, escribí un programa que pintaba un cuadrado de personaje en blanco o negro al azar, en una ubicación aleatoria x, y repetidamente en un bucle. ¡Fue genial ver algo dibujando cosas en la pantalla de mi televisor! Pero en realidad se volvió bastante aburrido después de unos minutos.

Después de adquirir un C64 en 1982, mi programación se volvió un poco más interesante.

  1. Escribí un editor gráfico de sprites en BASIC, para eliminar parte del tedio de definir los marcos para sprites animados. Eso fue parte de un esfuerzo mayor …
  2. … para crear un juego basado en la Guía del autoestopista galáctico. Llegué a hacer un sprite bulldozer animado (que estaba destinado a derribar la casa de Arthur Dent) antes de darme cuenta de que BASIC nunca iba a funcionar para un juego como ese.
  3. Escribí un desensamblador 6502 (en BASIC) que me permitió ver el contenido de la ROM C64, etc., para ayudarme a aprender a codificar en ensamblador, lo cual fue un descubrimiento nuevo para mí en ese momento.
  4. Cambiando a codificación en ensamblador, hice un controlador de luces de discoteca que usaba el puerto paralelo para controlar una matriz de 4 x 4 de bombillas de colores.
  5. Hice un editor hexadecimal y un programador de EPROM para poder guardar mis juegos y otros esfuerzos de codificación en chips EPROM que podrían cargarse instantáneamente a través del puerto del cartucho. Tenía la unidad Datasette pero era muy tediosa.
  6. Escribí una aplicación de despertador que mostraba la hora digitalmente usando una interfaz de 10 pies y me despertaba con el sonido de la melodía del tema ‘Magic Roundabout’ en armonía de 4 voces (el código de sonido que recibí de un artículo de una revista, yo ¡No hubiera elegido esa melodía yo mismo!)

Mi primer código fue técnicamente un juego de rol basado en texto en una calculadora TI83 + hace 15 años.

Mi primer código basado en computadora fue una calculadora de teorema de Pitágoras escrita en C #. Ingresaste la información que tenías y resolvió el resto. Era un proyecto para una clase en línea y, aunque inútilmente grande, estaba orgulloso de ello.

Se imprimió “¡Hola mundo!”. Bueno, en realidad encendió un LED en el tablero. La misma idea de lo contrario.

Fue para una clase de física. Calculó una órbita elíptica para un mítico asteroide alrededor del Sol, ignorando todos los demás planetas. Todavía tengo el programa en cinta de papel, solo que no tengo lector.

Mi primer script fue un .bat forkbomb básico.

Bueno, técnicamente mi primer script fue HTML que solía jugar con memes, pero no hizo nada. El script .bat en sí:

% 0 |% 0

Second Script fue un archivo .bat que borra toda su unidad C: \. He tenido muchas llamadas cercanas manteniéndolo con mis programas. El guión en cuestión:

@echo off
del C: \ *. * /

El tercero fue el bueno. Mi primer programa de JavaScript (para cualquier persona con baja tolerancia a las insinuaciones no lea todo el guión), todo lo que hizo fue aleatorizar una lista de preguntas sucias de verdad o desafío (lamentablemente no había descubierto completamente las funciones en ese momento) hecha como una broma para un amigo

var trueFalse = (Math.floor (Math.random () * 2));
/ *
________________________________________________________________________________________________________
* /
if (trueFalse === 0) {
console.log (‘¡Tienes Verdad! (ignora si has elegido)’);
} else if (trueFalse === 1) {
console.log (‘¡Te has atrevido! (ignora si has elegido)’);
}
var listNumber = (Math.floor (Math.random () * 39));

// La siguiente línea comienza con todos los resultados; no vincules estas 2 secciones

if (listNumber === 0) {
console.log (‘1. Verdad: ¿Cuál fue tu mejor experiencia sexual? Atrévete: sube a la mesa (o en el medio / frente) y haz un strip tease’);
} else if (listNumber === 1) {
console.log (‘2. Verdad: ¿Cuál es el tiempo más largo que le has dado cabeza? Reto: ata un tallo de cereza con tu lengua’);
} else if (listNumber === 2) {
console.log (‘3. Verdad: ¿Alguna vez harías un trío? Atrévete: con la ropa puesta (por ahora) supera a tu compañero y comienza a montar’);
} else if (listNumber === 3) {
console.log (‘4. Verdad: ¿Cómo te sientes acerca del sexo en grupos? Atrévete: Twerk solo en tu ropa interior’);
} else if (listNumber === 4) {
console.log (‘5. Verdad: ¿Alguna vez verías a tu pareja tener relaciones sexuales con otra persona? Atrévete: lame a su pareja (o persona a su izquierda) desde el cuello hasta el borde de su ropa interior’);
} else if (listNumber === 5) {
console.log (‘6. Verdad: ¿Cuántas parejas has tenido a la vez? Atrévete: chupa el ombligo de tu pareja por un minuto’);
} else if (listNumber === 6) {
console.log (‘7. Verdad: Describe cómo se siente tu orgasmo. Atrévete: lame o chupa los pezones de tu pareja por un minuto’);
} else if (listNumber === 7) {
console.log (‘8. Verdad: ¿Dónde está tu lugar favorito para ser besado? Atrévete: desenvuelve un caramelo en tu boca’);
} else if (listNumber === 8) {
console.log (‘9. Verdad: ¿Alguna vez lo has tomado en el trasero o lo harías? Atrévete: pon un caramelo envuelto en la boca y luego desenvuélvelo con tu compañero’);
} else if (listNumber === 9) {
console.log (’10. Verdad: ¿Cuál es el tiempo más largo que has estado sin sexo? Atrévete: quítate la ropa interior de tu pareja usando solo tus dientes ‘);
} else if (listNumber === 10) {
console.log (’11. Verdad: ¿Te gusta el sexo duro o lento? Atrévete: besa a tu pareja alrededor de su área “baja” (no la parte real) “);
} else if (listNumber === 11) {
console.log (’12. Verdad: ¿Prefieres estar arriba o abajo? Atrévete: baja la mano de los pantalones de tu compañero hasta la próxima ronda ‘);
} else if (listNumber === 12) {
console.log (’13. Verdad: ¿Cuál es tu posición favorita? Atrévete: besa a la persona a tu derecha (si está bien con tu pareja:]) ‘);
} else if (listNumber === 13) {
console.log (’14. Verdad: ¿Te gusta el anal? Atrévete: sin pantalones, siéntate en la “pieza de hombre” de la persona a tu derecha hasta la próxima ronda “);
} else if (listNumber === 14) {
console.log (’15. Verdad: ¿Cuál es tu posición menos favorita? Atrévete: sin pantalones, acuesta a tu pareja hasta la próxima ronda ‘);
} else if (listNumber === 15) {
console.log (’16. Verdad: ¿Cuál es la peor experiencia sexual que has tenido? Reto: Dale a tu pareja la cabeza durante 3 minutos ‘);
} else if (listNumber === 16) {
console.log (’17. Verdad: ¿Alguna vez has tenido relaciones sexuales afuera? Atrévete: toma un cubito de hielo y pásalo por el cuerpo de tu pareja hasta que se derrita ‘);
} else if (listNumber === 17) {
console.log (’18. Verdad: ¿Dónde es el lugar más extraño en el que alguna vez has tenido sexo? Atrévete: rocía crema batida (o cualquier otro alimento) sobre alguien del grupo y cómetelo ‘);
} else if (listNumber === 18) {
console.log (’19. Verdad: ¿Alguna vez has realizado una oral en alguien del mismo sexo? Atrévete: Muerde / besa el trasero de tu pareja ‘);
} else if (listNumber === 19) {
console.log (’20. Verdad: ¿Alguna vez has pagado por sexo? Atrévete: Masturbate frente al grupo (o solo a tu pareja) ‘);
} else if (listNumber === 20) {
console.log (’21. Verdad: ¿Quién fue tu primer compañero? Atrévete: Venda los ojos, gire durante diez segundos, a quien sea que esté señalando al final, vaya a la habitación contigua y disfrute de 7 minutos de cielo ‘);
} else if (listNumber === 21) {
console.log (’22. Verdad: ¿Alguna vez has hecho un video sexual tuyo? Atrévete: siéntate desnudo por el resto del juego ‘);
} else if (listNumber === 22) {
console.log (’23. Verdad: ¿Quién es tu estrella porno favorita? Atrévete: toma una selfie desnuda y envíala a tu pareja ‘);
} else if (listNumber === 23) {
console.log (’24. Verdad: ¿Cuál es tu tipo de porno favorito? Atrévete: Ve a la habitación contigua y haz un video de sexo con tu pareja durante 5 minutos ‘);
} else if (listNumber === 24) {
console.log (’25. Verdad: ¿Cuál es tu club de striptease favorito? Atrévete: dale un beso al privado de tu pareja ‘);
} else if (listNumber === 25) {
console.log (’26. Verdad: ¿Alguna vez has pensado en ser un stripper? Atrévete: Permanece afuera desnudo durante 3 minutos ‘);
} else if (listNumber === 26) {
console.log (’27. Verdad: ¿Prefieres encender o apagar las luces? Atrévete: dale una mano durante 3 minutos ‘);
} else if (listNumber === 27) {
console.log (’28. Verdad: ¿Importa el tamaño? Atrévete: Haz el amor con tu pareja solo durante 3 minutos (debe detenerse después de 3 minutos) ‘);
} else if (listNumber === 28) {
console.log (’29. Verdad: ¿Prefieres tener música de fondo o que sea silenciosa? Atrévete: quítate el sostén de tu pareja (o la mujer más cercana) usando solo tus dientes ‘);
} else if (listNumber === 29) {
console.log (’30. Verdad: ¿Prefieres que tu pareja guarde silencio o te gustan los gemidos? Atrévete: dale un masaje en la espalda a la persona a tu derecha ‘);
} else if (listNumber === 30) {
console.log (’31. Verdad: ¿Te gustan los juegos previos? Atrévete: levanta tu sitio porno favorito de tu teléfono ahora mismo ‘);
} else if (listNumber === 31) {
console.log (’32. Verdad: ¿Cuál es tu tipo de juego previo favorito? Atrévete: envía un desnudo a tu ex ‘);
} else if (listNumber === 32) {
console.log (’33. Verdad: ¿Has jugado juegos de rol? Atrévete: usa un par de ropa interior de tu pareja ‘);
} else if (listNumber === 33) {
console.log (’34. Verdad: ¿Cuál es tu fantasía de rol? Atrévete: pon un chupetón en el muslo interno de la persona a tu izquierda ‘);
} else if (listNumber === 34) {
console.log (’35. Verdad: ¿Cuál es tu “punto ideal”? Atrévete: Dale cabeza a la persona que está a tu lado durante 2 canciones completas “);
} else if (listNumber === 35) {
console.log (’36. Verdad: ¿Cuál es tu fantasía sexual más extraña? Atrévete: Haz que tu pareja se corra usando solo tus manos ‘);
} else if (listNumber === 36) {
console.log (’37. Verdad: ¿Alguna vez tendrías sexo por dinero? Atrévete: deja que tu pareja te frote los muslos, pero no te excites ‘);
} else if (listNumber === 37) {
console.log (’38. Verdad: ¿Qué tan flexible eres? Atrévete: haz un porno frente al grupo. Debes hacer todo lo que el grupo dice que haga ‘);
} else if (listNumber === 38) {
console.log (’39. Verdad: ¿Cuántos orgasmos has tenido en un encuentro sexual? Atrévete: Debes actuar como la esclava sexual de la persona a tu derecha. Haciendo lo que le digan durante los próximos 3-5 minutos. ‘);
} else if (listNumber === 39) {
console.log (’40. Verdad: ¿escupir o tragar? Atreverse: ir con los ojos vendados al armario, desvestirse y volver a vestirse con los artículos que solo están disponibles en ese mismo armario. ‘);
}

Escribí todo esto a los 12 años. Siento un sentimiento extremo por este código.

Por lo que recuerdo … Mi primer código imprimió “Hola mundo” … Y esa sensación después de compilar mi primer código es escasa 🙂

Tenía 8 años, y todo lo que hizo fue reproducir los sonidos molestos y molestos que mi cerebro de 8 años podía pensar, de forma inalámbrica (que tardó un tiempo en darse cuenta) para que nadie supiera de dónde venía.

Se estrellaron miserablemente.

Estaba destinado a ser un juego de ahorcado en QBasic, si esa es tu pregunta 🙂