Lista pecet@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [PECET] 386DX-40 plus nostalgia...

To: pecet@man.lodz.pl
Subject: Re: [PECET] 386DX-40 plus nostalgia...
From: Tomasz Holdowanski <mordazy@USUN-TO.poczta.onet.pl>
Date: Wed, 19 Feb 2014 10:07:22 +0100
Deep inside the Matrix, convinced that Tue, 18 Feb 2014 15:01:24 +0100
is the real date, GAD Zombie <gad@USUN.gad.USUN.art.pl> has written
something quite wise. But (s)he wasn`t the one.

>W dniu 2014-02-18 14:52, Przemysław Ryk pisze:
>> Dnia Tue, 18 Feb 2014 14:19:02 +0100, Tomasz Holdowanski napisał(a):
>>
>>> Niekoniecznie. Jeśli przyjrzeć się komputerom z różnych epok,
>>> zobaczysz, że czas bootowania typowego ówczesnego systemu wcale nie
>>> odbiega od tego co jest dzisiaj, a nieraz jest wręcz krótszy. Szybkość
>>> pracy w np. edytorze tekstu z epoki też będzie mniej więcej
>>> porównywalna. Mało tego, ma się wielokrotnie wrażenie, że stary soft
>>> był bardziej dopieszczony. Im szybszy sprzęt, tym wolniejsze, bardziej
>>> niechlujnie napisane oprogramowanie...
>>
>> Może nie tyle niechlujnie (choć oczywiście to też ma jakiś wpływ), co
>> ciągnie za sobą całkiem spory bagaż z poprzednich wersji. Stety i niestety.
>> Nie jestem akurat przekonany, czy przepisanie takiego Photoshopa od A do Z
>> na dzień dobry nie zaowocowałoby znacznie większą ilością bugów, niż ma to
>> miejsce w chwili obecnej.
>
>To o wiele bardziej obszerny temat.
>Przede wszystkim zmieniły się środowiska, dla których i w których się pisze.
>Weźmy taki uproszczony przykład. Wyświetlenie tekstu na ekranie. Kiedyś 
>wrzucało się parę bajtów do pamięci ekranowej w trybie tekstowym i 
>człowiek widział tekst. Dziś trzeba odnieść się do wielu funkcji 
>systemu, by wyciągnąć font TrueType, czy inny i graficznie namalować ten 
>tekst w jakimś obszarze ekranu, dbając o antyaliasing, przycinanie, 
>kolorowanie i inne ciekawe rzeczy. Aby nie mrugało używany jest jeszcze 
>doublebuffering. I tak z prostej czynności robi się gigantyczny 
>program, który w efekcie robi to samo - pokazuje napis na ekranie.
>Spróbuj wyświetlić taki tekst na komputerze 286 w takiej samej 
>rozdzielczości, jaką masz dziś na ekranie i takim samym fontem.
>To tylko przykład, ale takie zmiany są w każdym miejscu i stąd programy 
>potrzebują znacznie większej mocy obliczeniowej niż kiedyś, chociaż 
>pozornie robią prawie to samo.
>A niechlujność niektórych programistów to swoją drogą, ale czy 20-30 lat 
>temu niektórzy też nie pisali niechlujnie? :)

Dawno temu czytałem komentarz człowieka, który zadał sobie trud
analizy kodu Win2000, który wyciekł z MS, i konkluzja była jedna: ten
kod był niemożliwy do utrzymania. Nie pamiętam  dokładnej listy
zarzutów, ale generalnie chodziło o to, że w przypadku jakiegokolwiek
błędu znalezienie jego przyczyny w kodzie graniczyło z cudem (do tego
różne części pisane w różnych językach wysokiego poziomu, różne
systemy komentarzy w kodzie lub w ogóle ich brak itp), więc zamiast
poprawić źródło błędu, dopisuje się kawałek kodu który "prostuje"
efekty oryginalnego błędu. Robi się z tego konstrukcja nasypowa, łatka
łatająca łatkę łatającą dziurę w oryginalnym kodzie, tabletki na serce
rujnujące wątrobę, tabletki na wątrobę szkodzące na nerki, tabletki na
nerki szkodzące płucom, tabletki na płuca szkodzące sercu, i program
robi się ciężki jak trzej weseli pielęgniarze (btw, pamięta ktoś? :)
). Przypuszczam, że sytuacja w reszcie konsumenckiego oprogramowania
jest bardzo podobna, i taki PS pewnie też nie jest wyjątkiem. I tu
rodzi się pytanie: ile z zasobów kompa potrzebnych do działania
programu jest zabieranych przez setki, tysiące, może dziesiątki
tysięcy takich łatek?

Człowiek zaczyna z nostalgią wspominać czasy ośmiobitowców, Amigi i
Atari ST, kiedy miałeś to co miałeś i koniec (poza jakimiś
peryferiami), i producent oprogramowania nie mógł sobie pozwolić na
wypuszczenie programu który działałby zbyt wolno, do tego nie było
internetu, więc sprzedawanie wersji beta i dosyłanie użytkownikom
łatek też nie wchodziło w grę: program musiał być przetestowany i
działający, bo w przeciwnym wypadku zaliczyłby klapę.

Dzisiejsze czasy oferują z jednej strony więcej zagrożeń (różnorodność
konfiguracji sprzętu i oprogramowania), z drugiej zaś praktycznie
nieograniczone możliwości przerzucenia kosztów testowania produktów na
kupujących. Po co się męczyć z wyszukiwaniem rzeczywistych przyczyn
błędów, skoro wystarczy dowalić kolejny kawałek kodu zwiększający
zasobożerność programu i odpowiednia formułka w umowie licencyjnej? Do
tego nie ma praktycznie żadnej presji na optymalizację szybkości
działania programu: chodzi za wolno? Podbijemy wymagania sprzętowe... 

Może więc ten pomysł z napisaniem takiego PS od nowa nie byłby taki
zły? Nie co wersję, ale co kilka, dla utrzymania kodu w rozsądnym
porządku... Tylko wtedy mogłoby się okazać, że taką odświeżoną wersję
programu spokojnie udźwignie średni sprzęt sprzed 5 lat... Księgowi
nie byliby zachwyceni :P

Pozdrawiam,
Mordazy.

-- 
REMOVE-IT. from my address when replying.

     THE ONLY THING WORTH WAITING FOR      
           IS A WORLD-WIDE DISASTER.

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>