🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: python vs php - potrzebne argumenty

#26544
From: Grzegorz Staniak
Date: Fri, 30 Oct 2009 12:19
95 lines
5029 bytes
On 30.10.2009, pakalk <pakalk@gmail.com> wroted:

>> >> > Pozniej natomiast mnie uswiadomcie w jaki sposob array() udaje
>> >> > Wam liste
>>
>> >> Może inaczej: pokaż mi, jak użyć w PHP listy.
>>
>> > Choćby i opierając się o tablice. Owszem, klucze nie będą
>> > się zgadzać z kolejnością, tylko nie przypominam sobie, żeby
>> > to była własność list.
>>
>> Bo niespecjalnie znasz inne, normalne języki. Wymień _jeden_
>> inny niż PHP, w którym po usunięciu elementu ze środka listy
>> zostaniesz z "dziurą" w indeksach.
>
> Struktury danych nie są zależne od języka. 

Cool. A teraz wymień język inny niż PHP w których masz listy 
jako typ danych, a po usunięciu elementu zostaje ci dziura 
w indeksach.

[...]
>> > Natomiast kompletną bzdurą jest twierdzenie, że tablica to
>> > lista, co wcześniej robiłeś.
>>
>> I znowu dość bezczelnie kłamiesz. Łatwo sprawdzić w wątku, co
>> mówiłem, nie rozumiem dlaczegi liczysz na to, że kłamstwo nie
>> zostanie zweryfikowane.
>
> No właśnie łatwo. To sobie sprawdź czy nie pisałeś, że
> tablice udają Ci listy.

Zacytuj.

[...]
>> >> Mhm. A składnia typu "$array = array('a', 'b', 'c');",
>> >> z automatycznym indeksowaniem integerami została do PHP
>> >> dodana niechcący, kiedy kot autora przespacerował się po
>> >> klawiaturze.
>>
>> > Nie. Ale jak już pisałem, to skrót, gdy niepotrzebne są nam
>> > klucze.
>>
>> A dziwnym trafem klucze nie są nam potrzebne wtedy, kiedy chcemy
>> użyć listy, a nie hasza.
>
> To co Ty chcesz z tym zrobić to nie jest wiadome dla PHP-a.

Masz sto procent racji: potrzeby programistów to jest coś, co 
od początku było dla autorów PHP niewiadomą.

[...]
>> >> Peeewnie, że można. A jak się z tak realizowanej listy usunie
>> >> jedną pozycję, to nie można, ale _trzeba_ wywołać
>>
>> >> $array = array_values($array);
>>
>> > Jak chcesz mieć ponumerowane elementy - to tak. I co? To znaczy,
>> > że się nie da?
>>
>> To znaczy, że język jest uperdliwy w użyciu, ponieważ wprowadza
>> wymóżdżone typy danych w stylu "hurra! hasz i lista w jednym!",
>> które nie są ani dobrą listą, ani dobrym haszem.
>
> No i znów oczywiście nie twierdzisz, że tablica ma byc listą

Kochany ciężko sklerotyczny kolego, to ty sam przed chwilką
opowiadałeś jak to można sobie przy pomocy tablic zaimplementować
listę. Pokaż mi wobec tego jak: tak żebym nie musiał reindeksować
i miał wydajność porównywalną chociaż z listami w innych językach.

[...]
>> >> żeby lista zachowała ciągłość indeksów. No, ale za to
>> >> będzie powolna jak hasz,
>>
>> > Bo to jest tablica asocjacyjna, a nie lista.
>>
>> No co ty? A podobno można nią sobie zaimplementować i listę.
>> Jak to zrobić, żeby uniknąć upierdliwości typu reindeksowanie,
>> albo mieć wydajność listy?
>
> Zrób sobie klasę. 

Innymi słowy: trać czas, bo autorowi języka nie chciało się 
pomyśleć przy implementacji typów danych.

> Takie kretyńskie pytania zadajesz. A jak za pomocą struktur 
> i wskaźników w C zrobić listę? A sorry... do C nie doszedłeś.

Tak tak, u nich oczywiście biją murzynów.

GS
-- 
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Technical Details
Message-ID: <hcelks$vav$1@news.lublin.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lublin.pl!news.lublin.pl!not-for-mail
References: <h83in7$rl3$1@inews.gazeta.pl> <hcc9nt$eqr$1@news.lublin.pl> <f03c49b0-651b-4afa-ad73-db8dde63fdef@p35g2000yqh.googlegroups.com> <hcctbs$fcq$1@news.dialog.net.pl> <da4dbfa5-cf67-43a4-8ab5-243ee9d2ac00@h2g2000vbd.googlegroups.com> <hcdf33$p8b$1@news.dialog.net.pl> <8c73a3c0-0400-4be5-b960-982256f389a3@s15g2000yqs.googlegroups.com> <slrnhel6o8.ld9.news@atos.wmid.amu.edu.pl> <06aa3a5e-7817-4eb9-ac73-7ad1b11b6e2b@m26g2000yqb.googlegroups.com> <hce826$m49$3@news.lublin.pl> <d3f07cb1-a04d-4d6f-a2e5-b3b9ca5effba@s31g2000yqs.googlegroups.com> <aa934367-2ced-4336-af15-3451837dea82@j24g2000yqa.googlegroups.com> <b3b7e923-8f9f-489b-8bcc-2f366bcf0c6e@p35g2000yqh.googlegroups.com> <hcejq0$tu5$2@news.lublin.pl> <c0d5d6e8-729a-4cbd-b459-8c7e2e27792d@m16g2000yqc.googlegroups.com> <hcekps$ult$1@news.lublin.pl> <5c3f2247-9822-436d-b237-83e02072b541@d5g2000yqm.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!agh.edu.pl!news.agh.edu.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: Fri, 30 Oct 2009 12:19:40 +0000 (UTC)
Organization: lubman
Lines: 95
Message-ID: <hcelks$vav$1@news.lublin.pl>
References: <h83in7$rl3$1@inews.gazeta.pl> <hcc9nt$eqr$1@news.lublin.pl> <f03c49b0-651b-4afa-ad73-db8dde63fdef@p35g2000yqh.googlegroups.com> <hcctbs$fcq$1@news.dialog.net.pl> <da4dbfa5-cf67-43a4-8ab5-243ee9d2ac00@h2g2000vbd.googlegroups.com> <hcdf33$p8b$1@news.dialog.net.pl> <8c73a3c0-0400-4be5-b960-982256f389a3@s15g2000yqs.googlegroups.com> <slrnhel6o8.ld9.news@atos.wmid.amu.edu.pl> <06aa3a5e-7817-4eb9-ac73-7ad1b11b6e2b@m26g2000yqb.googlegroups.com> <hce826$m49$3@news.lublin.pl> <d3f07cb1-a04d-4d6f-a2e5-b3b9ca5effba@s31g2000yqs.googlegroups.com> <aa934367-2ced-4336-af15-3451837dea82@j24g2000yqa.googlegroups.com> <b3b7e923-8f9f-489b-8bcc-2f366bcf0c6e@p35g2000yqh.googlegroups.com> <hcejq0$tu5$2@news.lublin.pl> <c0d5d6e8-729a-4cbd-b459-8c7e2e27792d@m16g2000yqc.googlegroups.com> <hcekps$ult$1@news.lublin.pl> <5c3f2247-9822-436d-b237-83e02072b541@d5g2000yqm.googlegroups.com>
NNTP-Posting-Host: gwz82.internetdsl.tpnet.pl
Mime-Version: 1.0
X-Trace: news.lublin.pl 1256905180 32095 80.52.205.82 (30 Oct 2009 12:19:40 GMT)
X-Complaints-To: abuse@news.lublin.pl
NNTP-Posting-Date: Fri, 30 Oct 2009 12:19:40 +0000 (UTC)
User-Agent: slrn/0.9.9p1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit