eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProgramista iOS - Łódź › Re: Programista iOS - Łódź
  • X-Received: by 10.140.107.138 with SMTP id h10mr1542763qgf.2.1395857483275; Wed, 26
    Mar 2014 11:11:23 -0700 (PDT)
    X-Received: by 10.140.107.138 with SMTP id h10mr1542763qgf.2.1395857483275; Wed, 26
    Mar 2014 11:11:23 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!usenet.blueworldhosting.com!feeder01.bluewo
    rldhosting.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.
    highwinds-media.com!w5no8924592qac.0!news-out.google.com!bw18ni23786qab.1!nntp.
    google.com!w5no8924588qac.0!postnews.google.com!glegroupsg2000goo.googlegroups.
    com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 26 Mar 2014 11:11:22 -0700 (PDT)
    In-Reply-To: <s...@j...net>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.71.19.147;
    posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
    NNTP-Posting-Host: 89.71.19.147
    References: <b...@g...com>
    <s...@j...net>
    <1...@g...com>
    <lgksdl$6ta$1@node1.news.atman.pl>
    <0...@g...com>
    <lgn75r$n0m$1@node2.news.atman.pl>
    <6...@g...com>
    <lgnm46$6v5$1@node2.news.atman.pl>
    <4...@g...com>
    <s...@j...net>
    <b...@g...com>
    <s...@j...net>
    <7...@g...com>
    <s...@j...net>
    <f...@g...com>
    <s...@j...net>
    <b...@g...com>
    <s...@j...net>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <7...@g...com>
    Subject: Re: Programista iOS - Łódź
    From: g...@g...com
    Injection-Date: Wed, 26 Mar 2014 18:11:23 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 6811
    X-Received-Body-CRC: 2870491524
    Xref: news-archive.icm.edu.pl pl.comp.programming:205396
    [ ukryj nagłówki ]

    W dniu środa, 26 marca 2014 13:19:12 UTC+1 użytkownik Stachu 'Dozzie' K. napisał:
    > 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.

    Historycznie. Wiele z tych niedostatkow zostalo juz poprawionych,
    chociaz wyglada na to, ze wlasnie z powodu historycznych nalecialosci
    PHP nigdy nie zostanie naprawde porzadnym jezykiem (chociaz kto wie)

    > >> 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ąć.

    No to prawie jak w lispie :]

    > >> > 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.

    Takich gwarancji nie daje nawet C.
    A PHP pod tym wzgledem nigdy mnie nie zaskoczyl, chociaz robilem
    z nim naprawde dziwne rzeczy.

    > >> 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?

    Faktycznie w dokumentacji tego nie ma, i nie sadze, zeby PHP dawal
    gwarancje. (Jak stanowi licencja, THIS SOFTWARE IS PROVIDED
    BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ANY EXPRESSED OR
    IMPLIED WARRANTIES). Ale z tego co czytalem, to w praktyce
    tak wlasnie jest implementowane, co szybki risercz wydaje
    sie potwierdzac:
    http://stackoverflow.com/questions/2350361/how-is-th
    e-php-array-implemented-on-the-c-level

    > >> 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.

    Maja taki sam interfejs.
    Bystry kompilator moglby sam wpasc na to, kiedy uzyc jakiej struktury
    danych. A z perspektywy uzytkownika nie musi miec znaczenia, czy uzywa
    drzewa, wektora czy haszmapy, i jezeli ktos moze tutaj cos pojeciowo
    namieszac, to tylko sam uzytkownik.

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: