abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    dnes 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    včera 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 15
    včera 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    6.5. 22:11 | Nasazení Linuxu

    Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 2
    6.5. 13:22 | IT novinky

    Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.

    Ladislav Hagara | Komentářů: 1
    6.5. 04:55 | Nová verze

    Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 1
    6.5. 00:33 | Komunita

    Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.

    Ladislav Hagara | Komentářů: 32
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 550 hlasů
     Komentářů: 25, poslední včera 20:12
    Rozcestník

    PHP 5.3.0

    Vyšlo PHP 5.3.0. Obsahuje několik novinek a opravuje přes 140 chyb. Mezi novinky patří jmenné prostory (namespaces), goto, podpora ternárního operátoru ?: a garbage collector pro cyklické reference. Vizte kompletní seznam změn.

    30.6.2009 17:41 | David Watzke | Nová verze


    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    30.6.2009 17:52 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    tak goto je vlastnost, ktera v PHP ocividne chybela...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    David Watzke avatar 30.6.2009 18:14 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Čekal jsem, kdo to okomentuje první :-D
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    30.6.2009 21:57 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    GOTO je prikaz, ktery ve firmach cini programatora nezastupitelnym. Vivat GOTO!

    1.7.2009 19:54 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    ROFL, +1
    30.6.2009 18:42 _
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Za kolik let bude PHP 5.3 mozne pouzit v komercnim prostredi? Pripada mi, ze lini vyvojari budou tvrdit PHP 5.3 nechceme protoze se nebudeme ucit nic noveho a lini (l)useri nebudou mit jeho podporu na serveru kvuli administratorum kteri nechteji nic updatovat / upgradovat ani znovu konfigurovat a testovat. 2 roky?
    stativ avatar 30.6.2009 19:00 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Spíš tady jde o otestovanost. A jinak – vývojáři se nemusí učit nic nového. GOTO je v 99 % případů nepotřebná prasárna (zajímavé je, jak by se ho některé jazyky rádi zbavily ale php ho přidává), namespaces nejsou povinné, ale je to pěkná vlastnost a ?: taky nikdo nikomu nenutí.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    30.6.2009 21:59 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Nekompatibilit mezi 5.2 a 5.3 je dost malo, spis jde o cekani na prvni nebo druhou 5.3.X verzi.

    Nicmene se na nej tesim jako dite na lizatko ... late static binding a lambda funkce - no konecne!

    30.6.2009 18:54 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Goto? Kriste pane... Zrovna tahle "feature" mi nijak nechybi :) Ale jinak mám pocit, že ternární operátor ?: PHP umí už dlouho :)
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    30.6.2009 18:59 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Ide o špeciálnu verziu toho operátora. Teda niečo ako:
    $a = $x ?: $y;
    znamená
    $a = $x ? TRUE : $y;
    30.6.2009 19:49 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    myslim, ze se mylite...

    podle dokumentace to znamena:
    $a = $x ? $x : $y
    coz je neco malinko jineho, protoze TRUE v PHP muze byt cokoliv ruzne od nuly (a tusim prazdneho pole) ...ale uz jsem v php nejakou dobu neprogramoval....

    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    mkoubik avatar 30.6.2009 20:12 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    IMHO se to chová přesně jako ?? v C# (tam je to kvůli LINQ a převodům z null-typů, v PHP mi to nějak extra nechybělo).
    Josef Kufner avatar 30.6.2009 20:15 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Hlavne v pripade true by to vubec nemelo smysl. Spis by se mi libilo, kdyby operator || (or) nevracel true, ale prvni nenulovou hodnotu...
    Hello world ! Segmentation fault (core dumped)
    30.6.2009 18:58 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Konečně užitečná vlastnosti u toho ternárního operátoru, ještě aby šlo udělat něco jako &$promenna?:$promenna2, tedy, aby se výsledek přímo přiřadil do $promenna a nemuselo se psat $promenna=$promenna?:$promenna2, jako při ošetřování checkboxů, které mají tu pitomou vlastnost, že při zaškrtnutí vracení 'on':
    $this->alarm = $this->alarm ? 1 : 0;
    
    vs
    &$this->alarm ? 1 : 0;
    
    a bude to úplně skvělé.
    30.6.2009 19:09 Scrool | skóre: 2
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Syntaktickým cukrom k neprehladnosti perlu?

    30.6.2009 22:02 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Vyznam se da z vlastnosti ternarniho operatoru odhadnout ... navic tohle se fakt dost hodi.

    Josef Kufner avatar 30.6.2009 20:17 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Tak pokud si to chces zkratit, muzes zkusit:
    $this->alarm = !!$this->alarm;
    Není to teda 1/0 ale true/false.
    Hello world ! Segmentation fault (core dumped)
    1.7.2009 13:17 jos
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    checkbox má tu pitomou vlastnost, že když mu nenastavíš value, tak v php dostaneš default "On"

    1.7.2009 14:59 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Priznam se, ze jsem si toho nikdy nevsiml (vzdy value nastavuji), ale proc je to pitoma vlastnost? "On" se vyhodnoti na true uplne stejne jako retezec "1". Mimoto stejne musite otestovat, zda je promenna vubec definovana (pokud neni checkbox zaskrtly).

    Konqui avatar 30.6.2009 20:05 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Nikdy jsem nepřišel na chuť ternárním operátorům, vždy mi to připadlo jako neuvěřitelné zprasení čitelnosti kódu.Ale to je jen má vlastnost.GOTO je ale prasárna neuvěřitelná.To by v objektovém jazyce nemělo co dělat.Jinak namespaces jsou hodně užitečné, jsem rád že PHP jde aspoň v něčem dopředu.
    Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.
    30.6.2009 21:15 Non_E | skóre: 24 | blog: hic_sunt_leones | Pardubice
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    S tím naprosto souhlasím. Ternární operátor je stejně s přívalem připomínek od šéfů zanedlouho nahrazen ifem.
    Only Sith deals in absolutes.
    30.6.2009 21:36 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Ternární operátor (a tenhle "Elvis", jak to nazývají v Groovy) je super věc pro používání API ve stylu fluent interface. Já si na to v poslední době hodně zvyknul.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    30.6.2009 21:38 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Mi s nimi naopak připadá kód přehlednější.
    30.6.2009 21:55 kaja47 | blog:
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Naštěstí goto není neomezené, ale dá se lítat jenom v jednom souboru a jednom kontextu.
    30.6.2009 23:52 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Naštěstí goto není neomezené
    to je prave ta nuda... kdyby to goto udelali poradne... to by byla aspon sranda...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    30.6.2009 22:09 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    if(isset($_GET["checkbox"])

            $value = 1;

    else

            $value = 0;

    mysql_query("UPDATE `table` SET `column` = " . $value);

    Versus

    mysql_query("UPDATE `table` SET `column` = " . (isset($_GET["checkbox"] ) ? 1 : 0);

    Popr. jina varianta (na dva radky). Co je pak prehlednejsi? U takto trivialnich kodu se to zda byt jedno, ale v pripade rozsahlejsich projektu hraje v prehlednosti roli i delka kodu.

    dayvee avatar 1.7.2009 10:02 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    pripadne mysql_query("UPDATE `table` SET `column` = ".(int)$_GET["checkbox"]);
    debian was first announced on my 3rd birthday :)
    1.7.2009 13:19 jos
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    to ti vygeneruje notice (když nebude zaškrtnutej)

    dayvee avatar 1.7.2009 14:40 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    okay, pokud se nekdo stara o noticy tak
    mysql_query("UPDATE `table` SET `column` = ".(int)isset($_GET["checkbox"]));
    debian was first announced on my 3rd birthday :)
    dayvee avatar 1.7.2009 14:42 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Jde o to, ze v tomto pripade neni potreba podminkovy operator, staci pretypovani.
    Nechci vsak podcenovat uzitecnost tohoto operatoru, sam ho velice casto pouzivam takto:
    echo $val ? "Hodnota: ".$val : "Hodnota neni uvedena";
    nebo podobnym zpusobem ...
    debian was first announced on my 3rd birthday :)
    1.7.2009 14:53 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Jiste, neni nutne jej pouzit .. jde o to, ze tohle pretypovani boolean na int je IMHO mene prehledne nez ternarni operator ... ktery clovek nekde vyse oznacil za neprehledny.

    dayvee avatar 2.7.2009 17:30 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    To je samozrejme diskutabilni, co je a co neni prehledne. Obecne se mi pretypovani zrovna dvakrat nezamlouva, ale jde-li o pretypovani z bool na int (nebo obracene), prijde mi to naprosto jasne :-)
    debian was first announced on my 3rd birthday :)
    30.6.2009 22:17 .mx.
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    <li>co robi operator ?: ternarnym? - ved ma len dva operandy!

    <li>ten nejmspejsovy backslash je ohavnost

    <li>late static binding je u mna zatial jediny dovod na prechod na 5.3

    30.6.2009 22:20 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    <li>je to binarni varianta ternarniho operatoru :)

    <li>mne se nahodou libi, je to IMHO dost intuitivni (ala adresarova struktura)

    <li>uz se tesim na singleton baseclass

    srigi avatar 30.6.2009 22:28 srigi | skóre: 10 | blog: sricont
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    ad 2. new-namespace-separator-moaning (vymena separatora za ':::' ).

    Be kind to newbies.
    1.7.2009 08:47 .mx.
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    ako ukazka je to sice pekne, ale je to iba uplatnenie principu "tisenia bolesti inou, este vacsou bolestou" ;)

    1.7.2009 14:57 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Muzu se tedy zeptat, co vy povazujete za "pekny" oddelovac namespace?

    1.7.2009 16:49 .mx.
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Co je na :: neprehladne? Scope resolution operator je uz snad vymysleny aj v PHP. A namespace je len pomenovany scope.

    1.7.2009 16:59 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    je Linux::getLast() volani staticke metody tridy Linux nebo volani funkce z namespace Linux?

    stativ avatar 1.7.2009 17:16 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    To snad poznám z kontextu. Když to jde u C++ tak nevím, proč by to nemohlo jít u PHP.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    1.7.2009 17:19 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Když to syntakticky rozdělíte, máte míň práce s překladačem :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    1.7.2009 17:30 .mx.
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    To bohuzial nie je odpoved na moju otazku. Ze si pri rozhodovani niekto takto zdovodnil backslash nie je pre mna dostatocnym zdovodnenim preco nepouzit syntax z c++, c# a dalsich jazykov. Minimalne stavajuca podpora editorov a IDE normalneho operatoru pre scope resolution prevazi nad takymto zdovodnenim.

    V pripade takehoto volania je to totiz uplne jedno -> vyrazne to nezprehladnuje kod, len to jemne osvetli kontext -> a to iba v niektorych pripadoch. A ak niekto povolil deklaraciu rovnakeho mena triedy ako menneho priestoru v rovnakom scope (neviem - nezistoval som), tak je to dokonca viac nez ohavne.

    1.7.2009 18:10 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    To bohuzial nie je odpoved na moju otazku. Ze si pri rozhodovani niekto takto zdovodnil backslash nie je pre mna dostatocnym zdovodnenim preco nepouzit syntax z c++, c# a dalsich jazykov. Minimalne stavajuca podpora editorov a IDE normalneho operatoru pre scope resolution prevazi nad takymto zdovodnenim.

    Mozna vam unika fakt, ze PHP neni dialekt C++ ani C# ani niceho jineho. Tedy to, ze se rozhodli jinak nez tvurci jinych jazyku je naprosto irelevantni. Pochybuju, ze by nekdo prohlizel PHP skripty s C++ zvyraznovanim a nebo v C++ IDE, takze tento argument je uplne mimo.

    je Linux::getLast() volani staticke metody tridy Linux nebo volani funkce z namespace Linux?

    A koho to zajímá?

    Mě je to úplně fuk!

    Hlavní důvod, proč se statické metody tvoří je proto, aby byly v „namespacu“ tvořeném názvem třídy.

    1.7.2009 18:05 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Ano, nicmene mate informaci o tom, zda Linux je trida nebo namespace. Netvrdim, ze je to nejak extra uzitecne, ale myslim, ze jsem tohle nekde videl jako zduvodneni.

    Já vím, že se to takto odvůvodňuje.

    Přesto ve většině jazyků tohle odlišení nemáte. Není to rozlišováno v C++, ani v Javě, ani v C#, ani v řadě jiných jazyků.

    Osobně si myslím, že v jedné z dalších verzí PHP se udělá čtyřtečka jako plnohodné synonymum i ke zpětnému lomítku. Nebude to hned, ale oni k tomu dojdou.

    vlastikroot avatar 1.7.2009 00:03 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Goto je dost pekna pitomost, nechapu jak tohle muzou zaradit do jazyka ktery se vyvyji docela slusnym smerem (namespaces,lambda fce). Funkce jako eval a goto jsou zlo, aktivne se jich zbavit je vyvoj, zaclenovat je je krok zpatky.
    We will destroys the Christian's legion ... and the cross, will be inverted
    dayvee avatar 1.7.2009 10:05 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Me goto nijak nevadi. Je to dalsi (obcas a trochu) uzitecna vec navic. Da se docela hezky pouzit na zpracovani chyb. A k tomu, nikdo te nenuti ji pouzivat :-)
    debian was first announced on my 3rd birthday :)
    mkoubik avatar 1.7.2009 13:03 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    O klíčových slovech try, throw, catch, finally jsi slyšel?
    1.7.2009 13:40 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Autoři PHP zjevně ne, protože i když už mají výjimky v jazyke čert ví jak dlouho, pořád ještě je v knihovně pořádně nepoužívají.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    1.7.2009 14:54 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Musi zachovat kompatibilitu knihovny se starymi programy. Myslim, ze v takovem SPL se uz vyjimky pouzivaji.

    1.7.2009 15:10 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Jistě, a jak napsáno výše, goto se hodí při ošetřování chyb.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    dayvee avatar 1.7.2009 14:44 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Samozrejme, ze slysel, ale to jeste neznamena, ze goto neumi byt samo o sobe uzitecne ...
    debian was first announced on my 3rd birthday :)
    1.7.2009 14:55 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Jejich jediny problem je ten, ze znacne ztezuji optimalizaci (minimalne eval, goto nevim). Nicmene PHP stejne neni zatim nijak extra optimalizovane ...

    Mě se moc líbí, jak spoustě lidem vadí goto. :-)

    Ono sice velmi zřídka, ale vyjímečně goto velmi zpřehlední program. A co se mu nedá upřít je jeho efektivita (na rozdíl od try/catch).

    Ale líbí se mi, jak lidé jednají jako naprogramovaní roboti. Přečtou si někde: „goto je špatné“ a hurá vytáhnout do boje proti goto. Přečtou si „GPL je nejlepší licence“ a jdou demonstrovat na všechny strany aby vše bylo pod GPL. Je sranda, jak spousta lidí jen papouškuje.

    Možná vám to není dostatečně jasné, ale: POKUD NECHCETE POUŽÍVAT GOTO, FAKT NEMUSÍTE.

    Věřím, že je to pro spoustu lidí překvapivý poznatek, že opravdu nemusejí (fakt ne, věřte mi) používat vše co je v jazyce. Pro jistotu ještě znovu: Nikdo nikoho nenutí používat všechny vlastnosti jazyka.

    dayvee avatar 1.7.2009 14:45 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    +1
    debian was first announced on my 3rd birthday :)
    Bilbo avatar 1.7.2009 14:55 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Jeden pripad, kdy je goto "nutne" (ono to teda jde i bez nej, ale pak je to naopak krkolomne), je pokud chci v C/C++ pouzit break nebo continue pro vyskoceni/pokracovani z vnejsiho cyklu. Nektere jazyky (napr. perl) maji syntaxi, ktera umoznuje pouzivat break/continue i ob vice cyklu, ale treba C a C++ to pokud vim neumi. Priklad:
    for (kazdy snimek) {
     for (kazdy radek) {
      for (kazdy sloupec) {
       if (neco_spatne) {    
        goto dalsi_snimek; //tady by slo "break pres dva cykly"
                           // ... kdyby to C/C++ umelo ...
       }
       neco_delej();
      }
     }
     dalsi_snimek:
    }
    
    Resit tohle bez goto muze byt ponekud krkolomne ....
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    1.7.2009 14:56 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    Presne na tohle jsem GOTO v C++ taky pouzival ... neexistoval tam mene prasacky zpusob, jak to udelat.

    Nicmene PHP taky umi onen vicenasobny break a continue, vyborna vec.

    1.7.2009 15:00 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    V Jave je na to "labeled break"; slucka ma svoj label a break ma parameter, ktory udava, ktora slucka sa ma "brejknut". Je to take "takmer goto" pouzitelne presne v tom zriedkavom pripade, ked by goto malo bezpecne a opodstatnene pouzitie. :-D

    Java je jediná, co to vyřešila rozumně.

    Jestli si někdo myslí, že psát break číslo, a počítat o kolik cyklů máte vyskočit, když jich je několik vnořených do sebe, tak je to velmi nepřehledná věc, navíc nechutně chyby přitahující. stačí se seknout o jedno číslo a pak se dlouho divit, proč to funguje špatně.

    takže při výskoku z několika cyklů v jazycích, kde je break číslo okamžitě dávám návěští a používám goto. je to výrazně přehlednější a výrazně lépe udržovatelnější, jasnější, zřejmější, a po všech stránkách to má jenom plusy

    mkoubik avatar 1.7.2009 23:49 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Tak tohle je (v objektovém jazyce) prasárna nejvyššího kalibru i bez goto, trochu mi to připomíná programátory typu "metoda main a v ní Shakespearův román". RMS (tuším) někdy oponoval názoru, že 8 znakové odsazení je moc (nevejde se to na obrazovku) tím, že pokud potřebujete víc než 3 úrovně odsazení, tak je chyba někde jinde.

    A teď konstruktivně, tohle bych řešil 3 samostatnýma třídama, které by implementovaly iterátor. Vyjímka NecoSpatneException by probublala z třídy Sloupec až do hlavní metody, kde by se ve finally bloku zavolalo snimek = snimky.next();. Je to mnohem přehlednější, každá část logiky se provádí ve třídě, do které patří (nemusim krotit složené závorky abych zjistil, jestli pracuju s řádkem, nebo se sloupcem) a že je to neefektivní? Čas programátora je dražší, než procesorový čas!
    Bilbo avatar 2.7.2009 00:43 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    To, jestli je ve for cyklu prosta podminka "for (int i=0;i<neco;i++)" nebo iterator "for(Iterator i=cosi.begin();i!=cosi.end();i++)" je vcelku jedno, na prehlednosti kodu to moc nemeni. Ale cpat tam extra try/catch blok misto goto na prehlednosti moc neprida. Pribyde jedna uroven odsazeni, jedna specialni vyjimka, radku kodu bude vice, prehlednost spise nizsi.
    Čas programátora je dražší, než procesorový čas!
    I tahle poucka ma sve meze. Pokud se neco nasazuje na jednom stroji, tak to nekdy lze vyresit upgradem HW a tim, ze s rychlosti se moc nepatlam, ale pokud jde o SW ktery bude nasazen na vetsim mnozstvi pocitacu, pripadne nasazen "mezi plebs" (napr. krabicovy SW, pripadne opensource SW), tak konstatovani "ty tisice pocitacu si upgradnete aspon na core i7, muj cas je drahy" neobstoji a programator to musi aspon trochu optimalizovat. Pokud je to prilis pomale ....
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    dayvee avatar 2.7.2009 17:35 dayvee | skóre: 4 | Praha
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Čas programátora je dražší, než procesorový čas!
    Zatim ano, ale programatoru z indie a podobnych zemi je cim dal vice.
    debian was first announced on my 3rd birthday :)
    1.7.2009 15:08 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Ono sice velmi zřídka, ale vyjímečně goto velmi zpřehlední program.
    jelikoz break umi vyskocit z vice cyklu, pocet opravdu praktickych se limitne blizi nule.
    A co se mu nedá upřít je jeho efektivita (na rozdíl od try/catch).
    resit efektivitu na teto urovni... je v pripade PHP hodne sverazny humor...
    Možná vám to není dostatečně jasné, ale: POKUD NECHCETE POUŽÍVAT GOTO, FAKT NEMUSÍTE.
    opravdu jej pouzivat nemusime... ale co veci, ktere uz nekdo s tim naprogramoval... myslim, ze hodne projektu v PHP ma uz sve fundamentalni designove problemy i bez goto.

    navic goto v teto podobe skoro nic neumi... kdyby to udelali poradne a minimalne umoznili navesti jako elementy prvniho radu... a neco jako explicitni prace s aktualnim pokracovanimi by byla asi na spoustu programatoru fakt moc...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    1.7.2009 16:03 AHAHA | skóre: 7 | blog: ZZZ
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    opravdu jej pouzivat nemusime... ale co veci, ktere uz nekdo s tim naprogramoval... myslim, ze hodne projektu v PHP ma uz sve fundamentalni designove problemy i bez goto.

    Pokud se nekdo rozhodne programovat prasacky, omezeni jazyka ho nezastavi.

    jelikoz break umi vyskocit z vice cyklu, pocet opravdu praktickych se limitne blizi nule

    nicméně není nula

     

    resit efektivitu na teto urovni... je v pripade PHP hodne sverazny humor...

    věcí názoru

     

    opravdu jej pouzivat nemusime... ale co veci, ktere uz nekdo s tim naprogramoval...

    Prasit kdokoli může milióny způsoby. Svádět to na goto je poněkud …

     

    myslim, ze hodne projektu v PHP ma uz sve fundamentalni designove problemy i bez goto

    Tato věta platí pro jakýkoli programovací jazyk a technologii. Nemá to moc souvislost se syntaxí jazyka.

     

    navic goto v teto podobe skoro nic neumí

    Umělo by víc, kdyby nebyli debilové, co považují goto za nebezpečnější, než AIDS a LSD dohromady. Právě kvůli těmto debilům se to hodně očesalo. Myslím, že tohle je jasné.

     

    1.7.2009 17:51 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    jelikoz break umi vyskocit z vice cyklu, pocet opravdu praktickych se limitne blizi nule

    nicméně není nula
    takze do jazyka nacpeme kazdou zbytecnost, protoze by se to nahodou mohlo hodit...

    resit efektivitu na teto urovni... je v pripade PHP hodne sverazny humor...

    věcí názoru
    no, videl jsem pajsl PHP... a uz jenom letmy pohled na praci s promennyma a jeho sileny overhead rika, ze goto toho opravdu moc nevytrhne
    myslim, ze hodne projektu v PHP ma uz sve fundamentalni designove problemy i bez goto
    Tato věta platí pro jakýkoli programovací jazyk a technologii.
    souhlas... nicmene, ja ocenuji prinos PHP v tom, ze dokazalo prijit s uplne novyma skupinama spatnych programatorskych navyku
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.

    takze do jazyka nacpeme kazdou zbytecnost, protoze by se to nahodou mohlo hodit...

    Problém je, že slovo zbytečnost je silně subjektivní slovo s konotací extrémně závislou na tom kterém člověku.

     

    no, videl jsem pajsl PHP... a uz jenom letmy pohled na praci s promennyma a jeho sileny overhead rika, ze goto toho opravdu moc nevytrhne

    Pro výroky jako Váš platí: „Stokrát nic umožilo osla“. Jedno zlepšení nic neřeší.

    Jinak to, že jste viděl pajšl neznamená, že tam bude vypadat za rok. Nebo že kompilace do byte kódu nezoptimalizuje natolik, že řada toho co jste viděl je zcela jinde.

     

    souhlas... nicmene, ja ocenuji prinos PHP v tom, ze dokazalo prijit s uplne novyma skupinama spatnych programatorskych navyku

    Já zase oceňuji, že Vy do toho nekecáte. Možná, že to chlapci momentálně to PHP nevedou úplně nejlépe, ale určitě lépe, než kdybyste to vedl Vy.

    U goto je sranda, že všechny jazyky (běžně používané), které se gota zřekly ho zase honem rychle zavedly aspoň pro určitou množinu případů. Ono to taky něco říká.

    A pokud nedokážete psát jinak, než jako prase jenom proto, že jazyk má goto, pak si myslím, že určitě najdete jinou technologii. Já nemám pocit, že by moje návyky byly až tak moc ovlivňované syntaxí jazyka (pokud není extrémně přiškrcená).

    1.7.2009 18:48 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Problém je, že slovo zbytečnost je silně subjektivní slovo s konotací extrémně závislou na tom kterém člověku.
    tak uvedte _nekolik_ _praktickych_ prikladu, nejlepe v kodu, kdy se goto hodi a nejde to vyresit jinak elegantneji....
    Pro výroky jako Váš platí: „Stokrát nic umožilo osla“. Jedno zlepšení nic neřeší.
    to je naprosto zavadejici tvrzeni... protoze bottlenecky jsou v PHP uplne nekde jinde...
    Jinak to, že jste viděl pajšl neznamená, že tam bude vypadat za rok. Nebo že kompilace do byte kódu nezoptimalizuje natolik, že řada toho co jste viděl je zcela jinde.
    to co jsem (mimojine) videl byla koncepcne nezvladnuta prace s hodnotami a promennymi a necemu takovemu pomuze jedine prepsani od nuly...
    Já zase oceňuji, že Vy do toho nekecáte. Možná, že to chlapci momentálně to PHP nevedou úplně nejlépe, ale určitě lépe, než kdybyste to vedl Vy.
    no mate pravdu, ja bych to posral uz uplne...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    mkoubik avatar 1.7.2009 23:32 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Nikdo nikoho nenutí používat všechny vlastnosti jazyka.
    Kromě toho prasete, co dělalo na projektu předemnou (a určitě se někdo takovej najde, až se php 5.3 rozšíří).
    the.max avatar 1.7.2009 23:25 the.max | skóre: 46 | blog: Smetiště
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    ...a ja si vzdy myslel ze goto upadne v zapomneni stejne jako Basic...
    KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
    2.7.2009 00:23 JoHnY2
    Rozbalit Rozbalit vše Re: PHP 5.3.0

    A na co se asi podle tebe prelozej vsechny podminky, cykly a rekurze? Skonci to jako soutava goto s podminkama.

    the.max avatar 5.7.2009 02:15 the.max | skóre: 46 | blog: Smetiště
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    to je ale prece neco uplne jineho nez primy zapis goto.
    KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
    5.7.2009 12:28 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: PHP 5.3.0
    Jo jo. A proto programujem v Basicu, v roztomilém jazyku, nejsme žádní somráci!
    Ještě na tom nejsem tak špatně, abych četl Viewegha.

    Založit nové vláknoNahoru


    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.