-
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.
Następne wpisy z tego wątku
- 26.03.14 19:31 Sebastian Biały
- 26.03.14 19:32 Sebastian Biały
- 26.03.14 19:34 Sebastian Biały
- 26.03.14 19:58 Sebastian Biały
- 27.03.14 00:07 Roman W
- 27.03.14 00:10 Roman W
- 27.03.14 02:28 Stachu 'Dozzie' K.
- 27.03.14 10:19 firr
- 27.03.14 15:00 g...@g...com
- 27.03.14 15:44 Stachu 'Dozzie' K.
- 27.03.14 15:46 g...@g...com
- 27.03.14 19:40 firr
- 30.03.14 20:14 Wojciech Muła
- 30.03.14 20:40 Wojciech Muła
- 30.03.14 21:08 Sebastian Biały
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi
- 2024-12-20 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-20 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-20 Rzeszów => International Freight Forwarder <=
- 2024-12-20 Katowice => Key Account Manager (ERP) <=
- 2024-12-20 Ekstradycja
- 2024-12-20 Mikroskop 3D
- 2024-12-20 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-20 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe