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í
×
    včera 00:22 | Nová verze

    Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    28.5. 20:33 | IT novinky

    Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.

    Ladislav Hagara | Komentářů: 1
    28.5. 18:22 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    28.5. 11:44 | IT novinky

    Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.

    Ladislav Hagara | Komentářů: 23
    28.5. 11:22 | Pozvánky

    Už za týden, ve čtvrtek 4. června, se v Národní technické knihovně v pražských Dejvicích uskuteční další konference věnovaná tématům spojeným s IPv6 - Den IPv6. Program akce a registrační formulář jsou k dispozici na webu akce. Kapacita konference je omezená, proto organizátoři doporučují, aby se vážní zájemci přihlásili včas (k dnešnímu dni zbývá přibližně 30 volných míst). Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    28.5. 05:22 | IT novinky

    Zařízení Steam Deck OLED bylo znovu naskladněno, ale vlivem rostoucích cen pamětí a úložišť má novou, vyšší cenovku. Steam Deck OLED 512 GB stojí nově 779 EUR (stál 569 EUR) a Steam Deck OLED 1 TB stojí 919 EUR (stál 679 EUR). Samotné zařízení se nijak nezměnilo a nové ceny tedy pouze odráží aktuální náklady na komponenty a další globální logistické výzvy, se kterými se potýká celá branže.

    Ladislav Hagara | Komentářů: 0
    27.5. 22:22 | IT novinky

    Český telekomunikační úřad zahajuje novou etapu využívání vysokofrekvenčního rádiového spektra v pásmu 26 GHz. Toto pásmo bude od 1. 7. 2026 otevřeno pro provoz moderních bezdrátových sítí, zejména sítí páté generace (5G), pevných bezdrátových přístupových sítí (FWA) a lokálních či průmyslových sítí určených například pro výrobní areály, logistická centra nebo technologické kampusy. Současně s otevřením pásma 26 GHz přistoupil ČTÚ ke zpřístupnění informací o využívání rádiových kmitočtů v tomto pásmu.

    Ladislav Hagara | Komentářů: 9
    27.5. 22:11 | IT novinky

    Logitech představil myš Signature Comfort Plus M850 L s polstrovanou opěrkou dlaně pro větší pohodlí a sadu s touto myší a klávesnicí s integrovanou opěrkou dlaní Signature Comfort Plus Combo MK880.

    Ladislav Hagara | Komentářů: 1
    27.5. 16:33 | IT novinky

    Gaël Duval se rozepsal o novinkách a plánech Murena a /e/OS. Počet uživatelů telefonů Murena a mobilního operačního systému /e/OS bez aplikací a služeb od Googlu se blíží 100 000. Ambicí je, aby se /e/OS stal třetí mobilní platformou v Evropě i na světě, s potenciálem dostat se i na PC. Blíží se vydání nové verze 4 s funkcemi zálohování a obnova, import e-mailů z Gmailu a rozpoznávání hlasu. Murena Workspace přinese videohovory, elektronický podpis a správu zařízení (MDM).

    Ladislav Hagara | Komentářů: 4
    27.5. 15:22 | Komunita

    Dnes a zítra probíhá Ubuntu Summit 26.04. Na programu je řada zajímavých přednášek. Sledovat je lze na YouTube. Úvodní slovo měli Mark Shuttleworth a Jon Seager.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1754 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    1.5.2009 00:07 Honza Kral
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    stringy jsou immutable, kazdym prirazenim vytvaris novou instanci, zatimco list je objekt, kde jen modifikujes vnitrni stav

    1.5.2009 00:10 Honza Král | skóre: 3 | Praha
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    jinak ani u foo by nefungovalo

    self.foo = ['novy', 'list']

    kdyz prirazujes na objekt, priradi se to na objekt, a prekryje to tedy ten atribut na tride.

    Milan Lajtoš avatar 1.5.2009 00:49 Milan Lajtoš | skóre: 22 | blog: /blog/babraq
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    Uuuf, ďakujem. Na mutable/immutable som vôbec nepomyslel.

    Ale statické foo by sa dalo vytiahnuť cez class1.foo, aj keď by bolo prekryté atribútom na objekte. Eh, pristupovanie k statickým premenným cez inštanciu by sa malo zakázať! ;)
    “Every great achievement was once considered impossible.”
    1.5.2009 09:54 CEST
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    stringy jsou immutable, ..., zatimco list je objekt,
    A pak me presvedcujte o tom, ze Python (a dalsi podobne jazyky ala Java, C++, vcetne meho oblibeneho Perlu) jsou objektove orientovane jazyky. Smalltalk na vas.

    Pricemz me opravdu vytaci, kdyz vidim u lakadla na jazyk Python neco ve smyslu "objektově-orientovaný programovací jazyk" (viz. www.py.cz), a pak to nadherne popiraji pouzivanim prikazu (if, for, while...) nebo pouzivanim prasaren jako
    re.search("c", "abcdef")
    Z toho se zacatecnik akorat nauci, ze ma delat vlastni tridu, kterou bude jenom zastresovat nejaky vetsi akce, pak vytvori jenom jeden objekt tehle tridy a tam bude volat tyhle svoje metody vzdy s parametrama, misto aby vytvoril vlastni tridu, kterou vytvori rozsirenim nejaky originalni tridy a do ty pak prida vlastni metody a ty bude pak volat na ten konkretni objekt, napr. ten regular vyse by mel byt spravne
    "abcdef".search("c")
    Proste na objektu typu (ze tridy) string by mela byt metoda search s jednim parametrem udavajicim regexp, kterej se ma hledat v tom objektu string. Ono sice jde pomoci compile vytvorit objekt RegExp a na ten pak volat match jenom s parametrem stringu, ale bohuzel umoznuje i tu prvni prasarnu, takze se to tak zacatecnici nauci, protoze to odpovida klasickymu programovani (IMHO klasicky programovani je trosku pochopitelnejsi nez OOP).

    proste v tomhle me Python znechucuje a pak jeste oddelovani prikazu odsazovanim - perl, awk, sed pouzivam v cmdline. Python mi tohle nedovoli (nebo jo?), takze s nim nemuzu zacit ani na jednoduchych vecech.
    Limoto avatar 1.5.2009 10:43 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    >>> "string".find('t')
    1

     

    Ale s regexpama už to takhle nepůjde...

    1.5.2009 11:01 jan
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    Perl je multiparadigmický jazyk, ne pouze oběktový. Díky tomu je implementace oběktů, bloků atd.. jako ve smalltalku triviální, zkuste si ale ve smalltalku implementovat perl ;-)

    Implementovat regexp jako obekt (a ne metodu stringu) ma take svoje vyhody - sestrojeni automatu z regexpu neni zadarmo a je dost pravdepodobne, ze jeden vyraz pouzijete vickrat nez jen jednou.

    1.5.2009 11:40 CEST
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    Perl mam rad a pouzivam ho, dokonce ho ted zacinam pouzivat misto grepu a sedu, pokud to je jednodussi, tak i awku. Objekty v perlu znam a libi se mi, ale nikdo se nesnazi presvedcovat, ze perl je skvele objektovej jazyk, zatimco u pythonu to tlaci, jak je python skvele objektovej, ze se na tom zacatecnici nauci objektove programovat. A to me stve, protoze python proste neni dobre objektovej a zaroven se michaji prikazy, funkce a metody. Smalltalk jsem uvedl, protoze jsem ho na vysokej mel a na nem je videt, co je skutecny OO jazyk.

    Nejsem proti tomu, vytvorit ze stringu (zapis regexpu) objekt a na nej pak aplikovat hledani ve stringu. Jde mi o to, ze python umoznuje prasarny typu
    string.match(RETEZEC,REGEXP)
    protoze podle me by to melo byt spravne bud
    RETEZEC.match(REGEXP)
    nebo v pripade pouziti stejnyho regularu vickrat
    REGEXPO.match(RETEZEC)
    Proste metody, ktery pracujou s konkretnim objektem, volat primo na objekt. Ne volat metodu na tridu a nacpat ji parametry, se kteryma ma pracovat - jasne, existujou tridni metody a promenne, ktere by ale mely pracovat spis jako globalne se tridou a ne s jednotlivyma instancema. Potom si zacatecnik mysli, ze objektovy programovani je jenom o tom vytvorit tridu, do ni da vlastni funkce a pak tyhle funkce volat pres tu tridu. Proste nepochopeni OOP.
    1.5.2009 14:13 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    Myslim, ze tohle je zrovna typicka ukazka nepochopeni OOP. Z hlediska OOP je uplne jedno jaky je kolem toho syntakticky cukr, zda se to vola jako match(RETEZEC,REGEXP), RETEZEC.match(REGEXP) nebo REGEXPO.match(RETEZEC). Dulezite je, kde je pozdni vazba a jak se dela dispatch podle typu. Napriklad v takovem CLOS by se to psalo match(RETEZEC, REGEXP) (nebo presneji receno (match RETEZEC REGEXP) ) a pritom je pozdni vazba a moznosti pretizeni a polymorfismu v obou argumentech.

    Krom toho chapat funkci match jako metodu objektu string je IMHO dost zcestne. Ta funkce nepotrebuje zadnou interni znalost stringu krom nejakeho jeho obecneho rozhrani a nema k nemu nijak blizsi vztah nez k druhemu argumentu. V takovem pripade (kdy druhy argument je take string a ne specielni objekt typu REGEXP) je IMHO vhodnejsi pohlizet na ni jako na nezavislou funkci.

    Python neznam, ale tipuji, 'string.match' je spis namespace issue, nez ze by to melo nejakou souvislost s OOP.

    1.5.2009 16:34 joe
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    "tohle je zrovna typicka ukazka nepochopeni OOP"

    Presne tak, nepochopil jste podstatu spojeni "objektove orientovany".
    3.5.2009 12:55 l4m4
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    Zjevně pochopil.

    Ostatně re.match(x,y) modulu re zašle zprávu match(x,y). Je to formálně úplně stejně OO jako zaslání zprávy match(y) řetězci x -- a úplně stejně z hlediska OO nedává velký smysl věcně. Nejde chtít jedno a odmítat druhé.
    1.5.2009 17:10 Martin Mareš
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    Proste metody, ktery pracujou s konkretnim objektem, volat primo na objekt.
    A se kterým konkrétním objektem tato metoda pracuje? :-) Já tam vidím konkrétní objekty dva a nedává mi smysl kterýkoliv z nich preferovat. Vaše "OO" je v tomto případě jen nepříliš logické syntaktické pozlátko (jak poznamenal již Santiago, objektovost spočívá v něčem poněkud jiném).
    1.5.2009 14:34 JS
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

     A neni to jedno? Ja treba tenhle Smalltalkovsky fundamentalismus (tj. misto len(a) musi byt a.len()) moc nechapu. Na druhou stranu, chapu Lispovy fundamentalismus - tam to ma aspon duvod (makra a genericke funkce).

    1.5.2009 17:28 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: Statické premenné v Pythone
    misto len(a) musi byt a.len()
    tak toto povazuju za jednu z nejvetsich demenci v pythonu... (a ze by se jich jeste par naslo) ;-]

    knihovny jsou napsane tak, ze nejde urcit jestli danou funkcionalitu nabizi ,,funkce'' nebo ,,metoda'' a pokud v tom clovek nedela dnes a denne tak to musi resit pokus omyl nebo dohledavani v dokumentaci.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    1.5.2009 17:59 JS
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    Hm, ja tedy ne, len(a) proste povazuji za syntakticky cukr pro volani a.__len__(), stejne jako treba a+b je syntakticky cukr pro a.__plus__(b). Nepripada mi na tom nic prilis kontroverzniho, proste len je jen jakysi dalsi operator.

    Obecne nemam rad OO fundamentalisty; trochu mi pripadaji jako lide, kteri vynalezli novy zapis a domnivaji se, ze tim spasi programatorsky svet.

    A naprosto souhlasim s Ondrejovym prispevkem.

    1.5.2009 18:13 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: Statické premenné v Pythone
    ja nejsem zadny OOP fundamentalista. me jenom vadi, ze v pripade pythonu je v tom hrozny (s prominutim) bordel. a treba v pripade toho len() me prijde logictejsi to dat jako metodu objektu, protoze se pracuje pouze s jeho vlastnostmi a nic jineho neni potreba.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    1.5.2009 18:30 JS
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    Jen pro poradek - nikdy jsem si nemyslel, ze jste OOP fundamentalista, to byla obecna poznamka. V tomto se ovsem neshodneme - me fakt, ze knihovny Pythonu nejsou vzdy plne objektove (nebo plne neobjektove) prilis nevadi (stejne musim koukat do manualu, jak se veci jmenuji a jake maji parametry, tak uz je to pak jedno).

    1.5.2009 23:33 Michal
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    U Smalltalku v tomto případě nejde o žádný fungamentalismus, je to otázka syntaxe. Ve Smalltalku se objektům posílají zprávy, žádné len(a) tedy nelze napsat (tj. klasické volání funkce), jen a len, tj. objektu a posílám zprávu len.

    3.5.2009 12:36 l4m4
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    To je syntaktický detail. Neexistuje důvod, proč by se poslání zprávy len objektu a nemohlo zapsat len(a). V Pythonu je len(x) syntaktická zkratka pro x.__len__(). Protestovat proti tomu lze z hlediska zanášení jmenného prostoru, ale ne proto, že by to nebylo OO.
    1.5.2009 17:59 Kvakor
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    Pricemz me opravdu vytaci, kdyz vidim u lakadla na jazyk Python neco ve smyslu "objektově-orientovaný programovací jazyk" (viz. www.py.cz), a pak to nadherne popiraji pouzivanim prikazu (if, for, while...)
    Z toho jsem volaký zmetený. Jak se tedy mají v objektovém nefunkcionálním jazyce realizovat řídíci struktury když ne pomocí if, for a while ?
    1.5.2009 18:15 razor | skóre: 33
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    Např jako poslání zprávy if, for, while ... objektu Boolean. http://www.friendofthepigeon.co.uk/wordpress/?page_id=45

     

    2.5.2009 09:57 Kvakor
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    Ve Smalltalku je všechno poslání zprávy, ale i v něm vypadá if i tak dost "ifózně":
    'podmínka'
     ifTrue:[ 'kód vykonaný pokud splněno' ]
     ifFalse:[ 'kód vykonaný pokud nesplněno' ]
    
    2.5.2009 11:26 razor | skóre: 33
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone

    Všechno ne. Např. příkaz "return" :)

    3.5.2009 12:46 l4m4
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    V tom případě není dost OO :o)

    I mnohem úchylnější řídící konstrukce lze realizovat zasíláním zpráv objektu runtime prostředí (codestack, mašina, interpret, ...). Bude to úplně OO a Smalltalkisty přivede k orgasmu, ale to bude asi tak jediné praktické využití zapisování řídících konstrukcí tímto způsobem.
    1.5.2009 20:26 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    C...gobject...gtk
    Jsem mimořádně obtížný případ
    3.5.2009 14:01 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    Jsem mimořádně obtížný případ
    3.5.2009 17:05 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Statické premenné v Pythone
    A pak me presvedcujte o tom, ze Python (a dalsi podobne jazyky ala Java, C++, vcetne meho oblibeneho Perlu) jsou objektove orientovane jazyky. Smalltalk na vas.
    No ta odpověď byla zavádějící, protože v Pythonu jsou řetězce i seznamy objekty (jako prakticky všechno, co tam je). Rozdílem je, že změna immutable objektu vytvoří jeho novou instanci, kdežto změna seznamu ne.
    pouzivanim prasaren jako
    re.search("c", "abcdef")
    Z toho se zacatecnik akorat nauci, ze ma delat vlastni tridu, kterou bude jenom zastresovat nejaky vetsi akce, pak vytvori jenom jeden objekt tehle tridy a tam bude volat tyhle svoje metody vzdy s parametrama, misto aby vytvoril vlastni tridu, kterou vytvori rozsirenim nejaky originalni tridy a do ty pak prida vlastni metody a ty bude pak volat na ten konkretni objekt, napr. ten regular vyse by mel byt spravne
    "abcdef".search("c")
    Není hezké kritizovat Python, pokud o něm nic nevím ;-). To re není instance třídy, nýbrž modul, který poskytuje funkci search. Ten modul dokonce poskytuje funkce pro vytvoření pattern objektu, takže se dá napsat i tento kód
    pat = re.compile("c")
    pat.search("abcdef")
    
    Potom je pochopitelně otázka, zda nemá každá instance třídy string poskytovat i podporu pro regulární výrazy, ale Python obecně inklinuje k malým třídám a implementaci pomocí skládání, nikoli dědičnosti, takže v něm neexistují košaté rodiny různých tříd jako to má Smalltalk, Java, nebo Ruby.
    When your hammer is C++, everything begins to look like a thumb.

    Založit nové vláknoNahoru

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

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