Garbedź kolektor
Posted on Tue 08 November 2005 in Pamietniczek • 2 min read
Chyba flashback. Zdarza się czasem. W końcu nawciągałem się ziół kilka kilo przez parę lat. W tym mgnieniu czytam na raz o preprocesorze w C i jednocześnie biegnę jakiegoś komiksowego kolesia w zwolnionym tempie. Dziwne przeżycie, jakbym w obu rękach trzymał joypady od PS i równocześnie grał na dwóch konsolach. Dziwne i przyjemne przez to zwolnienie.
Przeczytałem artikla "10 rzeczy których nienawidzę w Uniksie" by David Chisnall. While mogę zgodzić się z paroma stwierdzeniami, to jednak kilka spraw mnie w tym tekście nie satysfakcjonuje. Podstawowy dynks to jest niekonstruktywne narzekanie, bo owszem łatwo jest znaleźć dziurę ale trudniej sensowną łatę. Tak to każdy głupi potrafi, nawet ja. Podoba mi się przykład z użyciem 'mv' i nieinterpretacją łajldkardów, podoba, bo chciałbym żeby programy czytały w myślach. Natomiast jakie mogą być tego konsekwencje już pan Chisnall nie podał. Podobnie jak ja ich nie podam, bo wprawdzie wyczuwam je podświadomie ale zwerbalizować za cholerę nie umiem, a poza tym boję się dotknęcia mózgu Emsiego. Z 'mv' interpetującym łajldkardy jest trochę jak z softem M$: robi to co myśli, że chcemy zrobić. Wolę z palca napisać bashowe lub tcshelowe zaklęcie i mieć pełną kontrolę nad procesem, niż ryzykować że obrośnięte interpreterem 'mv' coś poprzekręca. Czyli nadal przedkładam uniksowe cegiełki nad nowoczesne wnętrze.
No Introspection - odnoszę wrażenie, że autor żąda cudów. Unix jaki jest każdy wie, i wie co może z nim i w nim zrobić. Żądanie by system wiedział więcej nie jest bezpodstawne ale... w końcu ktoś powinien to w nim zaimplementować. Nie jest niedociągnięciem Uniksa, że nie potrafi samookreślić co z danym plikiem można zrobić, to raczej niedociągnięcie deweloperów, że jak dotąd nie ustalili w jaki sposób o cechach plików informować system. Nawet nie chce mi się w to zagłębiać bo nigdy tego typu funkcji nie potrzebowałem. Chisnall podaje przykład MacOS i jest to wielce znamienne, gdyż użytkowników tego systemu uznaję za mniej rozgarniętych, z wyjątkami jak Tatarkiewicz. Coś myśli za nich?
C: Cross-Platform PDP Assembler - jako wannabe koderowi, który nie potrafi napisać dłuższego programu w C bez manuala, wszystkie wymienione niedociągnięcia C wydają się prawdziwe i godne naprawy. Boję się sztywno zadeklarownych intidżerów, palcowanego zarządzania pamięcią, braku sprawdzania rozmiarów tablic - ale to wszystko jest wynikiem złych przyzwyczajeń z dzieciństwa i niechlujstwa. Przypomina mi ten punkt narzekanie, jakim czasem oddawaliśmy się przy piwie, na fakt, że nikomu już nie chce się porządnie kodować (czyt. w asemblerze) bo maszyny takie szybkie, że da radę bez tego. Świat posuwa się jednak dalej i fajnie jest jak rozmiar tablic autodynamicznie zmienia się i typy zmiennych doznają wielokrotnych, dyskretnych konwersji.
Cały artykuł trąci mi powiedzeniem "weźmy się i zróbcie", właśnie przez brak wskazówek gdzie szukać ideału. Chisnall chce, żebym Mercedesa beczkę odprowadził na szrot ale nie mówi czym mam dalej jechać. Bo jeśli w podtekście jest MacOS (ten stary), to ja dziękuję, Fordem Ka nie jeżdżę.