Ich bin im Jahr 1977 auf einen Computer gestoßen (das Wort Computer wurde damals nicht verwendet), es war nur ein solcher Kurs auf einem Mehmat. Fortran IV, Codes M-20, Algol-60, PL / 1, unmittelbar nachdem Uni in Programmierer (Systemprogrammierer!) Eingekommen war, und aus und an ...
Und vor ein paar Jahren habe ich aufgehört, aktiv aktiv zu programmieren, nur Skripte für mich selbst. Jetzt habe ich Aufgaben für eine Gruppe von Programmierern festgelegt.
Wie dem auch sei, während dieser Zeit gab es eine Reihe von lustigen und / oder interessanten (zumindest in Erinnerung gebliebenen) Geschichten, die ich Sie einlade, unter der Katze zu lesen. In Geschichten geht es nicht unbedingt ausschließlich um Programmierung, sondern vielmehr um das Leben eines Programmierers.
# 1
„Tags in Fortran sind durch Zahlen gekennzeichnet. Zum Beispiel kannst du GOTO 21 schreiben. Hee hee hee hee. “ - Fast alles, woran ich mich erinnern kann, als ich Fortran studiert habe. Von der ersten Aufführung an hat er (FORTRAN IV) mich nicht angesprochen. Das Interesse entstand viel später, als ich etwas überrascht war, dass die meisten Einzeloperatoren in Teams vieler Prozessoren implementiert sind. Warum er in der Tat lange Zeit der absolute Marktführer in Bezug auf Übertragungsgeschwindigkeit (sie sagten damals nicht "Kompilierung", und es gab tatsächlich keine) und Ausführungsgeschwindigkeit war.
# 2
- Nichts.
- Warum?
- Sie haben einen Programmfehler.
"Nun, ist das Ergebnis dann richtig?"
- Ja, aber es liegt ein Fehler im Programm vor. Es sollte nicht einmal ausgestrahlt werden
- Es gibt jedoch keine Broadcast-Fehlermeldungen und das Ergebnis ist korrekt. Gibt es keinen Fehler?
- Das kann nicht wahr sein.
- Haben wir einen Ausdruck von Hand gezeichnet?
- Nnu, ja, anscheinend ist alles richtig. Das ist - falsch! Die Zuweisung in Algol erfolgt durch
: = , und Sie haben nur ein Gleichheitszeichen, dies ist ein Vergleich. Ja, und hier und hier - das Programm kann einfach nicht ausgestrahlt werden.
- Aber die Sendung ist vorbei und das Ergebnis ist korrekt!
...
Ein lustiger Dialog wurde von uns provoziert. Das Symbol "Wagenrücklauf" in der Mitte der Zeile führte dazu, dass ein Teil der Zeile zuvor nicht gedruckt wurde. Der Ausdruck war also eigentlich ein Kommentar. Der Übersetzer (TA-1M auf BESM-4) ignorierte die Steuerzeichen und verarbeitete den realen Quelltext. Um den Effekt zu erzielen, genügte es, mit einer Rasierklinge ein paar zusätzliche Löcher in die Karte zu schneiden, damit sich die Lücke in CR verwandelte.
Am Ende wurden wir zum Dekanat gerufen und machten einen Vorschlag. Wir waren nicht die Pioniere des Witzes, und wir waren nicht nur neu in der Programmierung. Dies galt auch für einige Lehrer, zu dieser Zeit war es überhaupt nicht überraschend.
Oh, und ja - wir haben immer noch den Kredit.
# 3
Unmittelbar nach uni erfolgt die Verteilung an SoyuzEVMkompleks, einen Systemprogrammierer.
Die Arbeit war im Grunde so:Installation von Betriebssystemen auf einem EU-Computer. Übrigens hat es sich gelohnt, 2000 selbst kostete das Betriebssystem und 640 Rubel - Installation. Mit allen Schwänzen des damaligen Rubel-Wechselkurses können Sie zum besseren Verständnis die gleichen Preise in Dollar annehmen. Es wird deutlich, warum sich die damaligen Betriebssystemhersteller nicht in Gates verliebten, da seine Betriebssystemverkäufe zehnmal billiger waren.
Unterstützung für Programmierer an verschiedenen CCs beim Auffinden und Korrigieren von Fehlern in Programmen. In verschiedenen Sprachen, einschließlich COBOL, das ich eigentlich nicht kannte, und BASIC, das ich nicht wissen möchte.
Helfen Sie Elektronikingenieuren bei der Fehlerbehebung.
Letzteres war oft erforderlich. Der EC-Computer war nicht nur fehlerhaft, sondern auch ein Multiprozessorsystem. Die Eingabe / Ausgabe erfolgte durch separate Prozessoren (in Form von separaten Schränken) mit ihren Befehlssystemen und dementsprechend ihren "Kanal" -Programmen. Im Falle von Fehlfunktionen musste noch herausgefunden werden, was genau liegt: ein Gerät, ein Kanalprozessor oder der Hauptprozessor.
Channel-Programme, essno, waren Teil des Betriebssystems, aber um Fehler zu beheben, mussten Sie in der Lage sein, Ihre eigenen zu starten. Die Standarddateien können von der Festplatte heruntergeladen werden (spezielle Diagnose). Aber er könnte nicht arbeiten. Dann - mit Magnetband. Im schlimmsten Fall mit Lochkarten.
In den unverständlichsten Fällen musste ich dumm kleine Programme von der Fernbedienung in den Speicher hämmernSie schreiben ein Programm in Kanalprogrammcodes.
Sie geben die Adresse im Speicher mit den Schaltern auf der "Fläche" ein, Sie geben den Wert des Bytes ein.
Sie geben den Wert des adressierten Bytes ein, schreiben.
Sie geben die folgende Adresse ein, den folgenden Wert ...

Sehen Sie die schwarzen Räder unten? Hier auf der hexadezimalen Ziffer und abwickeln. Glücklicherweise waren die Programme kurz, in hundert, selten mehr Bytes.
In dem Fall, dass ein Lochkartenstapel auf einem Computer ohne Betriebssystem multipliziert oder gedruckt werden musste, wurden „drei Karten“ gespeichert. Ein wunderbares Programm von 240 Bytes. Sie legen drei Lochkarten in den Leser, booten von ihnen. Wenn die Karten in derselben Reihenfolge waren, ging das nächste Deck zum Ausdruck. In der anderen - zum Kopieren auf "Barmales", Lochkartenausgabe. Im dritten Fall wurde angenommen, dass das Deck das Programm in binärer Form enthält, das gestartet wurde. Dies waren nicht drei verschiedene Programme! Es war unmöglich, eine der Karten in einer der Optionen abzulegen.
# 4
Es gab viele Fehler, zum Beispiel bei Festplatten.
Fahren Sie EC-5061
Twisted dieses Laufwerk ein Paket von Festplatten mit einer Kapazität von 29 MB:

11 Scheiben, 20 Arbeitsflächen (Ober- und Unterseite werden nicht verwendet).
Der Beutel befand sich in einem Kunststoffgehäuse, das in das Laufwerk eingesetzt war, wonach das Gehäuse entfernt wurde. Für das weitere Verständnis sind diese Details von Bedeutung.
Es war nicht ungewöhnlich, dass ein Paket in diesem bestimmten Laufwerk nicht gelesen wurde, aber im nächsten wurde es normal gelesen. Es bestand die Gewohnheit, das Paket in einem anderen Laufwerk neu anzuordnen. Was zu folgender Geschichte führte:
Nachtschicht. Das Laufwerk ist abgestürzt. Der Bediener tauscht die Pakete in zwei Laufwerken aus. Normalerweise half es, aber jetzt gingen beide ins Bett. In diesem Fall befindet sich eine Verpackung mit einer Kopie der Daten im Regal. Er entfernt einen ausgefallenen, setzt einen Ersatz ein - er kann nicht gelesen werden! Er legt andere Pakete ab und versucht, zu einer anderen Aufgabe überzugehen - nein, nichts wird gelesen.
Endlich kommt der Morgen, der Rest des Personals kommt. Sie beginnen sich zu zerlegen und zu verstehen. Auf unbekannte Weise (es gab überall Filter) kroch eine Kakerlake in die Tasche. Und kam zwischen die Tasche und den Kopf. Der Kopf traf die Tasche und „zog“ hoch, wodurch ein hübsches Schlagloch in den Teller fiel. Nach Umlagerungen verwöhnte die zerbrochene Platte den Kopf beim nächsten Laufwerk und der zerbrochene Kopf die nächste Platte.
Am Morgen gab es einen totalen Router: Mehrere Lese- / Schreibköpfe, fünf oder mehr (ich erinnere mich nicht) Pakete - waren ruiniert. Verlust von 2500 Rubel, die sie versuchten, an einer armen Bedienerin mit einem Gehalt von weniger als 100 Rubel festzuhalten. Aber irgendwie haben sie es geschafft, alles auf die Bremse zu senken.
# 5
Die 80er näherten sich, Papier gehörte zu den Defiziten. Bei einigen CCs war die Situation so akut, dass Ausdrucke nach Recherchen (Suche nach Fehlern im Programm oder Anzeigen der Arbeitsergebnisse) gesammelt, sorgfältig entlang der Bruchlinien gesammelt, zusammengeklebt und für Arbeiten auf der Rückseite wieder gedruckt wurden. Tee oder ein Sandwich auf den Ausdruck zu legen, galt als unhöflich.
# 6
Ich habe das VTS-Werk in Taganrog bedient. Ich schleppte mich gut mit der Betriebssystemverteilung (wahrscheinlich zwei Magnetbandspulen mit einem Durchmesser von 30 cm, 20 MB und einem Gewicht pro Kilogramm) und Ausdrucken der Quellcodes der Programme, die sie dort geschrieben hatten, herum, damit sie zu Hause mit den Fehlern umgehen konnten, die sie suchten. Und der Checkpoint war hart ... der CC musste mir den Pass zum "Checkpoint des Generaldirektors" begradigen. Wie auch immer, die Ausdrucke wurden nicht ausgewählt. Aus Dummheit habe ich versucht zu erklären, dass Ausdrucke pah sind, hier sind die Bänder, ja, ich kann die ganze Pflanze zu ihnen bringen. Ich hatte fast den Punkt erreicht, dass sie aufgehört hatten, mich überhaupt gehen zu lassen - im letzten Moment wurde mir trotzdem klar und ich hörte auf.
# 7
Endlich ist es soweit, PC. Ich habe am Robotron-1715 gearbeitet.
Acht Bit, auf dem CPM, aber gut, qualitativ hochwertig, nicht ein paar unserer Sparks.
Aber der Raum war beheizt, gelinde gesagt, schlecht. Im Winter kommen Sie morgens - das Eis schwimmt in der Karaffe. Der Roboter schüttete, bis er sich erwärmt, in rasendem Tempo zufällige Zeichen von der Tastatur. Ich versuchte zu scherzen, dass er alles an einen Satelliten übertrug - es gab einen Mann, der glaubte :-) Auf jeden Fall begann der Arbeitstag damit, dass ich anderthalb Stunden lang die Baklusha schlug, Tee trank, mich aufwärmte und darauf wartete, dass sich der Computer aufwärmte.
# 8
Auf demselben Roboter begann ich, eine Lageraufgabe zu schreiben. Und um es in Pascal zu schaffen - nein, ich habe mich der Neuheit zugewandt, der damals modischen dBaseII. Dies ist genau das „DBMS“, aus dem die noch lebenden FoxBase und Clipper hervorgegangen sind. Alles wäre in Ordnung, aber die Dateien mit den Tabellen waren nur
Text , also nahmen sie viel Platz ein (aber Portabilität!).
Es war bereits unmöglich, die Plattform zu wechseln, und die Kunden forderten eine Vergrößerung der Basis, sogar Risse. Und wo kann man es auf einer Diskette erhöhen? Ich fing an, eine Bibliothek zu erstellen, so etwas wie ZIP mit UUCP in einer Flasche. Und damit die Dateistruktur nicht kaputt geht. Und - er schrieb, sogar im Moskauer Büro von Nantucket (Hersteller Clipper'a) haben sie darüber nachgedacht (vielleicht natürlich nur aus Höflichkeit).
Ja, und so: Fast genau an dem Tag, an dem ich alles vollständig getestet und bereit war, dem Kunden diese Option zu geben, kam die erste 5-Megabyte-Festplatte zu uns.
# 9
Und wieder Disketten. 5 ", 40 Tracks, 128 KB (sie haben mich korrigiert, 110 KB). Ich schreibe ein Programm und gebe es an den Kunden weiter (der sich übrigens jenseits des Polarkreises befindet). Der Prozess ist im Gange, sie korrigieren die Produktion unterwegs, ich korrigiere die Fehler im laufenden Betrieb, alles ist wie gewohnt.
Aber der Fortschritt steht nicht still, sie haben mir eine 80-Track-Flop-Linie gegeben. Hurra, 256kb (auch korrigiert, 360kb)! Aber nur für sich selbst haben Kunden alte Disketten. Und es begann ... Ich korrigiere das Programm, ich übertrage es an den Kunden - es funktioniert nicht. Die Regel, die ich sende, funktioniert nicht, und die Fehler sind so alt wie sie waren, sie sind geblieben. Ich überprüfe hundertmal - alles ist in Ordnung. Ich habe dort sogar eine Geschäftsreise hinter dem Polarkreis unternommen. In der Tat haben sie eine Version von "der Zeit von Ochakov und der Eroberung der Krim", obwohl die Diskette die ist, die ich übertragen habe. Wunder!
Aber ich habe es natürlich herausgefunden. Im 40-Spur-Aufnahmemodus schrieb ein 80-Spur-Flop-Guide nur 40 Spuren, hatte jedoch einen kleineren Kopf und die Breite der aufgenommenen Spur war viel schmaler. Beim Kunden las der 40-Spur-Flop-Dirigent eine breite Spur, ignorierte den schmalen neuen Rekord und nahm die alten Informationen, die zum Teufel aufgezeichnet wurden.
Hier habe ich sogar ein Bild gezeichnet - was ist passiert:

# 10
Im Laufe der Zeit wurden dBase- und Buchhaltungsaufgaben vergessen (ich habe sie mein ganzes Leben lang nicht geliebt, obwohl sie mich ehrlich sieben Jahre lang ernährt haben). Wie auch immer, ich bin erwachsen und schreibe bereits in C (nein, noch nicht in C ++) unter MSC 6.0 (nein, nein, nicht in MS Visual C).
Und - deja vu.
Ich schreibe ein Programm, ich gebe es den Kunden - ein Fehler. Ich mache eine Debug-Montage, ich fahre im Heck und in der Mähne - alles ist in perfekter Ordnung. Es kam zu dem Punkt, dass er die Antike erschütterte, in Codes und Müllkippen kletterte. Es stellte sich heraus, dass der Parameter short an die Funktion übergeben wurde. Short war damals 16-Bit. Und im Stapel unter dem Parameter wurden alle gleichen 32 Bits zugewiesen, ein Wort. Und, Straßenbahn-Tararam, in der Release-Kurzfassung wurde in der einen Hälfte des Wortes und im Debug geschrieben - in der anderen. Und es wurde immer aus der gleichen Hälfte gelesen. Also im Debug-Parameter richtig übergeben, und in der Freigabe von etwas Müll.
# 11
Ja, die Lageraufgabe hat mich in den schwierigsten Zeiten gefüttert. Und lehrte zu leben.
Ich mache die nächste Option für das nächste Büro. Ich gebe einen Bericht. Sie freuen sich, dass es funktioniert hat, aber sie fragen nach "Posting Nummer 8". Nun, ich frage, was es ist, ich korrigiere den Bericht. Sie freuen sich - bequem, schön, besser als auf Papier ... "aber wo ist die Verkabelung Nummer 8". Oh, ich bin einfach nicht aus dem Dampf gegangen - nein, nicht das. Nachdem er die Geduld verloren hatte, nahm er fast die älteste, einfachste und daher schnellste Version und schrieb im Großformat „Posting No. 8“ in der größten Schriftart, die der damalige (Matrix-) Drucker zuließ.
- Zum Schluss vielen Dank, wir freuen uns sehr!
Ich bin auch froh, die Fristen stehen schon auf der Nase. Und erst später wird mir klar, dass es nicht notwendig ist, im Übermaß klug zu sein. Sie müssen etwas tun, das in der Technologie funktioniert. Und noch etwas: Sie müssen nicht nur dem Kunden zuhören, sondern den Themenbereich selbst studieren, wenn Sie es gut machen wollen.
# 12
Unter Patientenführung aufzuwachsen ist praktisch, und der einfachste Weg, etwas zu erfinden, besteht darin, nicht zu wissen, was bereits getan wurde. Also bin ich aufgewachsen und habe mir neuronale Netze ausgedacht. Dieses Wort war damals, in den 80ern, nicht besonders gebräuchlich, ich kannte ihn nicht. Aber - ich habe es trotzdem geschrieben. Natürlich konnte es nicht ernsthaft verdienen, gute neuronale Netze wachsen auf guter Mathematik, und ich hatte so, Scheiße, dumme Arithmetik. Aber sie studierte und stellte sogar eine einfache Diagnose von Computerfehlern. Natürlich nur Demo-Level.
Wie erwartet wurde viel Speicher benötigt. Ich konnte nicht von Gigabyte RAM träumen, wo "640k sollte für irgendjemanden ausreichen" noch funktionierte. Der Adressraum ist 1 MB groß und der tatsächliche Speicher ist derselbe 640 KB.
Die Idee kam auf: den Speicher des VGA-Grafikadapters zu verwenden, da dieser einem gemeinsamen Adressraum zugeordnet war. Kaum gesagt als getan. Bis zu 256.000 Ergänzungen! Aus Geschwindigkeitsgründen wurde das Display ausgeschaltet, andernfalls arbeitete es aufgrund der Synchronisation mit dem Display extrem langsam.
Und manchmal schaltete es sich nicht aus, weil es verdammt interessant war zu sehen, wie der Bildschirm vom Lernen grau wurde, während Schwarz fortschritt und Überläufe bildete, die sich im Laufe der Zeit zu hellen Entscheidungspunkten bewegten. Viele Leute kamen, um zu sehen, wie die Maschine denkt.
# 13
Unter dieser Nummer nur über den Virus und erzählen. Zu dieser Zeit waren Viren eher lustig als bösartig, die Autoren waren mehr damit beschäftigt, einen Virus zu schreiben und einen lustigeren Effekt zu erzielen. Es gab einen Brandstiftungsvirus, als das Bild langsam ausbrannte. Diese Technik hat sich in Bildschirmschonern bis heute erhalten:

Es gab einfachere, zum Beispiel eine Flosse:

Irgendwann kroch er im Büro herum. Überall rufen sie mich als ehemaligen Systemingenieur um Hilfe. Nun, ich gehe, ich fliege Autos. Ich habe andere behandelt, nur für den Fall, dass ich an den ruhigsten Ort gehe, an dem ich nicht angerufen wurde. Überraschenderweise ist dies Buchhaltung. Es stellte sich heraus, dass Frauen sich nicht darum kümmerten: Sie stellten die Monitore auf den Kopf und arbeiteten ruhig weiter.
Ich weiß, ich weiß, viele sind auf eine ähnliche Beschreibung in Form eines Witzes gestoßen. Also: manchmal war es reine Wahrheit.
# 14
Nun, es funktioniert nicht für immer, es passiert am ersten April. Jetzt ist es irgendwie langweilig, aber bevor sie es versucht und erfunden haben. Es war sehr lustig auf Computern, mit dem Rücken zueinander zu stehen und Mäuse aufzurichten. Sie bewegen Ihre Maus - und nichts, der Cursor läuft einem Kollegen gegenüber. Plötzlich springt Ihr Cursor wild - dieser Kollege versucht auch zu verstehen, was was ist.
Wenn optische Mäuse auftauchten, funktionierte das Verkleben eines optischen Fensters mit einem Stück
rotem Klebeband gut. Die Maus funktioniert nicht mehr und Sie schauen von unten - alles scheint normal zu sein, sie leuchtet wie immer rot.
Eigentlich ist das alles. Es macht keinen Sinn, über die jüngsten Zeiten zu erzählen. Die jüngsten sind jedem bekannt, was er dort sagen soll. Und ich muss zugeben, ich bin bereits als Programmierer ein Zitatist. Manchmal schreibe ich Skripte für mich. Ich stelle Aufgaben für eine Gruppe jüngerer Kinder.
Ich möchte hinzufügen, dass im Verlauf des Kommentierens an ein weiteres Fahrrad erinnert wurde
# 15
Sie schoben die Erinnerung an ihren Platz. Der Schrank ist groß, 600 Kilogramm wiegen. Sie haben bereits in die Halle gezogen, jetzt schieben Sie es einfach auf den Boden, da alles auf Rädern ist ...
Nun, wir drücken, und dann beginnt sich der Doppelboden zu biegen und auseinander zu fallen. Stop - es wird einen halben Meter tiefer abstürzen und es dann bekommen. Ja, und seine Beine werden uns brechen. Es gibt nichts zu tun, Sie müssen es in den ganzen Ort schieben. Fast geschoben, und da fällt es durch.

Im Allgemeinen passierte diese Erinnerung fast die gesamte Halle und öffnete den Doppelboden wie ein Eisbrecher. Am Ende, näher an der Wand, war der Boden stärker und endete glücklich. Nun, bis auf den Wiederaufbau des Bodens.
# 16
Nun, ich erinnerte mich noch!
Als die Kontaktanzeigen erschienen, aber äußerst selten waren, gewöhnten sich mehrere Leute an, zu mir nach Hause zu gehen, um ihre Post zu senden oder etwas auszudrucken. Es war irgendwie unpraktisch, sich zu weigern, aber bald wurde es nur noch eine Bestrafung - sie begannen zu gehen, als ob ich es mir selbst schulde, als ob ich ihnen jetzt etwas schulde.
Aber einmal hatte ich fast einen Traum:MS Natural Tastatur. Dieser, der erste, der echte. Made in Mexico, wie alle coolen Drüsen von MS. Natürlich ohne russische Buchstaben. Die Leute waren im Ausland, gekauft, um hier teuer zu verkaufen. Sie haben den Computer verkauft, aber niemand nimmt die Tastatur. Also habe ich es sehr billig bekommen, obwohl MS Natural ziemlich teuer war.
Nach Hause gezogen, freue dich. Bereits am zweiten Tag begann er natürlich blind mit allen Fingern zu tippen.
Ja ... also, es kommt wieder einmal - er muss den Text eingeben. Mit einer einladenden Geste lächle ich breit und winke mit der Hand: "Ja, bitte setzen Sie sich, stopfen Sie es." Er zögerte, zögerte und ging. Aus irgendeinem Grund habe ich nicht gedruckt. Und andere wie diese wurden bald zunichte gemacht.
Übrigens schreibe ich diesen Text darauf und seit 1997 arbeitet er kontinuierlich und ohne Fehler. Hier ist sie, Schönheit:

Und einige nicht meine, ausgewählt aus Kommentaren, um zusammen zu sein:# 17
DrPass sagte:
Ich erinnerte mich an meine Geschichte vor 20 Jahren, kurz vor dem Flip, dem ersten April und der Geduld. Dann schickte ich meinem Freund ein solches Programm, oder besser gesagt, kein Programm, sondern ein SFX-Archiv mit gescannten Fotos. Fotos waren wirklich da und das SFX-Modul war gefälscht. Er hat nichts unrein gemacht (er brauchte es nicht, ich habe die Bilder einfach in JPEG gepinnt, wie es in den Ressourcen war), aber zusätzlich zu den Bildern aus den Ressourcen hat er beim Start ein Programm herausgezogen und geschrieben, das den Bildschirm dreht und das Fenster darauf schüttelt. Es stellte sich heraus, dass diese Sache laut ESC einfach ist. Nun, sie hat mich angerufen, gelacht und schon vergessen.
Ungefähr ein halbes Jahr später, als die Blätter fielen, fragte sie mich, wann ich diesen Dreck von ihrem Computer entfernen würde.
# 18
Jef239 sagte:
Lassen Sie mich Ihnen besser über die Schaufel erzählen. Duschanbe, der Dienst "09" (telefonische Anfrage), die gleichen RPs für 29 Megas, das Jahr ist um 1980. Duschanbe zeichnet sich dadurch aus, dass mehrmals täglich die Stromkabel umgeschaltet werden (wie in St. Petersburg auf Vaska) + in regelmäßigen Abständen nur ein Stromausfall.
, . , . — . , , .
— . . — .
#19
toivo61 :
… ( ). , «» . :-)
Bedal : 60 — .
#20
tiger_sc :
, , -2001. . — , , - 3-4 , 2-3. 1999 , 2000 2001- .