-
Data: 2014-04-09 11:38:15
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-04-09, g...@g...com <g...@g...com> wrote:
> W dniu wtorek, 8 kwietnia 2014 23:49:40 UTC+2 użytkownik Stachu 'Dozzie' K.
napisał:
>> On 2014-04-08, g...@g...com <g...@g...com> wrote:
>>
>> > W dniu wtorek, 8 kwietnia 2014 21:45:59 UTC+2 użytkownik g...@g...com
napisał:
>>
>> >> Czyli Twojego zarzutu nie mozna rozumiec jako zarzutu przeciwko PHP, tylko
>> >> przeciwko apache'owi i mod_php (jednak ten sam zarzut bedzie sie stosowal
>> >> rowniez do apache'a z mod_python, mod_perl czy mod_ruby)
>> >
>> > Jeszcze przyszlo mi do glowy, ze przeciez w PHP mozna korzystac z pamieci
>> > wspoldzielonej. Jesli do tego zaimplementuje sie odpowiednio interfejs
>> > ArrayAccess, to [...]
>>
>> Skończ już bronić PHP w tak niedorzeczny sposób. Twoje argumenty są tak
>> słabe, że aż trudno uwierzyć, że ktokolwiek mający cokolwiek wspólnego
>> z programowaniem mógł je zaproponować (piję tu w dużej części do twojej
>> propozycji oparcia się o nieudokumentowane wnętrzności interpretera;
>> tutaj proponujesz pisać samemu dzikie hacki, które pozwolą na stworzenie
>> bardzo kulawego serwera aplikacji, którego i tak nikt nie będzie
>> używać).
>
> Schlebia mi, ze masz swoja opinie na temat mocy moich argumentow, ale jezeli
> chcesz ja prezentowac publicznie, to bylbym wdzieczny, gdybys oprocz
> samej oceny podal rowniez uzasadnienie.
Uzasadnienie oceny? Pytasz dlaczego jest bezsensownym twoje twierdzenie,
że język jest przyzwoity, bo można oprzeć się o detale implementacyjne,
czyli wnętrzności jego runtime'u (o którym podobno w ogóle nie mówisz,
bo analizujesz tylko język)? Albo że język jest przyzwoity, bo
teoretycznie można (wkładając dopiero mnóstwo wysiłku) zmusić go do
pracy w modelu, w którym praktycznie nikt go nie używa?
Przyznam, że ciężko mi wyjaśnić dlaczego te dwa są bezsensowne. Podałbym
"zdrowy rozsądek" jako powód, ale trudno się dowodzi "zdrowy rozsądek".
> Bo na chwile obecna, jezeli nawet
> moje argumenty sa slabe, to Twoich nie ma wcale.
Misiu, przejrzyj może wątek jeszcze raz. Było parę argumentów *ode mnie*,
z niedorzecznymi, nieintuicyjnie (gwarancje złożoności anyone?)
działającymi tablicami i z kiepskim interpreterem na czele.
> Oczywiscie, mozna dyskutowac nad tym, czy korzystanie z pamieci wspoldzielonej
> w ogole to dobry pomysl. Ale to juz nie jest kwestia dotyczaca PHPa,
Chwila, stop. Najpierw *sam* wyciągasz pamięć współdzieloną, bo "można
w ten sposób zmusić PHP do pracy jako serwer aplikacji", a teraz mówisz,
że to nie jest kwestia dotycząca PHP?
> bo ta sama
> dyskusja odnosilaby sie w rownym stopniu do Pythona, Ruby'ego, Javy i
> w zasadzie wszystkich jezykow programowania, w ktorych ktokolwiek chcialby
> cos podobnego wprowadzic.
Nie. W Pythonie są już gotowe serwery aplikacji (Twisted, Phusion
Passenger, Zope). W Rubym też. Java ma ich pewnie nawet więcej, niż
Python, Ruby i Perl razem wzięte. W PHP nie ma *żadnego*, tylko model
"żadanie-uruchom program-zakończ program".
>> PHP to nie tylko *sam język*, ale również *biblioteka standardowa*
>> (która jest obrzydliwa) i *środowisko uruchomienia* (które potrafi
>> pracować sensownie jedynie w modelu "jedno żądanie = jedno uruchomienie
>> i zakończenie programu"). Zupełnie nie ma znaczenia, co można osiągnąć
>> z tym runtimem mając do dyspozycji kompetentny zespół specjalistów
>> i kilka lat pracy. Istotne jest co PHP daje *aktualnie*.
>
> A jak pisze sie w PHP wtyczki do Renoise'a (program muzyczny), to to nadal
> jest "*srodowisko uruchomienia* (ktore potrafi pracowac sensownie jedynie
> w modelu "jedno zadanie = jedno uruchomienie i zakonczenie programu")"?
Jeden odstający program. I autorzy Renoise są zostawieni samym sobie,
nikt im nie pomoże przy problemach z integracją PHP.
> Albo skrypty CLI?
Wiesz ile się pisze narzędzi do wiersza poleceń w PHP? Prawie wcale.
W PHP skrypty do wiersza poleceń piszą tylko ci, którzy nie znają
żadnego innego języka.
#v+
[dozzie@uw000444 bin]$ pwd
/usr/bin
[dozzie@uw000444 bin]$ head -n 1 * | grep --binary-files=text --count php
3
[dozzie@uw000444 bin]$ head -n 1 *(.) | grep --binary-files=text php
==> php5 <==
==> php5-cgi <==
==> php_count <==
[dozzie@uw000444 bin]$ head -n 1 * | grep --binary-files=text --count python
102
[dozzie@uw000444 bin]$ head -n 1 * | grep --binary-files=text --count ruby
26
[dozzie@uw000444 bin]$ head -n 1 * | grep --binary-files=text --count perl
406
[dozzie@uw000444 bin]$ head -n 1 * | grep --binary-files=text --count -E
'/bin/(sh|bash)'
339
[dozzie@uw000444 bin]$ /bin/ls -1 | wc -l
2711
[dozzie@uw000444 bin]$
#v-
> (I tutaj ciekawostka: obsluga sygnalow uniksowych
> w PHP jest zrobiona calkiem przyzwoicie)
Że co? W PHP obsługa uniksowych sygnałów jest zrobiona dokładnie jak
w C. Alternatywnie, obsługa uniksowych sygnałów jest zrzucona na libev.
Nie można zwykłego przekazywania wszystkiego jak leci niżej nazywać
"zrobionym całkiem przyzwoicie".
> Do tej pory, ilekroc pisalem o PHP, mialem na mysli jezyk wlasnie,
> a nie srodowisko uruchomieniowe (ktore mozna by bylo w tym kontekscie
> precyzyjniej okreslic jako mod_php, wiec nie ma potrzeby wprowadzania
> zamieszania). Podobnie, czym innym jest uzywanie mod_ruby, a czym innym
> korzystanie z Railsow.
Ale już nie da się oddzielić języka od zbioru interpreterów. Jak się
pisze o Pythonie, to ma się na myśli wszystkie trzy: składnię,
bibliotekę standardową i główną implementację interpretera (CPython).
To samo dotyczy Rubyego i czegokolwiek innego. Trudno prowadzić rzeczową
dyskusję o języku w oderwaniu od jego interpretera.
>> A że PHP jest zupełne w sensie Turinga, to i teoretycznie można zrobić
>> *dokładnie to samo*, co w Haskellu albo innym Pythonie. Tylko że *będzie
>> to niewygodne* (bo język niedostosowany) i *nikt* tego tak w PHP
>> *nigdy nie robił*, więc ktokolwiek będzie chciał go użyć inaczej zostaje
>> sam bez jakiejkolwiek pomocy.
>
> Brainfuck tez jest zupelny w sensie Turinga, a jednak mysle, ze sie
> zgodzisz, ze PHP jest mimo wszystko lepszy do pisania programow.
Głównie dlatego, że głównym założeniem Brainfucka było, żeby program
w nim napisany wyglądał jak najdziwniej. Argument niedorzeczny, bo PHP
miało być łatwe w użyciu, a nie dziwne.
> Zas co do rzeczy, ktore ktos juz kiedys robil, to coz -- one sa juz
> zrobione.
Tak? Pełnoprawny serwer aplikacji w PHP? Pokaż.
>> Naprawdę, to nie jest stanowisko, którego może bronić osoba pisząca
>> jakiekolwiek programy.
>
> Jakie stanowisko? Ze jesli chce sie cos miec, to mozna to samemu zrobic?
I dlatego język jest przyzwoity? Bo można zrobić samemu? Bo tak do tej
pory wynika z twoich wypowiedzi. W Brainfucku też można napisać serwer
aplikacji. To przyzwoity język!!!
> Ze zamiast narzekac, ze cos jest marne, mozna to poprawic, albo przynajmniej
> zaproponowac autorowi, jak mozna by to poprawic?
Autorowi było proponowane wielokrotnie (poszukaj po bugtrackerze PHP).
Wynik widać.
A poprawianie tak, żeby to miało sens, w tym przypadku powinno polegać
na stworzeniu zupełnie nowego języka, o wygodniejszej składni, bogatszej
semantyce i lepszemu runtime'owi. I wiesz co? Takie rzeczy są robione.
Naprawdę. Możesz poszukać jak nie wierzysz.
--
Secunia non olet.
Stanislaw Klekot
Następne wpisy z tego wątku
- 09.04.14 12:32 g...@g...com
- 09.04.14 13:03 Stachu 'Dozzie' K.
- 09.04.14 13:47 Stachu 'Dozzie' K.
- 09.04.14 13:53 g...@g...com
- 09.04.14 14:23 g...@g...com
- 09.04.14 17:44 firr
- 09.04.14 20:18 Sebastian Biały
- 09.04.14 23:36 g...@g...com
- 10.04.14 01:52 firr
- 10.04.14 07:50 Wojciech Muła
- 10.04.14 11:07 firr
- 10.04.14 11:07 g...@g...com
- 10.04.14 11:42 firr
- 10.04.14 18:02 g...@g...com
- 10.04.14 19:30 firr
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2025-01-01 Już nie płoną
- 2025-01-01 Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- 2025-01-01 Co tam u Was
- 2025-01-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z bibl. Qt) i D.
- 2025-01-01 Gdańsk => Delphi Programmer <=
- 2025-01-01 Łódź => Programista Full Stack .Net <=
- 2025-01-01 Żerniki => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-01 Wrocław => Specjalista ds. Sprzedaży <=
- 2024-12-31 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-01 Przypomnienie: Mini Netykieta polskich grup dyskusyjnych wer. 3.2.2
- 2024-12-31 Zamykanie konta dziecka.
- 2024-12-31 Czy apka bankowa to gra komputerowa?
- 2024-12-31 Szukam: czujnik ruchu z możliwością zaączenia na stałe
- 2024-12-31 Warszawa => Solution Architect (Java background) <=