Problem stopnia najwyższego w wielowymiarowym układzie cech podmiotu
Chciałem żeby tytuł brzmiał nieco dziwnie, bo i też będzie zawierał trochę dziwnie brzmiącej teorii, etyki, ale już wyjaśniam:
(błąd "najoptymalniejszy" popełniony świadomie i celowo; "optymalny" nie ma wyższych stopni, jednak w oprogramowaniu z czasem znajduje się algorytmy "optymalniejsze" od dotychczasowych)
Nieco teorii (wymagana wyobraźnia) Chodzi mi o używanie przymiotników w stopniu najwyższym, a ich stosunek do poszczególnych cech podmiotu. Krótko mówiąc: wielowymiarowy układ cech to układ w którym opisywane są cechy podmiotu, każdy w innym wymiarze (kierunku) i nie pod każdym kątem widzenia (nie w każdej sytuacji) podmiot ten jest lepszy od innych. Tzn. jako "najlepszy" można rozumieć punkt (którego współrzędnymi są oceny opisywanych cech) najbardziej oddalony (pozornie) od środka układu. Pod różnymi kątami różne punkty mogą wydać się tymi najdalszymi (obiekty są punktami, więc nie można ocenić ich odległości).
(w rzeczywistości oba punkty mają podobną odległość od środka układu, niebieski minimalnie większą)
Można oczywiście przyjąć, że ogólnie najlepszy jest ten, którego rzeczywista odległość od punku zerowego jest największa jest najlepszy. Należy jednak pamiętać, że wartość (waga) jednej cechy nie jest równa drugiej, przez co każdy wymiar ma jakiś ustalony przez oceniającego mnożnik, który zależy tylko od niego. A tu już nie ma obiektywnej oceny, lecz subiektywna. Obiektywne mogą być tylko rzeczywiste statystyki (choć i z tym różnie bywa)
Zacznijmy od definicji
Dobry (wg. wikisłownika): (1) miły, uczynny, usłużny, szlachetny (2) odpowiedni, pasujący do czegoś (3) pomyślny, udany (4) smaczny (5) grzeczny (6) świetny, znakomity w swojej dziedzinie (7) ciekawy, interesujący, wysokiej jakości (8) o nastroju wesoły, radosny (9) o zdrowiu, zmysłach zdrowy; szczególnie wyostrzony (10) korzystny Najlepszy - stopień najwyższy od przymiotnika "dobry". Mówiąc "najlepszy" ma się na myśli "lepszy od innych, nie ma lepszego". Ale czy rzeczywiście można nazwać coś "najlepszym" z czystym sumieniem?
Można powiedzieć: "najlepszy biegacz na bieżni, bo najszybciej biega". Konkretnie: jest najszybszy w danej grupie osób. Oceniana jest jedna cecha (szybkość biegania), w której dana określona grupa (biegacze na danej bieżni). Ale czy można powiedzieć, że ten najlepszy w tej grupie jest najlepszym biegaczem w ogóle? A czy możemy w ogóle powiedzieć że on jest "najlepszy"?
Co to ma do oprogramowania?
W oprogramowaniu nie należy oceniać ogółem. Punkt 6 z definicji wyrazu "dobry" nie należy rozumieć jako "ogólnie najlepszy". Czasem jakaś zaleta w jednej dziedzinie jest wadą w drugiej jak np. ilość funkcji, a szybkość działania. Tak samo sprinter nie nadawałby się na maraton, a maratończyk na sprint. Porównajmy sobie procesory tekstu. Ktoś zadaje pytanie: "Jaki procesor tekstu jest najlepszy?". I sypią się odpowiedzi: "MS Word 2010", "OpenOffice.org Writer", "AbiWord". Każdy ma inne zdanie. Ktoś inny podał jeszcze jakiś edytor LaTeX (LaTeX Editor, czy też Kile).
W czym problem?
Wszystkie wymienione programy są dobre, ale czy "najlepsze"? MS Word jest płatny, ale bardzo funkcjonalny. OpenOffice.org Wrtiter jest dość funkcjonalny, ale darmowy, poza tym: również na Linuksa itd.. AbiWord ma podstawowe funkcje, jest darmowy, a do tego bardzo lekki (i również na Linuksa itd.). LaTeX jest bardzo funkcjonalny, bardzo uniwersalny, ma lekkie edytory (nie obciążające RAMu, nie mówię o "kompilatorze"), jednak jest również bardzo trudny.
Który zatem jest "najlepszy"? Przejdźmy do sedna: który? Jeżeli zależy nam na funkcjonalności, "najlepszy" okazuje się MS Word 2010. Jeżeli jednak zależy nam na funkcjonalności, ale nie chcemy wydawać pieniędzy, "najlepszym" okazuje się OpenOffice.org Writter. Jeżeli do tego ma być lekki i nie musi posiadać aż tylu udogodnień, "najlepszym" okazuje się AbiWord. Jeżeli jednak komuś nie przeszkadza poziom trudności i chce się nauczyć tworzyć najwyższej jakości dokumenty przy użyciu języka znaczkowego i mieć nad nim pełną władzę, "najlepszym" jest edytor LaTeX.
Czasem jednak jest czynnik kluczowy: np. "chcę darmowe i legalne oprogramowanie". I automatycznie odpada nam MS Word. Matematycznie można to oznaczyć jako przemnożenie pozycji we wszystkich wymiarach przez 1 gdy darmowe, 0 gdy płatne (gdyż odpowiedzią na te pytanie jest TAK‑1 albo NIE‑0). Więc MS Word automatycznie znajdzie się w samym środku układu. I mimo że np. OpenOffice.org Writer jest mniej funkcjonalny, wygrywa z MS Word.
Dla drugiego przykładu: IDE do programowania. Nie ma sensu używać kombajnu w stylu NetBeans, Eclipse, Visual Studio do kompilacji "Hello World" i prostych, szybkich do napisania algorytmów. Dlaczego? Bo dłużej dane środowisko będzie się uruchamiać, niż będziemy go używać. U mnie NetBeans uruchamia się dość długo, dlatego używam go tylko do rozwijania większych projektów, nad którymi muszę posiedzieć nieco dłużej.
Czy mając do skoszenia 10m2 trawnika koło domu kupimy spalinową kosiarkę o mocy 8KM typu traktorek? Czy zadowolimy się zwykłą, tanią elektryczną?
A systemy operacyjne?
Częsta kłótnia, który system jest najlepszy... Jeśli komuś nie szkoda kasy, ma w miarę nowy sprzęt i gra w najnowsze komercyjne tytuły, oraz używa komercyjnego softu tylko na tą jedną platformę to najlepszy jest
Jeśli komuś szkoda wydawać kasę na sam system operacyjny i jego zabezpieczenia, zna podstawy informatyki, lubi czasem kombinować i nie gra za dużo w komercyjne gry, albo głównie siedzi w internecie, to Linux jest dobrym rozwiązaniem. Dlaczego tylko "dobrym"? Bo są jeszcze inne typu BSD, Solaris...
Mac OS - daje sporo narzędzi, stabilny, sam sprzęt też nie najgorszy. Najlepszy dla ceniących sobie stabilność i jakość, jednak nie przejmujących się brakiem wielu tytułów (sytuacja podobna do Linuksa, choć może o drobinę lepsza)
Nie da się więc powiedzieć, który program, czy też system jest "najlepszy". Każdy ma inne cechy, inne zastosowanie i inną grupę docelową.
Gry
Która strzelaninka jest najlepsza? Call uf Duty: Black Ops, Borderlands, czy Unreal Tournament 3? Dla jednych głównym czynnikiem (będzie miał największy mnożnik) będzie jakość single player i oryginalność, a w tej kategorii to raczej wygrywa Borderlands. Inni zaś będą sobie cenić rozwałkę i dynamizm, więc wybiorą Unreala. Inni zaś realizm - CoD: Black Ops.
Lecz kiedy gracz będzie chciał zagrać w jakąś strzelaninkę ze znajomym, który nie ma zamiaru płacić, mimo że dla niego najlepszym FPSem jest np. CoD, musi wybrać jakąś darmową.
Jeszcze inny przykład: Tym razem małe nawiązanie do starych wyścigówek. Każdy samochód miał inne statystyki, czasem nawet różniące się aż za bardzo: jeden szybki, ale na zakrętach musi niemal stać, drugi da sobie radę na łukach bez większego hamowania, trzeci natomiast niezbyt szybki, ale na łukach poradzi sobie śpiewająco. Jaki samochód wybieramy? "Najlepszy"? Którym będzie ten "najlepszy"? Nie ma ogólnie "najlepszego" samochodu, tylko co najwyżej "najlepszy w danych warunkach"
Podsumowanie
Nie zawsze można oceniać czegoś jako "najlepsze". Jak już napisałem: czasem jakaś zaleta w jednej dziedzinie jest wadą w drugiej jak np. ilość funkcji, a szybkość działania. Nie zawsze potrzebujemy tyle funkcji, a marnujemy czas na ich załadowanie. Pisząc ten tekst używałem Gedita, a nie OpenOffice'a.
W czasopiśmie "Komputer Świat" do oceny również wliczany jest stosunek ceny do jakości (a przynajmniej kiedyś był wliczany). Każdy darmowy program niezależnie od jakości ma wtedy ocenę "Celujący". Warto też zauważyć, że oceniane tam są różne cechy programu i przypisywane są im różne wagi - mnożniki, o których wspominałem. Przykład Co prawda trochę dziwny przelicznik cena/jakość, bo nie można przeliczyć wartości 1‑6 na cenę, skoro może być prosty edytor tekstu (typu FocusWritter), który ma ocenę 6.0 i cenę 36 zł i mieści się w granicy "Celujący", mimo że to po prostu bezbłędny najprostszy edytor tekstu.
Każdy ma inne kryteria oceniania