-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin.
stu.neva.ru!aioe.org!.POSTED!not-for-mail
From: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.programming
Subject: Re: Programista iOS - Łódź
Date: Thu, 27 Mar 2014 14:44:10 +0000 (UTC)
Organization: Aioe.org NNTP Server
Lines: 146
Message-ID: <s...@j...net>
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>
<7...@g...com>
<s...@j...net>
<2...@g...com>
NNTP-Posting-Host: 32kR2H3mw0v3HL1sSnS9/A.user.speranza.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Complaints-To: a...@a...org
User-Agent: slrn/pre1.0.0-18 (Linux)
X-Notice: Filtered by postfilter v. 0.8.2
Xref: news-archive.icm.edu.pl pl.comp.programming:205408
[ ukryj nagłówki ]On 2014-03-27, g...@g...com <g...@g...com> wrote:
> W dniu czwartek, 27 marca 2014 02:28:31 UTC+1 użytkownik Stachu 'Dozzie' K.
napisał:
>> On 2014-03-26, g...@g...com <g...@g...com> wrote:
>>
>> > Historycznie. Wiele z tych niedostatkow zostalo juz poprawionych,
>>
>> ...w ciągu ostatnich czterech-sześciu lat, czyli już dawno po
>> terminie...
>
> A jaki byl termin?
Tak z piętnaście lat temu, kiedy Python zaczął dobrze zdobywać
popularność.
>> > Takich gwarancji nie daje nawet C.
>> > A PHP pod tym wzgledem nigdy mnie nie zaskoczyl, chociaz robilem
>> > z nim naprawde dziwne rzeczy.
>>
>> W C wiadomo, że dostęp do elementu w tablicy ma złożoność O(1). W PHP
>> nie wiadomo, bo przy tej mieszance nie-wiadomo-jakiej-mapy (hasz
>> z porządkiem to *nie jest* standardowa implementacja hasza) i tablicy
>> nie jestem w stanie powiedzieć, że złożoność jest O(F(n)).
>
> To mowimy o czasie, czy o zlozonosci?
O złożoności czasowej? Ja nie chcę pisać systemu czasu rzeczywistego, ja
chcę wiedzieć że system nie klęknie przy wzroście ilości danych.
> Jezeli uruchamiasz cos na systemie ze stronicowaniem pamieci,
> to tracisz wszelkie gwarancje czasowe (chyba ze korzystasz z jakichs
> watkow czasu rzeczywistego). Na potrzeby praktyczne mozna uznac,
> ze w PHP czas dostepu do tablicy jest rzedu O(1)
...z dokładnością do tego, że nie można, bo to nie jest normalna
tablica, a nigdzie nie ma deklaracji, że tak to będzie się zachowywać.
>> >> >> 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
>>
>> Czyli chcesz powiedzieć, że mam się oprzeć o nieudokumentowane
>> zachowanie, które może się zmienić między patchlevelami? Naprawdę tak
>> uważasz? W swoim własnym kodzie tak robisz?
>
> To zalezy, jaki problem chce rozwiazac. Ale jezeli tak niepokoi Cie kwestia
> gwarancji, to:
> 1) zrodla PHPa sa dostepne, mozna sobie poczytac
> 2) nie musisz robic update'u do nowszej wersji, jezeli mialyby z tego
> wynikac jakies problemy
Jeszcze lepiej, każesz mi pilnie śleldzić wnętrzności! Może zakończmy tę
dyskusję, bo o ile jestem tylko sysadminem, to to, co mi właśnie radzisz
o PHP kłóci się straszliwe ze wszystkim, co wiem o pisaniu softu,
a nawet ze zwyczajnym zdrowym rozsądkiem.
>> >> >> 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.
>>
>> Nie. W haszu nie ma pojęcia pojęcia "połowa tablicy". W haszu nie ma
>> pojęcia "element 2*n+1", w każdym razie nie bez dziwnego, sztucznego
>> traktowania kontenera przez programistę ("umówmy się, że nie będę
>> robić X").
>
> Tablice PHP zachowuja porzadek wprowadzania, wiec jest w nich
> pojecie "polowa tablicy".
Który z kluczy jest tym w "połowie tablicy"? I co to znaczy "zachowują
porządek wprowadzania"? Jak wprowadzę klucze 9, 8, 7, to będę miał
iterację w tej właśnie kolejności? (Co jest niedorzeczne, bo dla *tablicy*
powinna być rosnąca.) A może w kolejności 7, 8, 9? (Co jest
niedorzeczne, bo klucze-stringi są traktowane inaczej, zgodnie z tym co
mówisz.) W którą stronę się nie obrócić, sytuacja do dupy, bo
w pierwszym wyborze (mieszanie tablic z haszem) ktoś zj***ł sprawę.
> Jezeli nie masz potrzeby robic z tego
> uzytku, to mozesz ignorowac kwestie porzadku w haszach.
Ale to już dawno nie jest standardowy hasz, skoro zapamiętuje kolejność
wprowadzania kluczy. Z samego tego tytułu nie mogę nic powiedzieć
o złożoności czasowej operacji.
>> > Bystry kompilator moglby sam wpasc na to, kiedy uzyc jakiej struktury
>> > danych.
>>
>>
>> W PHP nie ma bystrego kompilatora (czy tam parsera). W PHP jest
>> interpreter, który jest tak głupi, że dla niego 0x0+2 = 4.
>> Interpreter PHP nawet nie konstruuje drzewa wyprowadzenia, tylko
>> uruchamia kod od razu w ramach akcji semantycznych.
>
> To prawda. Ale to kwestia implementacji, a nie semantyki.
Sam wyciągnąłeś kwestie implementacyjne. Aktualnie sprawa wygląda tak,
że PHP ssie jak odkurzacz.
>> > 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.
>>
>> Dlaczego chcesz *zmuszać* użytkownika do stałego uważania jeszcze w tym
>> miejscu? W PHP jest wystarczająco dużo miejsc gdzie można się potknąć.
>> Dlaczego dokładać jeszcze to jedno? Bo na pewno nie dla wygody (w innych
>> językach hasz i tablica są rozdzielone i *nikt* nie narzeka).
>
> W PHPie nie sa rozdzielone, i tez nikt nie narzeka.
Jak to nikt? Dużo tych, którzy znają cokolwiek więcej niż sam PHP.
To nie jest "nikt".
> Jezeli ktos wie, jak korzystac z haszow, poradzi osobie z tablicami PHP.
> Jezeli ktos wie, jak korzystac z tablic, tez sobie poradzi.
Nie ma "sobie poradzić". Ma się nie potykać *niepotrzebnie* o głupoty.
--
Secunia non olet.
Stanislaw Klekot
Następne wpisy z tego wątku
- 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
- 31.03.14 06:05 Andrzej Jarzabek
- 05.04.14 17:02 Wojciech Muła
- 08.04.14 19:25 Tomasz Sowa
- 08.04.14 21:45 g...@g...com
- 08.04.14 23:21 g...@g...com
- 08.04.14 23:49 Stachu 'Dozzie' K.
- 09.04.14 07:27 Wojciech Muła
- 09.04.14 09:49 g...@g...com
- 09.04.14 11:08 g...@g...com
- 09.04.14 11:38 Stachu 'Dozzie' K.
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-27 Warszawa => APM/Observability Engineer (Presales Engineer) <=
- 2026-01-26 #Motodziennik 365 Powrót spalinowych Renault Megane i Scenica, Volvo EX60 oraz ID.Tiguan
- 2026-01-26 Ciekawe fikoły
- 2026-01-26 Toruń => Preseles Inżynier (background baz danych) <=
- 2026-01-26 sznurowadła kwestia prawna
- 2026-01-26 Białystok => Senior Frontend Developer React <=
- 2026-01-26 Warszawa => Consultant Microsoft Dynamics 365 Finance (F&O) <=
- 2026-01-25 Organizacja religijna i nielegalna sprzedaż
- 2026-01-25 Tego "księdza" powinni wywalić z kościołai z pracy w kościele
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- 2026-01-25 W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- 2026-01-25 rozmiar skrzyżowania
- 2026-01-24 Do czego prowadzą REGULACJE opiekuńczego państwa




Sprzedaż nowych mieszkań wyższa niż prognozy. Dokąd zmierza rynek?