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 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 4
    včera 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 5
    včera 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 8
    8.1. 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    8.1. 14:11 | IT novinky

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 16
    8.1. 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (3%)
     (5%)
     (0%)
     (9%)
     (21%)
     (4%)
     (5%)
     (3%)
     (11%)
     (53%)
    Celkem 320 hlasů
     Komentářů: 7, poslední 8.1. 15:35
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    wamba avatar 19.7.2025 12:23 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Dá se s ní opravdu vyhrát, navíc Julia disponuje výkonnou knihovnou pro matematické programování JuMP, která výrazně usnadňuje formulaci a řešení optimalizačních úloh.
    using JuMP
    using HiGHS
    
    M = [0 8 2; 1 0 5; 1 4 0;;; 0 4 3; 9 0 4; 3 7 0;;; 0 1 2; 5 0 8; 2 2 0]
    
    model = Model( HiGHS.Optimizer)
    
    x= @variable(model, x[1:3,1:3,1:3] ≥ 0)
    @constraint(model, diagonal[i=1:3], sum(x[i,i,1:3]) == 0)
    from_c = @constraint(model, sum(x,dims=1) .== sum(M,dims=1))
    to_c   = @constraint(model, sum(x,dims=2) .== sum(M,dims=2))
    time   = @constraint(model, sum(x,dims=3) .== sum(M,dims=3))
    @objective(model, Min, sum(x .^2 ))
    
    optimize!(model)
    @show solution_summary(model)
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    20.7.2025 05:48 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Když už jsi zmínil ten Chapel, jak se na něho díváš?

    Já jsem kdysi koketoval s jeho předchůdcem, jazykem ZPL, na kterém si vyzkoušeli hlavní koncepty - regiony polí a další. Pak ty chlápky najal Cray, a začali vymýšlet nástupce ZPL - jazyk Chapel.

    ZPL: (https://en.wikipedia.org/wiki/Z-level_programming_language)

    Mám dojem, že by měli především udělat standard jazyka Chapel. Přestat ten jazyk neustále měnit.

    ---

    Jinak po světě je hodně exotických jazyků, a některé mi pro svou oblast použití nepřipadají úpně pitomé. Třeba jazyk ballerina. (https://ballerina.io/)
    21.7.2025 10:30 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Faktom ale je, že práca s jednotkou je prirodzenejšia a hlavne nám to skracuje kód.
    Jestli je indexování pole od jedničky přirozenější je asi subjektivní, ale o tom, že to zkracuje kód bych dost pochyboval. Implementoval jsem relativně dost algoritmů pro práci s vícerozměrnými poli paralelně v Matlabu a Pythonu a v Matlabu furt někde honím jedničku.
    21.7.2025 14:09 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Zmiňovaný jazyk Chapel také zvolil, že bude indexovat pole od jedničky. Ale nedávno jim došlo, že je to idiotské, a tak udělali změnu - pole se defaultně indexuje od nuly.

    Chapel ale umožňuje explicitně zvolit jakoukoli dolní mez pole.
    21.7.2025 17:03 ...
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Jest-li to nebude tím že -

    Fortran - speciál na práci s maticemi - indexuje od 1 a nikdo s tím nemá problém.

    C-éčko - speciál na sepsání operačního systému (UNIX) - indexuje od nuly a nikdo s tím nemá problém.

    A s trochou rouhání - všechny ty nové jazyky jsou variací na C-éčko.

    22.7.2025 00:08 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Jestli to nebude tím, že buď se na pole díváte jako na počítačovou datovou strukturu - a pak se volí nula, a nebo jako na matematický tenzor - pak se volí jednička. Poměrně je dobře vidět, jestli autor programu byl spíše programátor nebo matematik.

    Jednou kecl jakýsi Dijkstra, že goto by mělo být zakázáno - a programovací jazyky se tím dost řídily. Než někoho napadlo, že když Dijkstra řekne skoč z okna, tak se nemusí poslechnout.

    Jednou kecl Dijkstra, že pole by se měla indexovat od nuly - a začalo se to šířit.

    Já bych neřekl, že nové jazyky jsou variací na Céčko. Hodně renesance zažívá algolská/pascalská syntaxe, a hodně se objevuje pythonovská syntaxe. Ovšem pokud lovíte pouze ve třech nejznámějších jazycích, pak máte pravdu.

    Reálně je pole obdoba podprogramu/funkce. Je to mapování n-tice hodnot na výslednou hodnotu. Funkce to dělá algoritmem, pole to dělá tabulkou hodnot - jinak je to to samé. Sám jsem používal pole jako mapovače hodnot snad miliardkrát.
    22.7.2025 07:28 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Já bych neřekl, že nové jazyky jsou variací na Céčko.
    Ale jsou. Bud je to assembler s trochou syntaktickeho cukru (proc asi je "unsafe" v Rustu), nebo n-ta varianta LISPu. Ostatni inovativni pristupy se moc neuchytily, nebo je odval cas (treba Algol, nebo "pictures" v COBOLu a PL/1)...
    22.7.2025 09:15 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Mohu jen zopakovat to co jsem napsal: Pokud hledáte mezi třemi nejznámějšími programovacími jazyky, pak máte pravdu. Pokud byste dosáhl trochu dále, tak pravdu nemáte.

    Problém C/C++ jazyků je, že jsou debilní. Ano, jde v nich napsat vše, ale vždy se drbete pravou rukou za levým uchem. Všechno je neuvěřitelně ukecané, složité, neintuitivní. Například v těch jazycích de facto neexistuje ani pole, jen imitace pole slepovaná z ukazatelové aritmetiky, případně navíc jemně neuměle pozakrytá do šablon. Není tam ani slušná práce s textovými řetězci. Všechno je to jak od parního stroje za krále klacka, kdy máte dojem, že jste ve středověku, a uděláte 100 x víc práce než je nutné.

    My starší jsme zvyklí. Postupně jsme si zvykli na fakt, že C je debilní, ale cokoli adoptuje unix se uchytí bez ohleda na to, jak nekvalitní to je. C++ byl pokus udělat z toho lepší jazyk, ale chaotičností a ukecaností Stroustrupa se to moc nepovedlo. Jak šel čas, naše generace se učila postupně C a C++ věci jak přihcázely. Umíme v C/C++.

    Ale mladá generace není zatížená ani historií ani předsudky. Nechce, a já ji naprosto chápu, mít s C/C++ nic společného. Vidí ten chaos, vidí neefektivitu vývoje, vidí že ty jazyky programátorovi moc nepomáhají spíše mu překážejí, a chtějí lepší jazyk. Starší generace se pokusila o D, ale ten se logicky neujal. Mladí se pokusili o Rust, což je v podstatě symbol odporu. Můj názor je, že Rust je rozhodně krok dopředu, ale není to seriózní jazyk. Už jen to, že nemá standard ani ve "stabilní" verzi, neustále se mění - tak na něho nelze nic seriózního nakládat.

    Musí vymřít generace, která za svůj etalon považuje unix. Protože unix přinesl dobré, ale i velice špatné věci. Jako třeba jazyky C/C++. Dokud tady bude významné procento lidí s názorem, že "co unix dělá, dobře dělá" - bude situace ve známých programovacích jazycích špatná.
    24.7.2025 11:15 Miloslav Ponkrác
    Rozbalit Rozbalit vše C3
    Mimochodem, významně vylepšené C je zde
    21.7.2025 17:17 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Chapel ale umožňuje explicitně zvolit jakoukoli dolní mez pole.
    To umí i Fortran, ale nijak extrémně užitečné mi to nepřijde. Napadá mě třeba symetrický index kolem nuly (nějaké FFT třeba) nebo snaha sladit zápis matematiky (např. při použití nějakých konkrétních polynomů). Ale spíš je v tom pak akorát bordel. Zas si ale člověk může změnit výchozí spodní mez z jedničky na nulu, takže je to vlastně fajn...
    22.7.2025 00:13 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Zrovna včera jsem si psal výpis float čísla ve dvojkové až šestnáctkové soustavě. Použil jsem toto pole pro použité konstanty:

    array[2..16] -> pár přesných konstant (log2(n), -logn(2));

    Nedávno zase normy pro dospělé lidi podle věku:

    array[18..120] -> ...
    22.7.2025 07:36 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    array[18..120]
    Uzasny. Takze ti to rozbijou lidi soudem uznani za zletile, podobne az se nejaka baba dozije 120 (coz s rostouci delkou doziti muze klidne nastat, rekord je neco okolo 115).
    22.7.2025 09:18 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Chápu vaše myšlení sociálního inženýra, a snahy zbořit jakékoli limity.

    Toto byly lékařské tabulky dané věkem a fyziologií vývoje. Tam můžete pořádat demonstrace do alelůjá, ale protože nejste stvořitelem člověka ani ředitelem vesmíru, tak fyziologii člověka nezměníte.

    Můžete klidně kojence prohlásit za zletilého třeba mezinárodním soudem, ale pořád pro něho budou platit fyziologické tabulky pro kojence, nikoli pro 18leté.
    22.7.2025 11:42 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Toto byly lékařské tabulky dané věkem a fyziologií vývoje.
    Tim spis se priroda nepta na papirove 18+.
    22.7.2025 09:26 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Nikdo se ještě nikdy 120 let nedožil, pokud se nefixlovalo.

    Každopádně protáhnout pole o 10 dalších prvků je to nejmenší. Je to ale k ničemu, protože na takový věk neseženete dostatek lidí, abyste vytvořil normu pro jejich věk. Reálně stejně děláte extrapolaci.

    Podstatou ovšem byla demonstrace užitečnosti volby dolní meze polí. Pole pak slouží jako přímé mapování věku (nebo číselné soustavy) na výslednou hodnotu. Takový kód je přehlednější. Mapovací funkci pole dělá kompilátor, a ne idiotsky programátor suplující špatně udělaný jazyk / kompilátor.
    22.7.2025 10:15 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Takový kód je přehlednější.
    To je asi otázka názoru. Hlavně bude záležet na tom kdo a jak ten kód píše. A protože znám své kolegy, mám raději jazyky, které neumožňují být příliš kreativní...

    Tu motivaci ale pochopitelně chápu, ale jak píšete víše:
    ...Je to mapování n-tice hodnot na výslednou hodnotu. Funkce to dělá algoritmem, pole to dělá tabulkou hodnot - jinak je to to samé...
    Pro mě je indexování pole jakási low-level operace, pokud potřebuji nestandardní index, volím raději funkci. Ono u možnosti měnit spodní mez nemusíte chtít skončit. Třeba byste rád index, který se neinkrementuje o jedničku, či není lineární, motivace by se asi našla.

    Ale nemám pochopitelně nic proti tomu, aby to jazyk podporoval, zejména pokud to jeho uživatelé využívají.
    22.7.2025 10:45 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    V tom, že je potřeba špatným programátorům přistřihnout křídla, máte samozřejmě pravdu. Je třeba se přizpůsobit té které situaci.

    ***

    a) Já pole vnímám jako abstraktní datovou strukturu. Její síla je v tom, že 1) pole lze v dobrém jazyce používat jako zobrazení, 2) pole je vynikající nástroj pro paralelizaci a masivně-paralelní provádění kódu a výpočtů.

    b) Indexování jako low-level operace existuje. To je to, čemu se říká pointerová aritmetika. To není de facto pole, ale jen ukazatel na první prvek, a pak se posunujete pomocí offsetů. Není to pole, ale lze v případě nouze skrze pointerovou aritmetiku pole imitovat.

    Spravedlivě je třeba říci, že programovací jazyky s plnohodnotnými poli občas řeší, jak dosáhnout ad b). Tedy něco jako pointerové aritmetiky, ale s plnou kontrolou na poli včetně hlídání mezí a hromadný operací s hejnem prvků naráz. Většinou se na to vymýšlí něco jako "řezy polí".

    ***

    Index pole, který neinkrementuje o jedničku, je běžný.

    Třeba výše zmíněný jazyk Chapel umožňuje pole, jehož indexy je nějaká sekvence čísel. Třeba pole, které používá za indexy jen sudá čísla.

    Řada jazyků umožňuje děravé (sparse) pole. V matematice jsou sparse matice také běžné, je mnoho numerických a jiných algoritmů, které vytvářejí velmi řídké matice / tenzory. To jest samé nuly, a zřidkakde nějaké číslo.

    Podle toho, jak je jazyk schopný, může do indexu polí klidně zahrnout i neordinální typy - například pole, jejichž klíčem / indexem je textový řetězec nebo množinu prvků. I když u low level jazyků se taková pole nazývá asociativní nebo zobrazení nebo slovníky.

    22.7.2025 12:22 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    V tom, že je potřeba špatným programátorům přistřihnout křídla, máte samozřejmě pravdu. Je třeba se přizpůsobit té které situaci.
    To se bohužel snadněji řekne, než udělá...

    Se zbytkem pochopitelně souhlasím snad jen s poznámkou, že řídká pole sice obsahují hromady nul, ale obsahují je, tzn. není to ekvivalentní poli, které ten index nemá vůbec (viz ten příklad sudých indexů). Sice netuším, jak jsou interně implementována, ale nějaký overhead tam bude muset být.

    Pokud jde o ta asociativní pole, tak přesně ta jsou podle mého názoru vhodná pro zobrazení/mapování netriviálních indexů. Pole jako taková mají podle mě uplatnění především tam, kde provádíte nějaké náročné operace na větším množství dat, kde – přesně, jak píšete – využijete s výhodou možnosti paralelizace. Alespoň tak to mám já. Pole je hromada dat, kterou je třeba zpracovat a index je více méně podružný, pro data, kde má index nějaký význam používám asociativní datové typy.
    23.7.2025 13:36 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Implementace běžných, řídkých a asociativních polí je / měla by být věcí kompilátoru programovacího jazyka. Liší se od sebe jen algoritmem mapovací funkce. Jinak jsou to zcela stejná pole hodnot, v paměti mapovaná většinou (nemusí být) jako lineární vektor.

    Programovací jazyk má mnohem více prostředků a informací, jak to udělat efektivně - pokud je to dobře navržený programovací jazyk. Bohužel moderní koncepce "programovací jazyk jako vykuchaná slepice bez drůbků, a vše dohánět knihovnami" nemumožňuje nic než low level strojové programování.

    Právě schopnost masivní paralelizace polních operací dala vzniknout tzv. array jazykům. Tam ale na mapovací funkci příliš nezáleží, pokud se to udělá dobře. (https://en.wikipedia.org/wiki/Array_programming)

    To byl právě důvod vzniku jazyků jako je autorem zmíněný Chapel. Možnost rozdělit pole do regionů, a každý region nechat zpracovávat třeba i na jiném počítače - aniž by se tím musel programátor zabývat a řešit to. Nebo předepsat takovou reprezentaci pole, jaká se pro paralelení výpočty hodila nejvíce. To je gró a podstata, proč vznikl jazyk Chapel.

    Nemám co rozporovat z toho co jste napsal. Souhlasíme spolu. Jen zdůrazňuji, že je rozdíl mezi "vektorem hodnot s pointerovou aritmetikou" a plnohodnotným polem.

    25.7.2025 15:23 Radovan
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Chapel ale umožňuje explicitně zvolit jakoukoli dolní mez pole.
    Pascal také, ale lidé se do něj moc nehrnou. To je škoda, odnaučili by se dělat spoustu blbostí ;-)

    A co se C týče: int array[201]={0}, *teplota=&array[100];
    26.7.2025 12:13 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Pascal byl stvořen jako učební jazyk. Pro praktické použití mu pár maličkostí schází. Ale jinak to byl geniálně navržený jazyk s mnoha abstraktními datovými strukturami, a programovalo se v něm velice dobře.

    Jeho autor, Niklaus Wirth, dokonce vydal verzi Pascalu chodící nad virtuálním strojem. Tedy udělal Pascal snadno široce přenositelný na mnoho různých platforem a operačních systémů. Tím se mu podařilo dosáhnout fenomenálního rozšíření Pascalu. (K dohledání přenositelný P4 Pascal běžící nad p-kódem třeba zde.)

    Pro praxi Wirth udělal jazyky Modula-3 (generické programování, objektové programování, thready, výjimky, garbage collector) a Oberon. Oba jazyky jsou také pro systémové programování, a v obou jazycích byly napsány i celé operační systémy. Operační systém Oberon napsaný v programovacím jazyce Oberon měl dokonce velice kvalitní a pěkné GUI (knihovna pro GUI se jmenovala BlueBottle).

    Po jazyce Oberon udělal Wirth jeho následníka - Component Pascal. Ten navíc uměl komponenty, což jsou sdílené knihovny objektů a modulů, ale nikoli hloupé DLL nebo SO, ale plnohodnotné objekty s celým rozhraním. Dnes by se řeklo, že jde o object request broker, něco jako CORBA nebo COM/DCOM na Windows. V podstatě se schopností distribuovaného systému schopného běžet na více počítačích v síti a běžících jako jeden program.

    4.8.2025 13:51 Erlang Developer
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Pascal pro praxi byl Delphi (Object Pascal) ne? Urcitou dobu byl velmi oblibeny pro GUI Windows aplikace...
    6.8.2025 14:01 Ondřej J | skóre: 3
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    V Delphi se dokonce vyvíjí dodnes.

    A úspěšná česká hra HROT je taky napsána v Pascalu koplet, včetně engine.

    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.