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 00:55 | Pozvánky

    Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do

    … více »
    bkralik | Komentářů: 1
    včera 11:33 | Nová verze

    Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.

    Ladislav Hagara | Komentářů: 1
    včera 03:55 | IT novinky

    Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.

    Ladislav Hagara | Komentářů: 2
    10.10. 23:11 | Bezpečnostní upozornění

    Soutěž Pwn2Own Ireland 2026 skončila 9. října. Bezpečnostní výzkumníci získali celkem 1 262 000 dolarů na odměnách. Během soutěže bylo předvedeno zneužití 98 zero-day zranitelností. Testování zahrnovalo různé kategorie zařízení a software. Výzkumníci předváděli prakticky fungující útoky podle pravidel soutěže. Výsledky následně slouží výrobcům při přípravě oprav. Mezi pokořenými jsou: Samsung Galaxy S26, OpenAI Codex, Oracle Autonomous AI Database, Google Pixel 10, u iPhone 17 neuspěli.

    vencour | Komentářů: 1
    9.10. 22:44 | Nová verze

    Programovací jazyk Python byl vydán v nové verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 19
    9.10. 22:33 | Zajímavý projekt

    BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.

    ❗Červivý Hřib krade❗ | Komentářů: 10
    9.10. 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 14
    9.10. 09:55 | IT novinky

    Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.

    Ladislav Hagara | Komentářů: 12
    9.10. 09:44 | IT novinky

    Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.

    Ladislav Hagara | Komentářů: 13
    9.10. 09:33 | Nová verze

    Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2832 hlasů
     Komentářů: 32, poslední včera 17:02
    Rozcestník

    Javapolis2007: hlasováních o změnách v jazyce Java

    Na javapolis.com byly zveřejněny návrhy komunity pro novou generaci jazyka Java. Rovněž můžete navštívit výsledky hlasování, které jsou tematicky rozdělené na uzávěry (closures), různé změny v jazyce, používané aplikační servery a (nejen javovské) webové frameworky

    6.2.2008 09:13 | Michal Vyskočil | Zajímavý článek


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

    Komentáře

    Vložit další komentář

    6.2.2008 11:35 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    To je výborné – přes 80 % hlasujících ještě nezaznamenalo existenci enumů, takže požadují switch na String, ale hlavně že požadují closures, se kterými nebudou umět pracovat už vůbec… :-(
    6.2.2008 12:14 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Proč by nebyl užitečný switch na string? Třeba pro konverzi řetězce ze vstupu na enum? :-) To je jako módní mezi javisty, že zesměšňují každého, kdo požaduje užitečné featury?
    6.2.2008 12:32 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Proč by nebyl užitečný switch na string? Třeba pro konverzi řetězce ze vstupu na enum?
    Myslíte jako vždy ručně znovu implementovat metodu Enum.valueOf(String)? K čemu by to bylo dobré?
    To je jako módní mezi javisty, že zesměšňují každého, kdo požaduje užitečné featury?
    Nevidím nic užitečného na „featuře“, která s větším množstvím kódu umožňuje něco, co umožňuje už jiná stávající vlastnost (enumy), které jsou navíc kontrolovatelné už v době kompilace.
    6.2.2008 12:48 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Podle matematické teorie jde naprosto jakýkoli algoritmus napsat pomocí podmíněného příkazu, přiřazení a volání funkce. Cokoli navíc je zbytečné - pokud Váš názor je konzistentní, tak Java v současné době je beznadějně přeplácaná, takže vypiště prosím petici na tvrdé seškrtání Javy.

    Umožnění switch na string umožňuje více, než ten váš enum. To, že nemáte dostatek fantazie beru. Sice nepřehledně se to dá emulovat - vytvořit třeba naprosto zbytečný enum s hodnotami všech stringů co potřebuji ve switchi, zkonvertovat string na enum, a pak šup s enum hodnotami do switche, ale považuji to za zbytečnou buzeraci - a přehlednost výsledného kódu bude podstatně nižší, než když v tom switchi budou stringy rovnou.
    6.2.2008 13:25 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Umožnění switch na string umožňuje více, než ten váš enum. To, že nemáte dostatek fantazie beru. Sice nepřehledně se to dá emulovat - vytvořit třeba naprosto zbytečný enum s hodnotami všech stringů co potřebuji ve switchi, zkonvertovat string na enum, a pak šup s enum hodnotami do switche, ale považuji to za zbytečnou buzeraci - a přehlednost výsledného kódu bude podstatně nižší, než když v tom switchi budou stringy rovnou.
    Ty Stringy stejně musím někde vyjmenovat, ať ve switchi, nebo v enumu. Jenom ten enum dává programátorovi i překladači jasně najevo, že je to nějaká omezená množina řetězců, a kompilátor to pak také může kontrolovat (např. kontrolovat, že jste ve switchi ošetřil všechny možné hodnoty). Takže jediný případ, kdy by použití switche místo enumu mělo smysl, je potenciálně nekonečný počet možných vstupních řetězců. Jenomže nekonečný switch taky nejde udělat. Navíc pokud ten program bude mít alespoň nějakou kulturu, nebudete mít řetězce přímo v kódu, ale budete je mít jako konstanty – takže kód bude vypadat skoro stejně, jako s použitím enumu, ale nebude tam ta kontrola v době překladu. Jinak v kódu je rozdíl mezi enumem a switchem volání jediné metody, což těžko výrazně sníží přehlednost kódu.
    6.2.2008 14:27 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    A kompilátor ve switchi nemůže zkontrolovat to všechno co tu píšete? Kompilátor nemůže zkontrolovat, že jste ve switchi ošetřil všechny možné hodnoty? To jsou mi novinky. Znovu opakuji, že to, že Vaše fantazie je omezená na to, kde se dá použít string ve switch - není problém stringu ve switchi.

    Pokud kód bude mít kulturu, tak bude psán tak, aby byl co nejpřehlednější, nejudržovatelnější a nejčitelnější - což nutně neevokuje mít všechny literály jako konstanty - to tu zase tvrdíte něco co není pravda. To už taky můžete tvrdit, že vhodné programování je stylem:

    ... final int MUL_CONST = 2; ...

    public int mul_by_two(int operand) { return operand * MUL_CONST; }

    Jestli programujete výše uvedeným stylem, to jest všechny literály tlačíte na sílu jako konstanty, tak potěš pámbů. A je úplně jedno, jestli jde o čísla, stringy, nebo jiné typy - někdy je vhodné je definovat jako konstanty, a někdy je vhodnější je zapsat přímo do kódu.

    Rozdíl mezi enumem a switchem není volání jedné metody.
    6.2.2008 16:50 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    A kompilátor ve switchi nemůže zkontrolovat to všechno co tu píšete? Kompilátor nemůže zkontrolovat, že jste ve switchi ošetřil všechny možné hodnoty? To jsou mi novinky. Znovu opakuji, že to, že Vaše fantazie je omezená na to, kde se dá použít string ve switch - není problém stringu ve switchi.
    Pokud kompilátoru předem nedám seznam všech přípustných hodnot, nemůže zkontrolovat, že jsem pro každou přípustnou hodnotu napsal odpovídající větev case. Pokud by switch pro Stringy přinášel i tu možnost určit všechny přípustné hodnoty, dostanete enum. Tak proč ho vymýšlet podruhé?
    Pokud kód bude mít kulturu, tak bude psán tak, aby byl co nejpřehlednější, nejudržovatelnější a nejčitelnější - což nutně neevokuje mít všechny literály jako konstanty - to tu zase tvrdíte něco co není pravda.
    Hodnoty ve switchi nejsou jen tak nějaké hodnoty spadlé z nebe, ale je to několik hodnot z omezené množiny. Místo takových hodnot se typicky používají konstanty, protože je většinou používáte na více místech. Jenomže pro omezenou množinu hodnot už má Java vlastní datový typ – enum. A jsme zase zpátky na začátku.
    Rozdíl mezi enumem a switchem není volání jedné metody.
    Najděte víc jak jeden rozdíl:
    private static final String ONE = "ONE";
    private static final String TWO = "TWO";
    private static final String THREE = "THREE";
    
    switch (str) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
      case THREE: doThree(); break;
    }
    
    private enum Numbers { ONE, TWO, THREE};
    switch (Numbers.valueOf(str)) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
      case THREE: doThree(); break;
    }
    
    Já v tom z hlediska kódu vidím jediný rozdíl, volání metody Numbers.valueOf(String). Z hlediska významu tam vidím minimálně další dvě věci, obě ku prospechu enumů:
    private enum Numbers { ONE, TWO, THREE};
    switch (Numbers.valueOf(str)) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
    }
    
    Kompilátor může dát varování, že je switch neúplný, a:
    private enum Numbers { ONE, TWO, THREE};
    switch (Numbers.valueOf(str)) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
      case THREE: doThree(); break;
      case WINTER: doWinter(); break;
    }
    
    Tohle vám kompilátor s enumem ani nepřeloží. Se Stringem to v obou případech projde, a divit se budete až za běhu programu.
    Znovu opakuji, že to, že Vaše fantazie je omezená na to, kde se dá použít string ve switch - není problém stringu ve switchi.
    Mohl byste napsat nějaký konkrétní příklad? Podle mne 99,99 % užití Stringu ve switchi je případ, kdy mám předem známou množinu řetězců, které očekávám někde na vstupu, a potřebuju zjistit, která konkrétní hodnota na tom vstupu je. Přesně k tomuhle ale má Java enum, a není důvod zavádět další konstrukci (Java není Perl). Ta zbývající desetina promile jsou případy, kdy by se autor kódu měl přeci jen zamyslet, zda to nemá být enum… Napadá mne vlastně jediný případ, kdy nejde enum použít přímočaře, a to je nemožnost dědění enumů. A i v takovém případě je implementace s využitím enumu lepší, než switch se Stringy, které se vám náhle z ničeho nic zjeví v kódu.
    zoul avatar 6.2.2008 16:53 zoul | skóre: 43 | blog: ☂ | Boskovice
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Obdivuhodná trpělivost.
    6.2.2008 17:05 qk_
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Naprosto souhlasim. Ono obecne spousta lidi nepouziva enumy v jave, i kdyz to je hodne uzitecna vec.
    Pomaha to i v udrzovatelnosti kodu po rozsireni, kdy musite pridat nejakou funkci a tak pridate moznost do enumu a prekladac rekne, pokud je v nejakym switchy tato moznost opomenuta a tak se predejde dost chybam, ktere by se jinak spatne hledali.
    Jinak vas obdivuju tak dlouho nekoho presvedcovat o necem co je pomerne jasne a co kazdy rozumny programator vi. Jedine kdy by bylo switchovani podle stringu uzitecne je pres regexpy...ale to si myslim ze je zhruba tak slozite jako napsat metodu, ktera ten regexp prevede na hodnotu v enumu a navic zas tak casto se regexpy nepouzivaji.
    15.3.2008 16:17 KsR
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    celá tahle diskuze je ujetá -ve skutečnosti tady jeden druhému jen říká, kdo je větší "blbec". A přitom neumíte ani psát česky:) "Češtin můj kobil", co?
    Daniel Kvasnička ml. avatar 6.2.2008 13:59 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    6.2.2008 17:16 qk_
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Tento zapisek pouze rika, ze by bylo dobry mit v enumu nejakou hodnotu, kdyz dany string neni v enumu misto hazeni vyjimky. Coz mi ale nepripada tak tezky udelat. pokud clovek chce tak si to celkem rychle a elegantne obali treba jako v tom clanku pomoci dalsi hodnoty enumu jako NONDEF a tridy, kde si odchyti tu vyjimku a vrati tu NONDEF hodnotu enumu.
    Ale mne pripada tedy reseni s vyjimkami podstatne lepsi. Napriklad v SAXu, kdyz jinou hodnotu nez definovanou (a nemam kontrolu pres xsd), tak zavolat nejakou masineriji na zpracovani a az na vrsku odchytavam ruzne exceptiony, ktere vyvola ta masinerie a znamenaji vetsinou nejakej fatal (napriklad spatna cesta k souboru, spatne hodnoty atd) a tak preskocim cely zpracovavani danyho elementu.
    Daniel Kvasnička ml. avatar 6.2.2008 22:42 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Ja jsem to sem dal jen proto, ze hned ze zacatku je ukazano jak se da enumem nahradit switch na stringy... Jak to ukazuje Filip Jirsak vyse. Switch na stringy je v podstate zbytecny.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."

    Založit nové vlákno • Nahoru


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