[PL] Nostalgia, mogę?

Właśnie sobie czytam własnego bloga w poszukiwaniu błędów językowych, literówek (o braku znaków diakrytycznych już nawet nie wspomnę). Od razu za wszelkie niedbałości przepraszam. Nie dostaję jakiejś strasznie ostrej krytyki od was, wiec mam nadzieję, że mi trochę wybaczacie. Naogół piszę w jakiejkolwiek przerwie od codzienności i priorytetem jest to, aby: być szczerym, dopiero potem aby każdy wpis padł ofiarą niezliczonej liczby korekt, cenzury itd. Samokrytycznie smutno mi ponieważ zauważam, iż padam ofiarą tzw. "doby internetu" gdzie tempo przemieszczania się informacji niestety zabija jakość języka. Stąd częste autokorekty post factum, gdy sam przeglądam później własne spisane tu słowa.

W każdym razie język sam w sobie nie jest tematem tego wpisu. Raczej ponownie nostalgia.
Przeglądając jeden artykuł odkryłem na nowo koło. Doceniłem prostotę i potęgę hypertekstu.
Wszyscy znamy HTML. Nikt z nas pewnie już za dużo nie chce nawet dbać o same tagi.
Mam nadzieję, że nikt nie pisze już nawet prostych stron w notatniku, VI czy innym cudnym narzędziu zupełnie niedostosowanym do tych celów.
Ja jednak mimo, że w firmie spozycjonowany na osobę, która wam snuje niejasne plany na temat technologicznej przyszłości, jako człowiek lubię od czasu do czasu być nostalgiczny i powspominać. I tak mnie zebrało przy tej korekcie na pomysł kolejnego wpisu. Najpierw może skąd pomysł?

Wspomniałem o swojej aktywności sprzed 5 minut. Otóż przeglądając jeden z wpisów dostrzegłem, że używam linków zawartych w opisie, które nie są zwięzłym tutułem jakiejś definicji wymagającej rozszerzonego opisu. Używam zapewne nagminnie odnośników do dalszego kontekstu tego danego fragmentu zdania wyjętego z oryginalnego kontekstu.
Niby oczywista rzecz, żyjemy w rzeczywistości gdzie programowalna sieć, krzyżujące się odnośniki do różnych serwisów, wklejanie fragmentów innych stron jako część własnej to normalna praktyka w dobie Web 2.0. Ba! Do Excela można sobie dynamicznie zaimportować tabelkę ze strony WWW i kazać arkuszowi odświeżać zawartość na podstawie wersji online - wszystko cudnie gdy nie zmieni się podstawowy adres strony źródłowej.

Tak czy siak szybka burza myśli w głowie podpowiedziała mi: E? Przecież to nihil novi.
Dawno temu, były takie czasu kiedy każdy książe mógł ze swojej wieży dostrzec księżniczkę machającą biała husteczką z oddalonego zamczyska, a smoki latały nad chmurami pilnująć żeby Quest nie był zbyt prosty. Ja w tych czasach jako dzieciak-pasjonat miałem nawet frajdę i widziałem sens w programowaniu w assemblerze (czyli tak na oko jeszcze z 12 lat temu?). W tych odwiecznych czasach hypertekst w takiej prospołecznej formie, w niemalże wikipediowej wersji już istniał i miał się całkiem dobrze. Nie potrzeba było internetu ani cwanych sztuczek jakich musiałem wtedy dokonywać, aby na pierwszych Netscape'ach i Internet Explorerach na Windowsach 3.11 w uczelnianych labach odkryć moc drzemiącą w sieci globalnej. Notabene dla mnie to musiał być wyczyn, bo jak w 95-96 roku odkryłem internet to byłem w 2-3 klasie LO i na uczelni musiałem srogo udawać studenta żeby mnie z salki nie wygonili. Kto mnie widział to wie, że nawet dzisiaj dosyć szczeniacko wyglądam, więc to musiał być wyczyn, żeby takiego pana profesora przekonać, że przed rozsypującym się 486 siedzi właściwy człowiek na właściwym miejscu :)

W każdym razie czasy dla mnie były raczej wciąż należące do DOSa. Ja wtedy po pierwszych fascynacjach programowaniem na etapie szkolnym właśnie zaczynałem odkrywać Assembler, C/C++ oraz zaawansowane programowanie sprzętowe (głównie na potrzeby programowania grafiki komputerowej). Nawiązałem wtedy swoje pierwsze kontakty demoscenowe i to był dla mnie taki geek-internet w pigułce przesyłany zwykłą pocztą.

Świeża porcja jak to zwykłem nazywać "stuffu" w uzupełnieniu z cover CD z magazynu Software oraz dodatkowe materiały z internetu z słynnego chyba FTP z Uniwersytetu w Oulu w Finlandii to była biblia dla pasjonata programowania w latach 90tych (było jeszcze FTP Hornet.org, ktoś pamięta?).
Wśród tych zasobów odkryłem aplikację, która chyba nazywała się PC Hardware Encyclopedia albo PC Game Programming Encyclopedia. Nazwę może przekręciłem, ale istotne jest to, że w tej aplikacji napisanej w czymś Borlanda z UI opartym na TurboVision był zaimplementowany ciekawy silniczek hypertekstu.
Drzewo relacji pomiędzy poszczególnymi artykułami polinkowanymi do siebie nawzajem naprawde było imponujące. Format plików źródłowych był w miarę otwarty więc po sieci i wśród zainteresowanych krążyło bardzo wiele wersji, które teraz można by nazwać "community edition".
Tak jak sobie właśnie nostalgicznie wspominam to dochodzi do mnie, że w sumie to cały ten ruch społecznościowy to starożytna już historia w informatyce. Teraz nagle tylko odkryliśmy, że temat jest na tyle rynkowo dojrzały, że potrzebuje nazwy, wsparcia marketingowego oraz komercyjnej opieki, żeby się rozwijać dalej, za moment będziemy mieli kluby i stowarzyszenia, wielkie konferencje niezależnych grup i znowu zakręcimy koło bo to przecież w różnych branżach funkcjonuje pewnie dłużej niż ja sam żyje. No ale w informatyce lubimy modne stwierdzenia i znamienne słowa. Moja osobista opinia jest taka, że grupa wariatów, którzy dzielą pasję na jakiś temat zawsze znajdą sposób aby sobie zbudować platformę - to zawsze działało najlepiej gdy wychodziło od dołu a nie od góry.

W każdym razie (lub z angielska anyway), tak jak sobie dumałem o tym hypertekscie, kontekście społecznościowym i moich początkach z komputerami inaczej niż grając to pamiętam, że w czasach DOSa była taka aplikacja Neopaint. Kojarzycie? Photoshopem bym tego nie nazwal, ale do Deluxe Painta Electronic Arts'ów już można było to jakoś porównać.
Ta firma stworzyła drugą aplikację, nie pamiętam jej nazwy, ale na podobnym GUI oparli program do tworzenia elektronicznych publikacji.
Można było metodą drag&drop dodać przyciski, zmienić ich wygląd, dodać proste animacje, była obsługa hypertekstu. Można by się pokusić o stwierdzenie, że to taki prekursor Flasha czy Silverlight'a w warunkach DOS'a (Choć i tak amigowa Skala dużo wcześniej nie takie cuda robiła).

W tej aplikacji z tego co pamiętam stworzyłem pierwszy swój magazyn dyskowy, który rozdystrybuowałem na swoim osiedlu wśród fanów gier fabularnych, bo akurat taką miał zawartość. 5 czytelników, ale zabawy przy tworzeniu co niemiara :)

I tak sobie właśnie czytam te swoje ostatnie wpisy na tym blogu w poszukiwaniu błędów. Mając do dyspozycji współczesne narzędzia do realizacji podobnych celów, które realizowałem z podobnymi mnie wariatami 10-15 lat temu stwierdzam, że różnica to kompletnie inna klasa w konteście używalności i dojrzałości.

Wesoło i sympatycznie śmiać mi się chce gdy wspominam te niby stare dobre czasy kiedy miałem więcej wolnych chwil na głupoty. Wszystko trzeba było realizować za pomocą tego do czego miałem skąpy dostęp, a nie 100% niczym nieskrępowanej globalnej sieci. Kontakty w tej całej społeczności można było zamknąć na pięciu, dziesięciu, może góra dwudziestu osobach. Teraz jakakolwiek aktywność WWW zmusza do skorzystania z bogatych raportów Google Analytics, aby ogarnąć potencjalne informacje statystyczne i w jakikolwiek sposób racjonalnie wymyśleć następny krok.

Żyję w czasach gdzie raz na rok mam do przekazania kolejną zmianę, a raz na dwa lata kolejną rewolucję. Jak sobie podsumuję tę technologiczną drogę, którą wciągu ostatnich lat wykonałem gdzie rewolucji dużych było parę:
(1) Amiga w kontekście User Experience - pierwszy komputer, pierwsze wrażenia, pierwsze wypracowane standardy oraz oczekiwania wobec maszyny (1992-95)
(2) Konwersja na świat PC i DOS + Windows, gdzie DOS służył mi wciąż jako platforma do programowania, a Windows jako niezbyt udaną implementację rewolucji ze strony MS (wtedy byłem zauroczony Workbenchem i do dziś zdania nie zmieniłem :))
(1995-1998) (3) Konwersja na programowanie pod Windows z C/C++ oraz WinAPI, tworzenie własnych frameworków, odkrycie DirectX oraz durnego MFC.  Od razu przepraszam wszelkich fanów MFC, ale ja osobiście wolałem napisać własny framework okienkowy z strukturą quasi-podobną do tego co teraz mamy w świecie Javy czy .Net Framework niż zaakceptować jakieś wygibasy z MFC :)
(1998-2000) (4) Odkrycie konkretnych dużych rozwiązań bazodanowych jak Oracle czy SQL Server -> dla mnie to był duży skok, bo wcześniej jako programista się trochę inaczej pozycjonowałem (1999-2000)
(5) Garbage Collector i prekursorzy języków zarządzanych (Java, VB6, Perl, PHP). Po wyostrzonych zmysłach na paru latach programowania w C/C++ to był nielada koszmar do zaakceptowania, że opiekę nad pamięcią zostawiam jakiejś wirtualnej maszynie czy interpretatorowi języka. Udało się, teraz wręcz trudno wrócić :)
(1999-2001) (6) Transformacja z programisty produkcyjnego siedzącego w klatce biura na wdrożeniowego konsultanta gdzie niestety lub stety trzeba mieć świadomość konkretnych potrzeb końcowego klienta a nie tylko zmysł geniuszu w algorytmice i wzorcach projektowych.
(2002-2005) (7) .NET Framework jako BARDZO WŁAŚCIWA platforma do tworzenia aplikacji pod Windows (2003-2005) - trochę się z ufnością zbierałem, ale się przekonałem i jak widać do dzisiaj nie żaluję :)
(8) Web 2.0, S+S, SaaS, SOA -> dużo trudnych skrótów, a dla mnie prostymi słowami to zmiana myślenia w tworzeniu i dostarczaniu oprogramowania z produktowego na usługowe. Ewolucja wielu znanych praktyk, metodyk, technologii, wzorców, najlepszych praktyk i odzewu zwykłych ludzi, dla których technologia jest coraz bardziej dostępna
(2005-2007) (9) Języki dynamiczne, języki funkcyjne -> przekradło się to-to trochę do .NET Framework więc trudno mi było nie zauważyć. Więc przyznaję: widzę i dostrzegam, ale wciąż nieufnie :P (2006-2007)

Jak tak sobie popatrzę na tę własną ewolucję i spojrzę dalej w przyszłość to jakkiekolwiek nienazwane manewry będę musiał wykonać coraz bardziej się zgadzam z stwierdzeniem, że żyję w ciekawych czasach. W czasach w ktorych mam szczeście i wybrałem branżę, w której mam poczucie, że jesteśmy jednym z liderów jeśli chodzi o zmiany w percepcji świata jaki nas otacza.
Nie mogę się doczekać kolejnej rewolucji. Każdy z takich momentów, który tutaj zawarłem generuje tylko jakąś ciekawą opowieść czy zabawną jak, w moim przekonaniu te z życia informatyka które już opisałem (bardzo ładnie podpiąc je można pod punkt 6 w mojej zawodowej edukacji); czy nadzwyczajną jeśli chodzi o własne wrażenia percepcyjne dotyczące tego jak mogłem pewne rzeczy zrealizować wczoraj a jak mogę je realizować dziś (ten artykuł).

Aż kusi, aby się pobawić w miniaturkę Lem'a i posnuć wizje na temat tego w jaki sposób te rzeczy będę mógł realizować jutro.
Choć może Lem to zły przykład bo z całym szacunkiem do św. pamięci pana Stanisława, na stare lata zamiast dalej snuć niestworzone wizje to zaczął się bawić w eseje, w których pragnął się utwierdzić, że we wszystkim miał racje i innej opcji nie ma. To już nie jest futurologia tylko demagogia, a tego osobiście nie lubię :D

Tak więc podsumowując: wielki szacunek do przeszłości jako fundamentu dla przyszłości, na którą doczekać się wciąż nie mogę :D

Technorati Tagi: Polish Posts , babbling , it urban stories , internet , web 2.0