eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProgramista iOS - ŁódźRe: Programista iOS - Łódź
  • Data: 2014-03-26 13:19:12
    Temat: Re: Programista iOS - Łódź
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2014-03-25, g...@g...com <g...@g...com> wrote:
    >> Owszem, trudno znaleźć język bardziej popularny od PHP. Ale znowu: ile
    >> się pisze rzeczy *zaawansowanych* w PHP? Mimo jego popularności, prawie
    >> nic.
    >
    > Znaj proporcje, mocium panie. PHP powstal jako jezyk do tworzenia
    > licznikow na stronach domowych, i trzeba mu przyznac, ze zaszedl daleko.
    > Jednak wspolczesnie fakt, ze rzeczy zaawansowanych nie pisze sie w PHP,
    > nie wynika juz z semantycznych niedostatkow tego jezyka, tylko z (w pelni
    > zasluzonej) marnej reputacji PHP.

    ...która wynia w dużej części właśnie z semantycznych niedostatków.

    >> A coś, co potrafi podobne rzeczy do lispowych makr (manipulację drzewem
    >> wyprowadzenia) występuje w całkiem sporej liczbie języków, od Pythona
    >> zaczynając.
    >
    > Moglbys powiedziec cos wiecej na ten temat? Ew. rzucic jakims linkiem?
    > (Jedyny jezyk z nielispowa skladnia, o jakim slyszalem, ze ma lispowe
    > makra, to ruby-podobny jezyk o nazwie elixir)

    Uwaga: nie chodzi o makra w stylu Lispa, czyli coś, co się wywołuje jak
    funkcję. Chodzi o manipulację drzewem wyprowadzenia danego języka
    z możliwością wykonania takiego drzewa, ale nie musi to wyglądać jak
    w Lispie.

    W Pythonie do tego służą moduły parser i ast. W Erlangu jest to zrobione
    bardziej elegancko (parse_transform), bo tam proces kompilacji występuje
    jawnie, więc można się w niego wpiąć.

    >> > Dlaczego glupio pomieszane? Jest jeden prosty interfejs i bardzo
    >> > potezna struktura danych, ktora daje ci to, czego od niej oczekujesz.
    >>
    >> ...gwarancje czasowe?
    >
    > Jezeli piszesz "time-critical application", to zgadzam sie, ze PHP
    > to zly wybor. Podobnie jak wybor wiekszosci innych jezykow dynamicznych
    > oraz wszystkich jezykow z garbage collectorem.

    Ależ nie chodzi o aplikacje krytyczne czasowo. Chodzi o bardziej
    elementarną rzecz: przewidywalne zachowanie w przypadku wzrostu ilości
    danych. Nie chcę żeby nagle się okazało, że mój program *wyglądający*
    jak mogący sobie poradzić z danymi osiem razy większymi w czasie jedynie
    osiem razy dłuższym kończy pracę w czasie czterysta razy dłuższym.

    >> A pomieszane głupio, bo nie potrzebuję indeksować tablicy stringami.
    >> Potrzebuję mieć gwarancję dostępu w czasie O(1). Jak będę potrzebował
    >> indeksowanie stringami, to sobie użyję hasza i będę wiedział, jakie on
    >> daje gwarancje na operacje.
    >
    > Jezeli nie potrzebujesz indeksowac tablicy stringami, to nie musisz
    > tego robic. Jezeli korzysasz ze spojnych kluczy numerycznych od 0, to
    > bedziesz mial normalna tablice numeryczna z dostepem w czasie O(1)

    A gdzie są te gwarancje zapisane? W dokumentacji nie pamiętam żeby były.
    Czy tak tylko zmyślasz na temat gwarancji złożoności w PHP?

    >> Tablice w PHP to jakby ktoś wymieszał B-drzewa z wyrażeniami
    >> regularnymi. Można to trzymać razem, ale kto przy zdrowych zmysłach
    >> potrzebuje takiej konstrukcji?
    >
    > Nie wiem, jaki jest zwiazek B-drzew z wyrazeniami regularnymi.
    > Tablice php-owe opieraja sie na spostrzeniu, ze sekwencje rowniez
    > stanowia forme asocjacji.

    Co nie znaczy, że to dobry pomysł mieszać haszmapy z tablicami, bo te
    struktury mają różne zastosowanie, różną budowę i różnie się zachowują
    przy większości operacji.

    --
    Secunia non olet.
    Stanislaw Klekot

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: