🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #26557

Re: python vs php - potrzebne argumenty

#26557
From: Grzegorz Staniak
Date: Thu, 29 Oct 2009 23:10
95 lines
4699 bytes
On 29.10.2009, pakalk <pakalk@gmail.com> wroted:

>> >> Język niezależnie od wszystkiego innego też jest zdrowo
>> >> skopany.
>>
>> > To znaczy? Co konkretnie?
>>
>> Lepiej zapytaj co nie zostało skopane. Tysiące wbudowanych
>> funkcji w jednej przestrzeni nazw to po prostu chory sen wariata,
>
> Bo nie było do tej pory przestrzeni.

Ale ja nie mówię o tym co obecni autorzy wiedzą że powinno być
i co planują, czy powoli wprowadzają, ale o tym co było i co 
jest -- i jeszcze będzie, ze względu na zgodność w dół. 

>> niespójne nazewnictwo i kolejność argumentów pogłębiają to
>> wrażenie. Fatalna obsługa unikodu i ogólnie kodowań tekstu.
>> Obsługa błędów po prostu tragiczna, przy zagnieżdżonych
>> inkludach błąd na kolejnym poziomie zagnieżdżenia produkuje
>> biały ekran i tyle. Pierdyliard niespójności i zagwozdek
>> semantycznych, jak słynne '(string)"false" == (int)0 is true'.
>> Wymóżdżone typy danych, jak "lista i hasz w jednym"
>
> Co akurat wadą nie jest, bo niby czemu? 

Zapytaj kogoś, kto miał na studiach zajęcia ze struktur danych.
Podpowiedź: wydajność.

>> , nie dająca w sumie ani dobrego hasza, ani dobrej listy
>> (niespójność indeksów po usunięciu elementu ze środka listy
>> to kuriozum),
>
> Eeee... Tablice asocjacyjne z PHP sa powszechnie chwalone

Przez kogo konkretnie? Decyzja o zrobieniu listy-i-hasza jako 
mapującej struktury danych jest po prostu debilna. Poza PHP
robi to chyba tylko AWK. Dzięki temu masz strukturę powolną 
jak diabli, ale za to pozbawioną zalet listy: jeśli po usunięciu
indeksu muszę używać funkcji żeby indeksy zachowały ciągłość:

$array = array_values($array);

to coś jest grubo nie tak. Kto konkretnie chwali te tablice 
i za co, jeśli można wiedzieć?

> a jesli chodzi o struktury danych...
>
> http://www.php.net/manual/en/spl.datastructures.php

To, że musisz sobie z czasem sztukować funkcjonalność rozszerzeniami 
(np. bcmath, żeby można było polegać na integerach) potwierdza tylko
tezę o błędach w projekcie języka. Nie jest żadną wielką chwałą, że
po latach PHP dorobiło się struktur znanych dawno z innych języków.

>> albo int, którego rozmiaru nigdy nie możesz być pewien (32-bit
>> na systemach 32-bit, 64-bit na 64-bitowych),
>
> No to mozesz byc pewien: 32 na 32, 64 na 64 :>

Mało śmieszne, kiedy żeby być pewnym działania aplikacji musisz 
używać rozszerzeń naprawiających te błędne decyzje projektowe, 
albo pisać własne wrappery sprawdzające, czy na pewno nie strzelasz
sobie w stopę. I pamiętać, żeby użyć ich wszędzie tam, gdzie może
pojawić się kłopot. 

>> tak samo jak tego, że zostanie zwrócony jako unsigned.
>
>> Pseudo-referencje.
>
> Tak? Gdzie? Jak dla mnie to one dzialaja, jak pelnoprawne
> referencje.

To są aliasy, nie referencje (w PHP poniżej 5).

>> OOP jako afterthought, ledwo doprowadzone do używalności w PHP 5.
>
> Prosze Cie..

O co?

>> Brak thread-safety. Tę listę naprawde można by jeszcze sporo
>> przedłużyć.
>
> Moze i mozna, ale polowa tej listy to wymysly bez pokrycia w
> faktach. 

Sorki, ale nie masz pojęcia o czym mówisz. Używam PHP od wersji 
0.8, koło 15 lat, i zdążył mi już przejść zachwyt nad tym jakie
to wspaniałe środowisko. 

GS
-- 
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Technical Details
Message-ID: <hcd7ck$3a6$1@news.lublin.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!news.onet.pl!lublin.pl!news.lublin.pl!not-for-mail
References: <h83in7$rl3$1@inews.gazeta.pl> <h8447e$mg9$1@inews.gazeta.pl> <6a8e97cb-add7-450a-b7f2-f16ecc3cd0f6@y23g2000yqd.googlegroups.com> <6a691836-80db-4b66-bc41-f3c15e6782f7@v36g2000yqv.googlegroups.com> <6e26a02f-20fa-4a82-a722-9fbf78f0ef29@z41g2000yqz.googlegroups.com> <hcc9nt$eqr$1@news.lublin.pl> <f03c49b0-651b-4afa-ad73-db8dde63fdef@p35g2000yqh.googlegroups.com> <hccvvt$u0t$1@news.lublin.pl> <ac46bc62-a3ee-40a1-ac5d-860be3029272@z41g2000yqz.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!news.onet.pl!lublin.pl!news.lublin.pl!not-for-mail
From: Grzegorz Staniak <gstaniak@wp.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: python vs php - potrzebne argumenty
Date: Thu, 29 Oct 2009 23:10:12 +0000 (UTC)
Organization: lubman
Lines: 95
Message-ID: <hcd7ck$3a6$1@news.lublin.pl>
References: <h83in7$rl3$1@inews.gazeta.pl> <h8447e$mg9$1@inews.gazeta.pl> <6a8e97cb-add7-450a-b7f2-f16ecc3cd0f6@y23g2000yqd.googlegroups.com> <6a691836-80db-4b66-bc41-f3c15e6782f7@v36g2000yqv.googlegroups.com> <6e26a02f-20fa-4a82-a722-9fbf78f0ef29@z41g2000yqz.googlegroups.com> <hcc9nt$eqr$1@news.lublin.pl> <f03c49b0-651b-4afa-ad73-db8dde63fdef@p35g2000yqh.googlegroups.com> <hccvvt$u0t$1@news.lublin.pl> <ac46bc62-a3ee-40a1-ac5d-860be3029272@z41g2000yqz.googlegroups.com>
NNTP-Posting-Host: gwz82.internetdsl.tpnet.pl
Mime-Version: 1.0
X-Trace: news.lublin.pl 1256857812 3398 80.52.205.82 (29 Oct 2009 23:10:12 GMT)
X-Complaints-To: abuse@news.lublin.pl
NNTP-Posting-Date: Thu, 29 Oct 2009 23:10:12 +0000 (UTC)
User-Agent: slrn/0.9.9p1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit