Jak działali programiści, kiedy komputer był bardzo drogi, rzadki, tak duży jak pokój?

19

Zakładam, że nie byli w stanie siedzieć przed komputerem przez cały dzień, tak jak dzisiaj. Jak więc napisali swój program? Na kawałku papieru i wpisz go później, gdy komputer będzie dostępny? Jak oni przeprowadzili swoje testy?

Louis Rhys
źródło
9
Cóż ... z jednej strony naprawdę sprawdzili kod przed przesłaniem go do kompilatora. Nie ma przyjemności tracić cennego czasu na brakującym średniku.
Mchl

Odpowiedzi:

36

Około 1974 r. Siedziałeś przy wygodnym biurku i pisałeś swój program długimi rękami na papierze. Przetestowałbyś to, przechodząc przez głowę za pomocą danych testowych. Gdy będziesz zadowolony, że twój program jest poprawny, pójdziesz do pokoju kart dziurkacza i transkrybujesz swój program na karty dziurkowania, po jednej linii 80 znaków na kartę. Dziurkujesz również karty za wszelkie dane, których może potrzebować Twój program. Następnie wybiłbyś kilka niewiarygodnie tajemniczych kart w języku Job Control Language (JCL), które informowałyby komputer, jak skompilować i uruchomić program oraz jakich urządzeń wejścia / wyjścia użyłby. Następnie zabrałbyś swoje karty do „okna IO”, gdzie podałeś je urzędnikowi.

Gdy nadejdzie twoja kolej, urzędnik załaduje twoje karty do zasobnika i wciśnie przycisk informujący komputer, aby zaczął je czytać. Dane wyjściowe programu zwykle byłyby przesyłane do drukarki liniowej lub plotera bębnowego. Po zakończeniu programu urzędnik zbierze twoje karty i wydruk, a następnie umieści je w gołębiej dziurze, gdzie będziesz mógł je odebrać. Odbierzesz dane wyjściowe, przejrzysz wyniki i powtórzysz proces. Pełny cykl zajmie od 20 minut do 24 godzin. Prawdopodobnie możesz sobie wyobrazić, że nie byłeś szczęśliwy, gdy okazało się, że jedynym wyjściem był wydrukowany komunikat kompilatora informujący, że w programie wystąpił błąd składniowy.

Możesz także mieć dostęp do komputera za pośrednictwem teletype, dzięki czemu możesz mieć interaktywną sesję z komputerem zdalnym. Jednak pisanie na teletypie było fizycznie bolesne (bardzo sztywne klawisze i głośne), więc ogólnie nadal pisałeś i testowałeś swój program na papierze.

Do 1976 r. Systemy UNIX i minikomputery, takie jak PDP 11-70, stały się coraz bardziej popularne. Zwykle pracowałeś w pokoju pełnym terminali wideo z wyświetlaczami o wymiarach 25x80. Zostały one podłączone do komputera za pomocą linii szeregowych. Surowy, ale nie tak bardzo podobny do dzisiejszej pracy w wierszu polecenia. Większość ówczesnych redaktorów była jednak dość kiepska. Vi była niesamowitą poprawą.

Charles E. Grant
źródło
7
Również numerowanie kart dziurkowanych było bardzo dobrym pomysłem w przypadkach takich jak upuszczenie paczki kart.
sharptooth
2
Znana była historia o tym, jak jakiś szef dał swojemu asystentowi tacę kart dziurkacza zawierającą zestaw liczb losowych. Asystent upuścił tacę i karty poszły na podłogę. Nie wiedząc, co jeszcze zrobić, asystent podniósł karty i spędził kilka godzin sortując je w kolejności numerycznej, co oczywiście zepsuło ich losowość.
Charles E. Grant
3
@Louis Rhys: Czy ten link pomoże? en.wikipedia.org/wiki/Punched_card
sharptooth
1
Stare dobre czasy. Gdy keypunch był zasobem udostępnionym. I mieliśmy małe naklejki z czerwonymi kropkami, które moglibyśmy umieścić na naszej talii kart, aby pokazać, że to był priorytet i że najpierw zostaną umieszczone w zasobniku kart.
S.Lott
6
Nie zapominajmy nawet o tym, w jaki sposób egzekwowało to kierownictwo. Twój dział został obciążony opłatą za czas na komputerze mainframe.
Incognito
3

Nauczyłem się programowania w PL / 1 w 1975 r. (Na IBM 370/168 ), jako nastolatek (urodziłem się w 1959 r.). Miałem zaszczyt mieć ojca pracującego w IBM France. Jego szef, M. Dornbush, napisał książkę (po francusku) o programowaniu w PL / 1.

W tym czasie program (tak jak ktoś, kto uczy się programowania) był pakietem kilkuset perforowanych kart. Odpowiedź Charlesa E.Granta opisuje ten proces: najpierw napisałeś swój program na papierze i sprawdziłeś go dość dokładnie. Następnie uderzyłeś karty (w maszynie z klawiaturą IBM29 ), a na końcu włożyłeś talię kart do czytnika kart perforowanych. Zauważ, że w tamtym czasie programy źródłowe były dość małe (program składający się z kilku tysięcy instrukcji - czyli kart perforowanych - był bardzo dużym programem).

Jako nastolatek byłem pod wrażeniem umiejętności kompilatora kasy PL / 1, w szczególności sugerowania poprawek w literówkach.

W następnych latach grałem ze starym komputerem CAB / 500 i komputerem IBM / 1620 w muzeum nauki Palais de la Découverte w Paryżu (oba komputery były na tyle duże, że mogły usiąść w muzeum). CAB / 500 został wyprodukowany w latach 60., a mój ojciec napisał kompilator PAF (rodzaj języka BASIC), gdy byłem niemowlęciem lub małym dzieckiem (1958–1962).

Dziś wciąż robię rzeczy związane z kompilatorami ( MELT ) i jednym z niewielu, którzy mogą twierdzić, że widział, jak jego własny ojciec pisze kompilatory!

Zabawne z PAF na CAB / 500 był jego interaktywny edytor (z fizycznym tty i perforowanymi taśmami) zdolny do ukończenia (na słowach kluczowych). To było trochę jak oryginalny komputer IBM, w jakiś sposób „komputer osobisty”.

Zabawne w IBM / 1620 było to, że trzeba go było uruchomić, wprowadzając kilka cyfr na klawiaturze, aby załadować monitor i kompilator Fortran.

Zauważ, że w latach 50. niektóre komputery nie miały nawet czytników kart dziurkowanych (AFAIK było opcjonalne w IBM650 i IBM7094), ale nigdy ich nie widziałem.

Zauważ też, że dostęp do komputerów w połowie lat 70. był ogromnym przywilejem (ponieważ były to kosztowne urządzenia). Być może dzisiejszym odpowiednikiem może być dostęp do maszyn do produkcji krzemu lub mocy obliczeniowej w skali centrum danych.

Basile Starynkevitch
źródło
2

To zależy od tego, jak daleko chcesz się posunąć.

W najwcześniejszym „Programowaniu” stosowano poncz, który wyglądał tak: To (to jest kobol)gdzie wypisywali swój kod przy bardzo niewielkim oddziaływaniu na coś szczególnie elektrycznego, a następnie podawali je (kiedy rzeczywiście mieli szansę) do jednego komputera w budynku, aby kod działał przez chwilę i wypluł wydruk z jakiejś formy . Często wielu ludzi chciało korzystać z tego samego komputera, więc na wyniki trzeba było czekać do kilku dni (jeśli był naprawdę zajęty), co częściej nie byłoby całkowicie bezużyteczne (ty myśl, że uzyskanie błędu składniowego może być frustrujące. Wyobraź sobie, że musiałeś całkowicie ponownie napisać sekcję kodu, a następnie zaczekać dzień, aby ją skompilować). Nie musieli sprawdzać danych wejściowych prawie tak samo, ani przeprowadzać testów użyteczności ani żadnych innych krytycznych testów, ponieważ ponieważ komputery były tak rzadkie, „

Kiedy PDP i jego ekwiwalenty stają się bardziej popularne, programista (szczególnie w środowiskach akademickich) zapisuje swój kod na papierze, a następnie rezerwuje czas w PDP, aby wpisać swój kod i uruchomić go kilka razy. Nie mieli dużo czasu, chyba że pracowali w małych porannych godzinach, więc ludzie nie spali całą noc tylko po to, żeby przygotować swój kod do uruchomienia, nie było rzadkością, a ograniczona dostępność czasu na „prawdziwych” urządzeniach PDP (lub równoważny) prowadzi do tego, że wiele grup buduje własny klon, aby uzyskać nieco więcej czasu.

Trezoid
źródło
1

Powiedziałbym, że w tamtych czasach używanie programu komputerowego mogło być nieco łatwiejsze niż pisanie go dzisiaj. Biorąc pod uwagę, że dzisiejsze IDE jest o wiele bardziej przyjazne dla użytkownika niż interfejsy użytkownika programów komputerowych, nawet gdy miały zdalne terminale szeregowe. Większość programów używała tajemniczych nieudokumentowanych sekwencji klawiszy lub poleceń.

Moje jedyne doświadczenie ze starożytnymi systemami komputerowymi to stara kolorowa drukarka fotograficzna Kodak 2610. Uruchomił się z szeregowego TTY za pomocą czytnika pasków optycznych. Podczas pracy musiałem ponownie uruchomić go tylko raz po awarii powe.

Kontrola poleceń została wykonana przez szeregowy terminal vt100, ale cała konfiguracja została zapisana i przywrócona za pomocą mechanicznego terminalu, który mógł odczytywać i zapisywać paski papieru.

Ernelli
źródło
-1

Pamiętam, jak moja mama powiedziała mi, że programuje na studiach (około 1969–1970). Powiedziała, że ​​pierwszego roku używali kart dziurkowanych, co było bolesne. W drugim roku dostali PDP-8, który był niesamowitym komputerem i myślę, że mieli terminal, a przynajmniej papierową taśmę.

Myślę, że pracowała w fortran i seplenienie.

Zachary K.
źródło