Wątek przeniesiony 2021-06-09 13:15 z Nietuzinkowe tematy przez somekind.

Jak wyglądało programowanie w latach 90-dziesiątych?

0

ciekawą dla mnie sprawą jest programowanie w "zeszłej epoce" jak to było bez google, stack over flow, internetu
jak to było że było trzeba przeczytać dokumentacje techniczną albo iść po książkę której nie było tak łatwo zdobyć?

Jaki wtedy był sposób myślenia? Czym różniło się podejście do programowania?

Ciekawostki programowania PSX

0

jeżeli to był 2005 i googlersi, a zatem nieprzeciętni devowie, to w 90 pewnie było znacznie gorzej

8

W latach 90-tych się tylko bawiłam, ale zasadnicza różnica była taka, że wszytko miałam w głowie.
Składnię każdego polecenia potrafiłam napisać z palca, w stosunkowo rzadkich przypadkach sięgałam do książek z opisami poleceń.

Nie było kolorowania składni w edytorach. Jeśli sięgać aż do 8-bitowców, to na niektórych z nich nie było nawet tak naprawdę edytora kodu w dzisiejszym rozumieniu tego słowa. Każdy komunikat błędu przy poznawaniu czegoś nowego oznaczał wyzwanie intelektualne. Z resztą w przypadku znanych już poleceń często również, bo często jedyne co mówił, to syntax error in line xxx.

Jak dołożę do tego, że na pewnym etapie nie używałam komentarzy, nie robiłam wcięć, zmienne nazywałam w stylu: bzld1 a przepływ w programie opierał się na dziesiątkach goto, to jestem głęboko zdumiona, że to w ogóle działało, a ja nie dość, że coś z tych hieroglifów ogarniałam, to jeszcze czerpałam z nich satysfakcję :D

8

Pamiętam jak końcem lat 90 musiałem po książki na giełdę komputerowa jeździć do Krakowa. Książki były drogie. I nie było internetu. Teraz to bym juz nie umiał tak pracować.

1

Początek lat 90 to przede wszystkim Clipper, dBase i sieci oparte na produktach firmy Novella. Ktoś może jeszcze pamięta standard kodowania polskich znaków Mazovia na MSDOS :) I te sieci oparte na kablu koncentrycznym jak gdzieś kabel nie łączył to trzeba było obejść wszystkie stacje w budynku w poszukiwaniu "dziury" bo cała sieć przestawała działać. Dzisiaj już praktycznie nie usłyszysz w biurze dźwięku drukarki igłowej.

2

W pierwszej połowie lat 80-tych było w PL tylko kilka opracowań o uP. Dostępność specjalizowanych układów scalonych była w zasadzie żadna. Pierwszy bardzo prymitywny komputer jaki stworzyłem miał jedynie klawiaturę z kilkunastoma przyciskami pozwalającymi sprzętowo wpisać program do pamięci RAM w formie znaków HEX. W przypadku błędu trzeba było zaczynać od początku. Program można było wykonywać krok po kroku a diody LED na szynie danych i adresowej pozwalały stwierdzić czy prawidłowo się wykonuje. Później po zdobyciu pamięci ROM z generatorem znaków zbudowałem coś co obecnie nazywa się kartą graficzną. Współpraca z innymi maniakami skutkowała pojawieniem się procedur np. powalających odczytać znak z klawiatury QWERTY (oczywiście trzeba było ją samemu sobie zrobić) i wyświetlić go na ekranie. Czyli coś to było namiastką systemu prymitywnego operacyjnego. W drugiej połowie lat 80-tych kupno komputera ZX-Spectrum lub PC z system DOS zaczynało być realne. Pojawiły się języki typu Basic. Ograniczenia sprzętowe były jednak bardzo duże. Pisząc jakiś program trzeba było stale kombinować jak je ominąć.

6
UglyMan napisał(a):

Turbo Pascal juz cos tam malował składnie.

To chyba twój:
turbo_pascal.png

2
Freja Draco napisał(a):
UglyMan napisał(a):

Turbo Pascal juz cos tam malował składnie.

To chyba twój:
turbo_pascal.png

Może to zależy od wersji. Z tego co pamiętam - w Turbo Pascal 7.0 słowa kluczowe były białe, a wstawki assemblerowe były zielone.

8

Tak mi się przypomniało: rok szkolny 1989/90. W kioskach pojawia się magazyn gier z którąś już tam edycją słowa za milion:
https://gadzetomania.pl/3138,slowo-za-milion-bajty-z-broda

W pracowni komputerowej mamy ZX Spectrumy+, więc postanawiam napisać sobie program, który wyszuka wszelkie możliwe kombinacje dla wyrazów pięcioliterowych dających liczę różną od miliona o ±500. Rzeźbię go w domu w zeszycie, optymalizuję, jak umiem, wychodząc z założenia, że np. obowiązkowo musi wystąpić przynajmniej jedna samogłoska, a reszta liter jest dowolna. Po wklepaniu na kółku komputerowym nawet jakimś cudem działa i nie kwiczy. Działający program zapisuję na kasecie magnetofonowej. Odpalam produkcyjnie.

Siedzimy z kumplem i notujemy wyświetlane przez niego wyniki. Nie mamy z tym większych problemów, bo niestety pomimo wszelkich optymalizacji, policzenie wariantów z obowiązkowym "a" zajmuje prawie dwie godziny kółka, a przecież sprawdzić trzeba warianty dla:a, ą, e, ę, i, o, u, ó, y.

Na kółku jest niewiele osób, więc zaczynam rozważać, czy by nie wyżebrać od informatycy, żeby wyjęłam nam z pancernej szafy jeszcze kilka maszyn, żeby na nich odpalić kolejne instancje. Rozmarzam się i przypominam sobie, że kiedyś czytałam, że ZX Spectrum ma możliwość spięcia wielu maszyn w sieć, więc gdyby tak spiąć ze sobą 9 maszyn, rozdzielić obliczenia, a obliczone wartości wyświetlić na ekranie jednego.

Mieliśmy tam (chyba później) jakąś igłówkę z bladziawą taśmą, której raz nawet używałam, ale chyba jeszcze nie wtedy, więc zostaje klasyka: program przepisujemy z zeszytu do komputera, wyniki przepisujemy z ekranu do zeszytu :)

Niestety następnym razem nie było warunków, żeby z tym walczyć i generalnie zniechęciłam się faktem, że potrzebowałabym miesiąca i regularnej współpracy kolegi, żeby obliczyć te dane, więc odpuszczam i nie wygrywam komputera.

Generalnie dużo bliższa wygrania czegoś byłam ze dwa lata później, jak wykorzystując C64 jako jedna z kilkudziesięciu osób rozwiązałam jakiś konkurs Bajtka polegający na dekompresji danych. W trakcie obróbki dwa razy zapisywałam dane pośrednie na taśmie, a finalnie rozkodowany napis przerysowywałam przez kalkę z monitora.

Tak się - leszcze - programowało w latach 90-tych :D

3

Technikalia swoją drogą, ale najważniejsza różnica jest taka, że wtedy pracując w januszsofcie o tym nie wiedziałeś, bo to pojęcie nie zostało jeszcze wynalezione. ;)

1

Programowania w latach 90 nie zaznałem, ale pamiętam jak jako dzieciak obejrzałem około 96/97 film Hackers i tak to sobie wyobrażałem ;)

1

@Marcin Marcin:

Marcin Marcin napisał(a):

ciekawą dla mnie sprawą jest programowanie w "zeszłej epoce" jak to było bez google, stack over flow, internetu

jak to było że było trzeba przeczytać dokumentacje techniczną albo iść po książkę której nie było tak łatwo zdobyć?

Jaki wtedy był sposób myślenia? Czym różniło się podejście do programowania?

Generalnie było znacznie wyżej, lepiej ale trudniej, znaczy nie było pola dla miernot i frajerów!

Obecne programowanie to w zasadzie szmaciarstwo, niestety (wystarczy popatrzeć na te programy... pozalsieboze, haha!)
Obecni programiści nic nie wiedzą i nic nie potrafią - bo niby co co potraficie tak na serio: wykliklikać coś w wisualach, poskładać gotowce z netu? :)

4

W latach 90-tych na pewno było dużo trudniej niż teraz. Już gdzieś (Ściana wstydu) pisałem, że kodowałem w hermetycznych językach. DEX + DEXTERITY (późne lata 90-te) albo NATURAL wraz z bazą ADABAS na mainframe. To były hardcory. Nie pamiętam, czy DEX miał debuggera, ale NATURAL miał. Kiedyś miałem taką zagwozdkę, że (bardziej mietodą błędów niż prób) nauczyłem się (jako jedyny w firmie ) korzystać z niego. Jakaż to była radość! Zwłaszcza, że dokumentacji prawie wcale nie było, internet w wersji beta.
Lekko nie było, dlatego mam wielki szacun dla programistów starej daty - jeszcze starszej niż ja, bo wiem, że im było jeszcze gorzej.

7
Freja Draco napisał(a):
UglyMan napisał(a):

Turbo Pascal juz cos tam malował składnie.

To chyba twój:

Nie wiem jak starsze wersje, ale TP7 kolorował całkiem sprawnie. Domyślnie keywordy były na biało, czego nie widać na powyższym screenie.
Ja miałem ustawiony swój zestaw kolorów. Poniższy screen jest z Free Pascala, ale pod TP7 miałem takie same kolory:

screenshot-20210201143454.png

0

Pytanie do @jarekr000000 czy się wypowie?

6

Jako że wykopaliście trupa to się wypowiem. Temat lubię i w sumie ileś razy się wypowiadałem.
Z dzisiejszej perspektywy lata 90te (początek) w programowaniu to totalna amatorka i to ogólnoświatowo. Dopiero pod koniec XX wieku zaczęły wchodzic w użycie koncepcje takie jak automatyczne testy, CI. Ba, nawet wersjonowanie źródeł to była w większości firm totalna amatorka - wysyłamy sobie zmiany przez ftp, dyskietką itd.

Z mojej perspektywy - zacząłem gdzies w roku 1990 (chyba) na C64, pod koniec podstawówki. Zanim dostałem mój pierwszy komputr to byłem w stanie dwa razy dotknąć komputera. Dwa razy atari. Zresztą to samo. Potem właściciel kazał zabrać łapska. Widziałem jeszcze timex 2048 i to z prawie metra. Stałem nawet w kolejce, żeby dotknąć, ale zanim była moja kolej to się spalił. Poza tym widziałem jeszcze w telewizji (program Sonda). Fascynowało mnie to ostro - tak, że od czwartej klasy podstawówki robiłem sobie po amatorsku próby zrozumienia jak działają komputery korzystając z wiedzy w szkolnej bibliotece. Nic tam nie było, poza tym, że są tranzystory. Więc kułem te tranzystory (PNP, NPN) i na podstawie próbowałem dojść jak to działa - dość powiedzieć, że wyrobiłem sobie jakąś koncepcję, która była totalnie absurdalna. W końcu w radzieckiej encyklopedii https://archiwum.allegro.pl/oferta/encyklopedia-przyroda-i-technika-1969-wydanie-ii-i7424898142.html znalazłem 5 linii (serio) kodu maszynowego - to był przełom, a wkrótce potem dostałem C64.

Ogólnie uczenie się moje i innych w tym czasie było generalnie przypadkowe. jak przypadkiem znalazłeś książkę to coś się mogłeś dowiedzieć, czasem przydatnego. W krajach niekomunistycznych było dużo lepiej - były książki, ale trzeba było wiedziec jakich szukać - nie było internetu, a w książkach też są bzdury i wtedy też było dużo śmiecia.
C64 nauczyłem sie programować z podrecznika do atari basica (nic prawie nie działało) i nimeckiego handbucha (tu kod działał, ale nie rozumiałem co jest napisane). Przy okazji - czujecie?.. dostajecie podręcznik do kompa, a tam od pierwszego rozdziału jest programowabie i tak do końca... W sumie, byłem ostro cięty na programowanie, wiec pierwsze słabe gierki to robiłem w 2 dniu po dostaniu kompa. (Ale naprawde słabe).
Gdzieś po miesiącu dostałem książke o asm do c64 (frelek) i dopiero wtedy było pieknie. Pomijając fakt, że nie miałem assblera jako programu, miałem tylko podstawowy monitor pamięci, wiec w zeszycie klepałem sobie kod ( skoki względne w kodzie U2 przeliczałem i chyba nigdy nie trafiłem za pierwszym razem dobrze :-)
Potem była amiga (długo) i w końcu pecet, jak już można było nie używać dos.

Wierzyłem w totalne bzdury, że tylko assembler, a C jest dla lamoszczaków, co nie umieją pisać w ASM itd. Że im bardziej zagmatwany kod tym lepiej itp. Jeszcze w 2000 roku pracowałem w firmie, gdzie u programistów takie myślenie było normą.

Jest usprawiedliwienie, brak źródeł, ale jakby to wszystko podsumować to jedno jest pewne: bylismy wtedy strasznymi leszczami.

4
  1. Oprogramowanie było przeciętnie znacznie wyższej jakości niż obecnie. Było prostsze, ale to co było, działało.
  2. Mimo powolniejszych komputerów, oprogramowanie interaktywne działało szybciej. System operacyjny startował się 2 sekundy, IDE w trybie tekstowym startowało się mniej niż sekundę, programy kompilowały się w mgnieniu oka. Nie było laga po kliknięciu w menu i otwarciu np. opcji aplikacji.
  3. Kod który działał tydzień temu, działał również tydzień później. Nie było cudów, że ktoś usunął jakąś zależność z npm i popsuł pół internetu :D
  4. Programiści umieli pracować z danymi na dysku, zamiast tępo ładować wszystko do pamięci.
  5. Dokumentacja była szczegółowa i musiała zawierać absolutnie wszystko, bo Internet dopiero raczkował. Oprogramowanie przychodziło z papierowymi podręcznikami po kilka tysięcy stron!

I w sumie zastanawiające jest, jak to wszystko było możliwe bez automatycznych testów, wzorców projektowych i scrum masterów :D

1

@Krolik:

Oprogramowanie było przeciętnie znacznie wyższej jakości niż obecnie. Było prostsze, ale to co było, działało.

Ja pamiętam, że były całe tony błedów. Od błedów w inetrpreterach basica, do błędów w kompilatorach C/C++, systemach operacychnych i IDE. Ale że człowiek, miał przez rok, albo 2 tą samą wersję to się uczył jak błędów unikać, a błedy stawały się ficzerami. Całe życie na workaroundach ....

Mimo powolniejszych komputerów, oprogramowanie interaktywne działało szybciej. System operacyjny startował się 2 sekundy, IDE w trybie tekstowym startowało się mniej niż sekundę, programy kompilowały się w mgnieniu oka. Nie było laga po kliknięciu w menu i otwarciu np. opcji aplikacji.

O to prawda. C64 startował mi w 2 sekundy i wyświetlał ready. Amiga kilka sekund z dysku, ale też mogłem od razu potem kompilować. Cały czas mnie to śmieszy kal patrze na nowe maszynki. zwłaszcza porównanie z C64.

Kod który działał tydzień temu, działał również tydzień później. Nie było cudów, że ktoś usunął jakąś zależność z npm i popsuł pół internetu :D

To różnie, ale moim zdaniem nieprawda. Doprowadzenie do skompilowania kodu w C opartego o jakieś biblioteki i nagłowki to czasem była ostra walka i szukanie po kolegach brakujących includów. Masakra.
Najgorzej było w momencie przechodzenia z 16 na 32 bity - wszystko się rypało, kod często się kompilował, ale całkiem nie działal. Tylko losowo segfaultował w czasie działania (a tydzień wczesniej było ok - ktoś po prostu zapomniał że doszła jakaś flaga do kompilacji, która rozwala pół kodu, bo się alignment zmienił). Tak wspominam głownie czasy C/C++/

Programiści umieli pracować z danymi na dysku, zamiast tępo ładować wszystko do pamięci.

Ewidentnie nie tacy jak ja. Ja kupowałem RAM, żeby nie ładować z dysku - bo te były strasznie powolne. Nawet moja amiga 500 do dziś ma przez to 5 mb RAM (standard to był wtedy 1MB).

0

To jak to w końcu było?

0

Jeszcze taka jedna kwestia odnośnie stylu programowania:

Ogólnie programiści zdecydowanie częściej stosowali struktury danych o stałych rozmiarach. Zarządzanie pamięcią było trudne, więc malloc/free unikało się jak ognia. Pamiętam, że pierwsze programy jakie pisałem praktycznie nie używały alokacji na stercie. Dopiero potem przyszedł czas na programowanie obiektowe i nagle moje programy zaczęły alokować jak głupie (często to było wymuszane przez framework) i w efekcie się segfaultować, mimo znacznie większych umiejętności programowania ;)

0

W cobolu to mieli pliki sekwencyjne, indeksowane więc nie potrzebowali ramu :P

0

Z tymi strukturami o stałych rozmiarach i tablicami to chyba mocno zależy. Ja się nauczyłem C na amidze, przechodząc miekko z pisania w makro assemblerze. Ominął mnie w zasadzie Pascal/Turbo Pascal (cudem). Pisałem, rzeczy pod OS amigowy, który cały był na **listach ** zrobiony i dynamicznie - nic nie było stałego, co było fajne. Te wszystko ograniczenia typu, X handlerów na pliki itd. to coś co kojarze tylko z ksiązek o koszmarze pisania pod ms-dos, win16. Przez to pisanie z malloc / free było dla mnie naturalne (wprost z asma, gdzie też wołałem odpowiednik malloc zresztą). To, że oczywiście często mi to wszystko nie działało to inna sprawa :-).
Na amidze moim koszmarem było odpalenie programu w C ze wstawkami ASM i uświadomienie sobie w sekunde po run, że zapomniałem go zapisać... Pisałem w RAMdysku - bo było szybciej - dużo szybciej... Przez zo zwykle traciłem całkiem dużo pracy i czasu:-), bo przez brak ochrony pamięci zwykle kończyło się resetem i zniszczeniem kodu (czasem tylko udawało się odzyskać zawartość kodu po resecie z pamięci).

0
jarekr000000 napisał(a):

... i uświadomienie sobie w sekunde po run, że zapomniałem go zapisać... Pisałem w RAMdysku - bo było szybciej - dużo szybciej... Zwykle traciłem całkiem dużo pracy, bo przez brak ochrony pamięci zwykle kończyło się resetem i zniszczeniem kodu (czasem tylko udawało się odzyskać zawartość kodu po resecie z pamięci).

Na DOS-ie czasem ratował dupę program rezydentny Borland Sidekick, niekiedy żył jeszcze, gdy konsola DOS utraciła kontakt z rzeczywistością

2

@Marcin Marcin: Ogólnie było słabo, Balcerowicz, bieda, bezrobocie, ciuchy na targu, tania wódka od "ruskich na targu" upadek PGRów i innych państwowych molochów nierentownych.

3

Jeszcze dla przypomnienia, klasyk (już pastowałem linkl).

Marek Kotowski

Programowanie realne

PCkurier 13/1994

Programowanie realne jest dzieckiem pośpiechu, niekompetencji i bardzo często tzw. sytuacji. Nie jest dyscypliną, bywa natomiast rzeczywistością.

Termin ten — zabarwiony ironią — został ukuty dla określenia najróżnorodniejszych technik sztukowania i protezowania programów nie przemyślanych, źle zaprojektowanych, pisanych w pośpiechu, czy wręcz z zasady niemożliwych do zmodyfikowania. Nie ma w nim nic ze szlachetnej umiejętności programowania Dijkstry, przeciwnie: ma się tak do „zwykłego” programowania, jak w znanej anegdocie krzesło elektryczne do krzesła zwykłego. Nie jest nawet tym, co określa się mianem programowania trikowego (tricky programming) i co zazwyczaj oznacza używanie z rozmysłem pewnych szczególnych cech języka czy procesora. A prawdę rzekłszy, nie jest w ogóle programowaniem. Co najwyżej jego odbiciem w krzywym zwierciadle.

Reszta: https://www.facebook.com/notes/4501453399927482/

6

Ja pamiętam brak wszystkiego. Zaczynałem w pierwszej połowie lat dziewięćdziesiątych. Miałem C64, książkę do Basica po niemiecku. Nie wiedziałem jak się zapisuje programy, więc przepisywałem do zeszytu. :)
Jak otworzyli pierwszą kawiarenkę internetową w mieście to dopiero zaczęło się na poważnie. Do giełdy nie miałem dostępu, nawet nie wiedziałem, że jest coś takiego, wychowałem się w Polsce powiatowej. :)

Za to znam osobę, która pracowała jako programistka od początku lat siedemdziesiątych. Te opowieści są niezłe, przejście z taśm perforowanych na nośniki magnetyczne, potem dyski twarde (w zakładzie był pan, który zajmował się tylko i wyłącznie wymianą dysków, bo każdy ważył po 30 kilo, a programowaniem zajmowały się wyłącznie kobiety).

2

Tak mi się przypomniało jeszcze, może nie tyle odnośnie samego programowania, co ogólnie sposobu działania rzeczywistości.

Dzisiaj, jak widzisz komunikat błędu, którego nie rozumiesz, to wrzucasz ten komunikat w przeglądarkę i jest spora szansa, że w ciągu 30 sekund poznasz rozwiązanie.

Natomiast jak wyszło Windows 95, to pamiętam, że chciałam go sobie zainstalować obok mojego Windows 3.11, ale instalator uparcie twierdził, że on jest przeznaczony dla nowych komputerów, które nie mają jeszcze systemu operacyjnego. Przeczytałam dostępne komunikaty, próbowałam zmieniać katalogi docelowe i w końcu rozłożyłam ręce, a nikt mi nie umiał nic doradzić.

Kilka miesięcy później...
Jadąc autobusem spotkałam znajomego, w trakcie gadki szmatki, pożaliłam się, że mi się Win95 nie chce zainstalować.

  • A... to weź sobie na czas instalacji Win95 przenieś katalog z Win3.11 do jakiegoś podkatalogu.
    Problem rozwiązany.
0

Jeszcze podobno pensje się w kiblu dostawało

0

Mniej więcej tak:

1
iddqd napisał(a):

Za to znam osobę, która pracowała jako programistka od początku lat siedemdziesiątych. Te opowieści są niezłe, przejście z taśm perforowanych na nośniki magnetyczne, potem dyski twarde (w zakładzie był pan, który zajmował się tylko i wyłącznie wymianą dysków, bo każdy ważył po 30 kilo, a programowaniem zajmowały się wyłącznie kobiety).

Co do początku lat 70., tu jest krótka scenka pokazująca programowanie wtedy w Polsce na kartkach. :)
(pomijając już często młócony temat samego K-202)

1 użytkowników online, w tym zalogowanych: 0, gości: 1