Me encontré con una computadora (la palabra computadora no estaba en uso entonces) en el año 1977, era solo un curso como ese en un mehmat. Fortran IV, códigos M-20, Algol-60, PL / 1, inmediatamente después de que uni ingresó a los programadores (¡programadores del sistema!), Y de vez en cuando ...
Y hace unos años, dejé de codificar activamente, solo scripts para mí, ahora establezco tareas para un grupo de programadores.
Sea como fuere, durante este tiempo hubo una serie de historias divertidas y / o interesantes (bueno, al menos recordadas), que te invito a leer debajo del gato. Las historias no son necesariamente estrictamente sobre programación, más sobre la vida de un programador.
# 1
“Las etiquetas en Fortran se identifican por números. Por ejemplo, puedes escribir GOTO 21. Ji, ji, ji, ji. - Casi todo lo que puedo recordar sobre estudiar Fortran. Desde la primera actuación, él (FORTRAN IV) no me atrajo. El interés surgió mucho más tarde, cuando me sorprendió un poco ver que la mayoría de sus operadores uno a uno se implementan en equipos de muchos procesadores. Por qué él, de hecho, fue durante mucho tiempo el líder absoluto en velocidad de transmisión (no dijeron "compilación" en ese momento, y no hubo, de hecho) y la velocidad de ejecución.
# 2
- nada.
- por qué?
- Tienes un error de programa.
"Bueno, entonces, ¿el resultado es correcto?"
- Sí, pero hay un error en el programa. Ni siquiera debería ser transmitido
- Pero no hay mensajes de error de difusión y el resultado es correcto. ¿No hay ningún error?
"Eso no puede ser".
- ¿Dibujamos una impresión a mano?
- Nnu, sí, aparentemente, todo está correcto. Eso está mal! La asignación en Algol se realiza a través de
: = , y solo tiene un signo igual, esta es una comparación. Sí, y aquí, y aquí, el programa simplemente no se puede transmitir.
- ¡Pero la transmisión ha pasado y el resultado es correcto!
...
Un diálogo divertido fue provocado por nosotros. El símbolo de "retorno de carro" en el medio de la línea condujo al hecho de que parte de la línea antes de que no se imprimiera. Así que la impresión fue lo que en realidad fue un comentario. El traductor (TA-1M en BESM-4) ignoró los caracteres de control y procesó el texto fuente real. Para crear el efecto, fue suficiente cortar algunos agujeros adicionales en la tarjeta con una cuchilla de afeitar para que la brecha se convirtiera en CR.
Al final, fuimos convocados a la oficina del decano e hicimos una sugerencia. No fuimos los pioneros de la broma, y no solo fuimos nuevos en la programación. Esto también se aplicaba a algunos maestros, en ese momento no era del todo sorprendente.
Ah, y sí, todavía tenemos el crédito.
# 3
Inmediatamente después de uni, la distribución a SoyuzEVMkompleks, un programador de sistemas.
El trabajo fue básicamente así:Instalación de sistemas operativos en una computadora de la UE. Por cierto, valió la pena, 2000 en sí costó el sistema operativo y 640 rublos - instalación. Con todas las colas del tipo de cambio entonces rublo, para comprender, puede tomar el orden de los mismos precios en dólares. Queda claro por qué los fabricantes de sistemas operativos no se enamoraron de Gates con sus ventas de sistemas operativos diez veces más baratas.
Asistencia a programadores en diferentes CC para encontrar y corregir errores en los programas. En diferentes idiomas, incluido, por ejemplo, COBOL, que, de hecho, no sabía, y BASIC, que no quiero saber.
Ayuda a los ingenieros electrónicos en la resolución de problemas.
Esto último a menudo era requerido. La computadora EC no solo tenía errores, sino también un sistema multiprocesador. La entrada-salida fue realizada por procesadores separados (en forma de gabinetes separados) con sus sistemas de comando y, en consecuencia, sus programas de "canal". En caso de mal funcionamiento, aún era necesario descubrir qué es exactamente lo que hay: un dispositivo, un procesador de canal o el principal.
Los programas de canal, essno, eran parte del sistema operativo, pero para poder solucionar el problema, tenía que poder lanzar el suyo. Los estándares se pueden descargar del disco (diagnóstico especial). Pero podría no funcionar. Luego, con cinta magnética. En el peor de los casos, con tarjetas perforadas.
En los casos más incomprensibles, tuve que estúpidamente introducir pequeños programas en la memoria desde el control remoto.Escribe un programa en códigos de programa de canal.
Escribe la dirección en la memoria con los interruptores en la "cara", escribe el valor del byte.
Escribe el valor del byte direccionado, escribe.
Escribe la siguiente dirección, el siguiente valor ...

¿Ves las ruedas negras en la parte inferior? Aquí, en el dígito hexadecimal, y termina. Afortunadamente, los programas eran cortos, en cien, rara vez más, bytes.
En el caso de que fuera necesario multiplicar o imprimir una baraja de tarjetas perforadas en una máquina sin sistema operativo, se guardaron "tres cartas". Un maravilloso programa de 240 bytes. Pones tres tarjetas perforadas en el lector, arrancas desde ellas. Si las cartas fueron en el mismo orden, el siguiente mazo fue a la impresión. En el otro, para copiar en "barmales", salida de tarjeta perforada. En el tercero, se creía que el mazo contiene el programa en forma binaria, que se lanzó. ¡Estos no eran tres programas diferentes! Era imposible descartar cualquiera de las cartas en cualquiera de las opciones.
# 4
Hubo muchas fallas, por ejemplo, con los discos.
Drive EC-5061
Torció esta unidad de disco un paquete de discos con una capacidad de 29mb:

11 discos, 20 superficies de trabajo (no se utilizan las superficies superior e inferior).
La bolsa estaba en una carcasa de plástico, insertada en la unidad, después de lo cual se retiró la carcasa. Para una mayor comprensión, estos detalles son significativos.
No era raro que un paquete en este disco en particular no se leyera, pero en el siguiente se leía normalmente. Había una costumbre, si acaso, de reorganizar el paquete en otra unidad. Lo que condujo a la siguiente historia:
Turno de noche La unidad se estrelló. El operador intercambia los paquetes en dos unidades. Por lo general, ayudó, pero ahora ambos se fueron a la cama. Bueno, en este caso hay un paquete con una copia de los datos en el estante. Elimina uno fallido, coloca uno de repuesto, ¡no se puede leer! Coloca otros paquetes, intenta pasar a otra tarea, no, no se lee nada.
Finalmente, llega la mañana, llega el resto del personal. Comienzan a desmontarse y a entender. De manera desconocida (había filtros por todas partes) una cucaracha se metió en la bolsa. Y se metió entre la bolsa y la cabeza. La cabeza golpeó la bolsa y "se levantó", haciendo un bonito bache en el plato. Después de los reordenamientos, la placa rota estropeó la cabeza en la siguiente unidad, y la cabeza rota estropeó la siguiente placa.
Por la mañana, hubo una derrota total: varios cabezales de lectura / escritura, cinco o más paquetes (no recuerdo) se arruinaron. Pérdida de 2500 rublos, que trataron de colgar en una mujer pobre operadora con un salario de menos de 100 rublos. Pero de alguna manera lograron bajar todo en los frenos.
# 5
Se acercaban los años 80, el papel estaba entre los déficits. En algunos CC, la situación era tan grave que se recogieron impresiones después de la investigación (buscando errores en el programa o viendo los resultados del trabajo), se recogieron cuidadosamente a lo largo de las líneas de corte, se pegaron y se volvieron a imprimir para trabajar en el reverso. Poner té o un sándwich en la impresión se consideró de mala educación.
# 6
Serví a la planta VTS en Taganrog. Estaba cargando con la distribución del sistema operativo (dos carretes de cinta magnética de 30 cm de diámetro, 20 mb y peso por kilogramo, probablemente) bien, e impresiones de los códigos fuente de los programas que escribieron allí, para que en casa pudieran lidiar con los errores que pidieron encontrar. Y el punto de control fue duro ... el CC tuvo que enderezarme el pase al "punto de control del director general". De todos modos, las impresiones fueron puntiagudas. Por estupidez, traté de explicar que las impresiones son pah, aquí están las cintas, sí, puedo llevarles toda la planta. Casi llego al punto de que dejaron de dejarme ir; en el último momento, sin embargo, me di cuenta y me detuve.
# 7
Finalmente, ha llegado el momento PC. Trabajé en el Robotron-1715.
Ocho bits, en el CPM, pero bueno, de alta calidad, no es un par de nuestras chispas.
Pero la habitación estaba climatizada, por decirlo suavemente, mal. En invierno vienes por la mañana: el hielo flota en la jarra. El robot, hasta que se calienta, vertió caracteres aleatorios del teclado a un ritmo frenético. Intenté bromear diciendo que estaba transmitiendo todo al satélite; había una persona que creía :-) En cualquier caso, la jornada laboral comenzó con el hecho de que vencí al baklusha durante una hora y media, bebí té, me calenté y esperé a que la computadora se calentara.
# 8
En el mismo robotron, comencé a escribir una tarea de almacén. Y para hacerlo en Pascal, no, recurrí a la novedad, a dBaseII, de moda en ese momento. Este es el mismo "DBMS" del que han crecido FoxBase y Clipper. Todo estaría bien, pero los archivos con las tablas eran puramente de
texto , por lo que ocupaban mucho espacio (¡pero portabilidad!).
Ya era imposible cambiar la plataforma, y los clientes exigieron aumentar el tamaño de la base, incluso el crack. ¿Y dónde aumentarlo en un disquete? Comencé a hacer una biblioteca, algo así como ZIP con UUCP en una botella. Y para que la estructura del archivo no se rompa. Y, escribió, incluso en la oficina de Nantucket en Moscú (fabricante Clipper'a) lo consideraron (tal vez, por supuesto, solo por cortesía).
Sí, y así: casi exactamente el día en que depuré todo por completo y estaba listo para darle esta opción al cliente, nos llegó el primer disco duro de 5 megabytes.
# 9
Y disquetes de nuevo. 5 ", 40 pistas, 128 kb (me corrigieron, 110 kb). Estoy escribiendo un programa, pasándolo al cliente (por cierto, que está más allá del Círculo Polar Ártico). El proceso está en marcha, corrigen la producción sobre la marcha, corrijo los errores sobre la marcha, todo está como siempre.
Pero el progreso no se detiene, me pusieron una línea de flop de 80 pistas. ¡Hurra, 256kb (también corregido, 360kb)! Pero solo para ellos, los clientes tienen viejos disquetes. Y comenzó ... Corrijo el programa, lo transfiero al cliente, no funciona. La regla, la estoy enviando, no funciona, y los errores son antiguos como estaban, permanecieron. Vuelvo a verificar cien veces, todo está bien. Incluso hice un viaje de negocios allí, más allá del Círculo Polar Ártico. De hecho, tienen una versión de "la época de Ochakov y la conquista de Crimea", aunque el disquete es el que transmití. Milagros!
Pero lo descubrí, por supuesto. En el modo de grabación de 40 pistas, una guía de flop de 80 pistas escribió solo 40 pistas, pero tenía una cabeza más pequeña y el ancho de la pista grabada era mucho más estrecho. En el lugar del cliente, el conductor del fracaso de 40 pistas leyó una pista amplia, ignoró el registro estrecho y novedoso y tomó la información antigua registrada cuando el infierno.
Aquí, incluso hice un dibujo, lo que sucedió:

# 10
Con el paso del tiempo, se olvidaron las tareas de dBase y de tipo contable (no las he amado toda mi vida, aunque honestamente me alimentaron durante siete años). De todos modos, estoy creciendo, ya estoy escribiendo en C (no, no en C ++ todavía) en MSC 6.0 (no, no, no en MS Visual C).
Y - deja vu.
Estoy escribiendo un programa, se lo doy a los clientes, un error. Estoy haciendo un ensamblaje de depuración, conduzco en la cola y en la melena, todo está en perfecto orden. Llegó al punto de que sacudió la antigüedad, se metió en códigos y vertederos. Resultó pasar el parámetro corto a la función. Short era de 16 bits en ese momento. Y en la pila bajo el parámetro se asignaron los mismos 32 bits, una palabra. Y, tranvía-tararam, en el lanzamiento corto fue escrito en la mitad de la palabra, y en depuración, en la otra. Y siempre se leía de la misma mitad. Entonces, en el parámetro de depuración pasado correctamente, y en la liberación de algo de basura.
# 11
Sí, la tarea del almacén me alimentó en los momentos más difíciles. Y enseñado a vivir.
Hago la siguiente opción para la próxima oficina. Doy un informe Se alegran de que funcionó, pero piden el "número de publicación 8". Bueno, pregunto qué es, corrijo el informe. Se regocijan: cómodos, hermosos, mejores que en papel ... "pero ¿dónde está el cableado número 8"? Oh, no me quedé sin fuerzas, no, eso no. Finalmente, habiendo perdido la paciencia, tomó la opción más antigua, más simple y, por lo tanto, más rápida, y escribió en gran formato "Publicación No. 8" en la fuente más grande que permitía la impresora (matriz).
- Finalmente, muchas gracias, estamos muy contentos!
También me alegro, los plazos ya están en la nariz. Y solo más tarde me doy cuenta de que no es necesario ser inteligente con el exceso, debes hacer algo que funcione en tecnología. Y una cosa más: necesita no solo escuchar al cliente, sino estudiar el área temática usted mismo, si quiere hacerlo bien.
# 12
Crecer bajo el liderazgo del paciente es conveniente, y la forma más fácil de inventar algo es no saber lo que ya se ha hecho. Así que crecí y creé redes neuronales. Esta palabra era entonces, en los años 80, no particularmente en uso, no lo conocía. Pero, lo escribí de todos modos. Por supuesto, no podía ganar en serio, las buenas redes neuronales crecen en buenas matemáticas, y yo tenía, tonterías, aritmética tonta. Pero ella estudió e incluso hizo un diagnóstico simple de fallas en la computadora. Nivel puramente demo, por supuesto.
Como se esperaba, se necesitaba mucha memoria. No podía soñar con gigabytes de RAM, donde "640k debería ser suficiente para cualquiera" todavía funcionaba. El espacio de direcciones es 1 MB, y la memoria real es la misma 640k.
La idea surgió: usar la memoria del adaptador de gráficos VGA, ya que se asignó a un espacio de direcciones común. Apenas dicho que hecho. ¡Hasta 256k de suplementos! Para la velocidad, la pantalla se apagó, de lo contrario, debido a la sincronización con la pantalla, funcionó extremadamente lento.
Y a veces no se apagaba, porque era muy interesante ver cómo la pantalla se volvía gris por el aprendizaje a medida que el negro progresaba y formaba desbordamientos, que con el tiempo se agolparon en puntos brillantes de decisiones. Mucha gente vino a ver cómo piensa la máquina.
# 13
Bajo este número, solo sobre el virus y contarlo. En ese momento, los virus eran más divertidos que maliciosos, los autores estaban más preocupados por escribir un virus y tener un efecto más divertido. Hubo un virus incendiario cuando la imagen se quemó lentamente. Esta técnica ha sobrevivido hasta el presente en salvapantallas:

Hubo otros más simples, por ejemplo, una aleta:

En algún momento, se arrastró por la oficina. En todas partes me llaman para pedir ayuda, como ex ingeniero de sistemas. Bueno, voy, vuelo autos. Después de haber tratado a otros, en caso de que vaya al lugar más tranquilo, donde no me llamaron. Sorprendentemente, esto es contabilidad. Resulta que las mujeres no se molestaron: pusieron los monitores al revés y con calma continuaron trabajando.
Lo sé, lo sé, muchos se han encontrado con una descripción similar en forma de broma. Entonces: a veces era pura verdad.
# 14
Bueno, no funciona para siempre, sucede el primero de abril. Ahora es de alguna manera aburrido, pero antes lo intentaron e inventaron. Fue muy divertido en las computadoras, de espaldas el uno al otro, a los ratones en alto. Mueves el mouse, y nada, el cursor se cruza con un colega opuesto. De repente, el cursor comienza a saltar violentamente: este colega también está tratando de entender qué es qué.
Cuando aparecieron ratones ópticos, pegar una ventana de óptica con un trozo de cinta aislante
roja funcionó bien. El mouse deja de funcionar y miras desde abajo: todo parece ser normal, se ilumina en rojo como siempre.
En realidad, eso es todo. No tiene sentido contar sobre los últimos tiempos, los recientes son familiares para todos qué decir allí. Y, debo admitir, ya soy un citacionista como programador. Entonces, a veces escribo guiones para mí. Establezco tareas para un grupo de niños más pequeños.
Agregaré, una bicicleta más fue recordada mientras comentaba
# 15
Empujaron la memoria a su lugar. El gabinete es grande, pesa 600 kilogramos. Ya se han arrastrado al pasillo, ahora solo lo empujan al piso, ya que todo está sobre ruedas ...
Bueno, empujamos, y luego el piso elevado comienza a doblarse y desmoronarse. Deténgase: se estrellará medio metro hacia abajo, luego recójalo. Sí, y sus piernas nos romperán. No hay nada que hacer, debes empujarlo a todo el lugar. Casi empujado, y allí se cae.

En general, este recuerdo pasó por casi todo el salón, abriendo el piso elevado como un rompehielos. Al final, más cerca de la pared, el piso era más fuerte, por lo que terminó felizmente. Bueno, excepto para reconstruir el piso.
# 16
Bueno, todavía lo recordaba!
Cuando aparecieron los personales, pero eran extremadamente raros, varias personas se acostumbraron a ir a mi casa a enviar su correo o imprimir algo. Fue de alguna manera inconveniente negarse, pero pronto se convirtió en un castigo: comenzaron a ir como para mí mismo, como si ahora les debía algo.
Pero una vez tuve casi un sueño:Teclado MS Natural. Ese, el primero, el real. Hecho en México, como todas las glándulas geniales de la EM. Naturalmente, sin letras rusas. La gente estaba en el extranjero, comprada para vender cara aquí. Vendieron la computadora, pero nadie toma el teclado. Así que lo obtuve muy barato, aunque MS Natural era bastante caro.
Arrastrado a casa, regocíjate. Ya en el segundo día, naturalmente comenzó a escribir a ciegas con todos sus dedos.
Sí ... así que, una vez más, viene: necesita escribir el texto. Sonriendo ampliamente, con un gesto de bienvenida, agito la mano: "Sí, por favor siéntate, rellena". Él dudó, dudó, y se fue. Por alguna razón no imprimí. Y otros así pronto quedaron en nada.
Por cierto, estoy escribiendo este texto en él, y desde 1997 ha estado trabajando continuamente y sin falta. Aquí está ella, belleza:

Y varios no míos, seleccionados de los comentarios para estar juntos:# 17
DrPass dijo:
Recordé mi historia hace 20 años, sobre el cambio, el primero de abril y la paciencia. Luego envié a mi amigo dicho programa, o mejor dicho, no un programa, sino un archivo SFX con fotos escaneadas. Las fotos estaban realmente allí, y el módulo SFX era falso. No descomprimió nada (ni siquiera necesitó hacerlo, solo fijé las imágenes en JPEG, ya que estaba en los recursos), pero además de las imágenes de los recursos, también sacó y escribió un programa en el inicio que enciende la pantalla y sacude la ventana. Resultó que esto es simple, según ESC. Bueno, ella me llamó, se rió y ya se olvidó.
Unos seis meses después, cuando cayeron las hojas, ella me preguntó cuándo quitaría esta basura de su computadora.
# 18
Jef239 dijo:
Déjame contarte mejor sobre la primicia. Dushanbe, el servicio "09" (consulta telefónica), esos mismos RP para 29 megas, el año es aproximadamente 1980. Dushanbe se distingue por el hecho de que un par de veces al día hay un interruptor de los cables que suministran electricidad (como en San Petersburgo en Vaska) + periódicamente solo un corte de energía.
, . , . — . , , .
— . . — .
#19
toivo61 :
… ( ). , «» . :-)
Bedal : 60 — .
#20
tiger_sc :
, , -2001. . — , , - 3-4 , 2-3. 1999 , 2000 2001- .