eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming"Najbardziej imponujący kod, jaki widziałem" › Re: "Najbardziej imponujący kod, jaki widziałem"
  • Data: 2019-08-05 12:44:59
    Temat: Re: "Najbardziej imponujący kod, jaki widziałem"
    Od: g...@g...com szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu niedziela, 4 sierpnia 2019 22:57:09 UTC+2 użytkownik Maciej Sobczak napisał:
    > > Nawet zerknąłem z ciekawości.
    > > Tak konkretniej to zerknąłem tutaj:
    > > https://rosettacode.org/wiki/Levenshtein_distance
    > [...]
    > > Czyli autorzy "rozwiązania" w Mathematice nie dostarczyli implementacji
    odległości Levenshteina, tylko skorzystali z wbudowanej. Wygląda zatem na to, że
    nawet nie zrozumieli reguł zabawy.
    >
    > Niekoniecznie. Bo jeśli reguły zabawy były takie, żeby nie używać istniejących
    ficzerów, tylko biczować się na jak najniższym poziomie, to akurat pokazana przez
    Ciebie wersja w Haskellu też tego nie spełnia. foldl, scanl, zip3, minimum, print,
    itd. - naprawdę, autorzy nie zrozumieli reguł, powinni to wszystko napisać od zera.

    O ile mogę się zgodzić, że problem demarkacji nie jest w tym przypadku łatwy, o tyle
    nie zgodzę się z radykalnym wnioskiem.
    Rozwiązanie Haskellowe, chociaż korzysta z funkcji wbudowanych, daje jednak możliwość
    zozumienia tego, co się dzieje pod spodem. Rozwiązanie w Mathematice takiej
    możliwości nie daje.
    Prosta sprawa - zmodyfikuj rozwiązanie w Mathematice tak, żeby koszt zamiany elementu
    wynosił 2 a nie 1.

    > Zaletą Wolframa jest właśnie te 5000+ funkcji, które od ręki coś robią. A ponieważ
    Wolfram jest LISPowaty, to nie da się wyraźnie oddzielić funkcji "podstawowych" od
    "bibliotecznych", bo wszystkie mają takie same prawa i nie ma żadnej niezbędnej.

    To też jest interesujące: czy algorytm Levenshteina napisany w Mathematice będzie
    działał równie szybko jak ten wbudowany?
    Czy może ten wbudowany został zaimplementowany w C?

    > > Przy takiej interpretacji rzeczywiście trudno się dziwić, że w Mathematice
    wychodzą najkrótsze implementacje.
    >
    > Problem w tym, że przy innej interpretacji mogłoby się okazać, że w wielu językach
    w ogóle nie dałoby się wielu rzeczy napisać, bo większość języków bez swojej
    biblioteki standardowej nie potrafi zrobić nawet Hello World.
    > Więc skoro reguły są takie, że bierzemy język *razem* z jego biblioteką
    standardową, to niestety w Wolframie ten konkretny przykładowy problem rozwiązuje się
    jednym wywołaniem odpowiedniej funkcji.

    W każdym razie zagadka "najkrótszego kodu" w Mathematice rozwiązana.
    Każdy może wyciągnąć swoje wnioski.

    > To trochę jakbyś chciał wymyślić takie reguły gry w piłkę, żeby Lewandowski nie
    mógł strzelić gola i żebyś wtedy mógł z nim wygrać. Sorry, ale przy normalnych,
    uczciwych regułach, Lewandowski wygrywa.
    >
    > (nie żebym się znał na piłce i kto tam teraz rulez, ale mam nadzieję, że analogia
    jest zrozumiała)

    Bardziej taka analogia, że wystawiamy w wyścigu biegaczy i motocyklistów.
    Raczej nikogo nie zdziwi, że motocykliści dojadą szybciej na metę. Ale raczej nie
    wnioskowałbym stąd, że kondycja motocyklistów jest lepsza.

    > > > A gdybym jednak chciał dodać pustą listę do wyniku?
    > >
    > > To zamiast '() napisałbyś '(())
    >
    > Ale czad. Prawie zaczynam pamiętać te wszystkie specjalne szczególiki. Bo sorry,
    ale nadal tutaj jest specjalne traktowanie listy.

    Tutaj nie ma żadnego specjalnego traktowania listy.
    Funkcja "append-map" wymaga, żeby przekazana do niej funkcja zwracała listę. Funkcja
    tworzy listę wynikową sklejając ze sobą wyniki list cząstkowych, powstałych przez
    aplikację przekazanej funkcji do każdego elementu przekazanej listy.
    Nie ma tu żadnych specjalnych szczególików.

    > > (Nie ukrywam jednak, że zdziwiłbym się, gdyby się okazało, że jakiś znaczący
    odsetek użytkowników Mathematiki miał wcześniej głębszy kontakt z Lispem)
    >
    > Bardzo nieudolnie ukrywasz swoje poczucie wyższości nad resztą świata.

    Zauważyłem, że niejednokrotnie w naszych dyskusjach zdarza Ci się wyjechać z jakimś
    dziwnym "ad personam" w moim kierunku. A to że próbuję szpanować, a to że jestem
    arogancki, a to że mam poczucie wyższości nad resztą świata.

    Nie wiem, skąd się to u Ciebie bierze, ani czemu to ma służyć. Jeżeli masz jakieś
    pytania na temat mojej osobowości, to lepiej zapytaj, zamiast spekulować.

    W tym kontekście, jeżeli miałbym mówić o "wyższości czegoś nad czymś", to bym
    powiedział, że wkład Johna McCarthy'ego w rozwój informatyki był moim zdaniem większy
    od wkładu Stephena Wolframa (który być może lepiej się potrafił sprzedać). Ale to
    tyle. Nie ma w tym przekonaniu absolutnie nic na mój temat.

    > Otóż Wolfram sam twierdzi, że:

    Że Wolfram twierdzi, to mnie nie zaskakuje. Ale mówiłem o "znaczącym odsetku
    użytkowników", a nie o "odsetku znaczących użytkowników"

    > Przypuszczam, że takie doświadczenia dotyczą również jakiejś części użytkowników.
    Ile jest takich przypadków - nie wiem, ale biorąc pod uwagę, że w środowisku
    uczelnianym LISP jest silnie reprezentowany i wiele narzędzi związanych z matematyką
    było swego czasu napisanych w LISPie, to spodziewam się, że świadomość LISPa wśród
    użytkowników Wolframa jest co najmniej zauważalna.

    No właśnie. Ty się spodziewasz jednego, ja się spodziewam drugiego, i pewnie żaden z
    nas nigdy się na ten temat nie dowie niczego.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: