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 04:22 | Nová verze

    Byla vydána nová verze 10.2 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze nové balíčky Immich, Immich Machine Learning, uv a RustDesk Client.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | Nová verze

    TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 6.0. Příští verze 7.0 je kvůli výkonu přepisována do programovacího jazyka Go.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | Zajímavý článek

    Christian Schaller z Red Hatu na svém blogu popsal své zkušenosti s používáním AI při vývoji open source aplikací pro Linux. Pomocí různých AI aktualizoval nebo vytvořil aplikace Elgato Light GNOME Shell extension, Dell Ultrasharp Webcam 4K, Red Hat Planet, WMDock, XMMS resuscitated (aktualizace z GTK 2 a Esound na GTK 4, GStreamer a PipeWire) a Monkey Bubble. SANE ovladač pro skener Plustek OpticFilm 8200i se mu zatím nepovedl.

    Ladislav Hagara | Komentářů: 6
    včera 19:44 | IT novinky

    Americké firmy Tesla a SpaceX postaví v texaském Austinu moderní komplex na výrobu čipů pro umělou inteligenci (AI). Součástí projektu s názvem Terafab budou dvě moderní továrny na výrobu čipů – jedna se zaměří na automobily a humanoidní roboty, druhá na datová centra ve vesmíru. Uvedl to generální ředitel těchto firem Elon Musk. Projekt by podle odhadů měl stát 20 miliard USD (zhruba 425 miliard Kč).

    Ladislav Hagara | Komentářů: 3
    včera 15:00 | Nová verze

    Byla vydána nová stabilní verze 6.11 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Bezpečnostní upozornění

    Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo

    … více »
    NUKE GAZA! 🎆 | Komentářů: 13
    22.3. 21:33 | Komunita

    Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:

    … více »
    NUKE GAZA! 🎆 | Komentářů: 31
    22.3. 17:22 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).

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

    Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního

    … více »
    NUKE GAZA! 🎆 | Komentářů: 7
    21.3. 15:11 | Zajímavý projekt

    Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.

    Ladislav Hagara | Komentářů: 14
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1142 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    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áknoNahoru


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