-
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
Następne wpisy z tego wątku
- 26.03.14 13:24 Stachu 'Dozzie' K.
- 26.03.14 18:00 pwola
- 26.03.14 19:11 g...@g...com
- 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
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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??
Najnowsze wątki
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=