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:11 | Bezpečnostní upozornění

    Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.

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

    Immich byl vydán v první stabilní verzi 2.0.0 (YouTube). Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | IT novinky

    Český telekomunikační úřad vydal zprávy o vývoji cen a trhu elektronických komunikací se zaměřením na rok 2024. Jaká jsou hlavní zjištění? V roce 2024 bylo v ČR v rámci služeb přístupu k internetu v pevném místě přeneseno v průměru téměř 366 GB dat na jednu aktivní přípojku měsíčně – celkově jich tak uživateli bylo přeneseno přes 18 EB (Exabyte). Nejvyužívanějším způsobem přístupu k internetu v pevném místě zůstal v roce 2024 bezdrátový

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-10-01. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Jedná o první verzi postavenou na Debianu 13 Trixie.

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

    Byla vydána nová verze 4.6 svobodného notačního programu MuseScore Studio (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Komunita

    Společnost DuckDuckGo stojící za stejnojmenným vyhledávačem věnovala 1,1 milionu dolarů (stejně jako loni) na podporu digitálních práv, online soukromí a lepšího internetového ekosystému. Rozdělila je mezi 29 organizací a projektů. Za 15 let rozdala 8 050 000 dolarů.

    Ladislav Hagara | Komentářů: 4
    1.10. 20:11 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.17. Díky 278 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    1.10. 16:11 | Nová verze

    Bylo vydáno openSUSE Leap 16 (cs). Ve výchozím nastavení přichází s vypnutou 32bitovou (ia32) podporou. Uživatelům však poskytuje možnost ji ručně povolit a užívat si tak hraní her ve Steamu, který stále závisí na 32bitových knihovnách. Změnily se požadavky na hardware. Leap 16 nyní vyžaduje jako minimální úroveň architektury procesoru x86-64-v2, což obecně znamená procesory zakoupené v roce 2008 nebo později. Uživatelé se starším hardwarem mohou migrovat na Slowroll nebo Tumbleweed.

    Ladislav Hagara | Komentářů: 3
    1.10. 16:00 | IT novinky

    Ministerstvo průmyslu a obchodu (MPO) ve spolupráci s Národní rozvojovou investiční (NRI) připravuje nový investiční nástroj zaměřený na podporu špičkových technologií – DeepTech fond. Jeho cílem je posílit inovační ekosystém české ekonomiky, rozvíjet projekty s vysokou přidanou hodnotou, podpořit vznik nových technologických lídrů a postupně zařadit Českou republiku mezi země s nejvyspělejší technologickou základnou.

    … více »
    Ladislav Hagara | Komentářů: 3
    1.10. 12:55 | Nová verze

    Radicle byl vydán ve verzi 1.5.0 s kódovým jménem Hibiscus. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 3
    Jaké řešení používáte k vývoji / práci?
     (40%)
     (47%)
     (14%)
     (16%)
     (18%)
     (14%)
     (18%)
     (14%)
     (14%)
    Celkem 159 hlasů
     Komentářů: 10, poslední dnes 01:37
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    15.1.2015 21:10 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    BTW ten faktoriál mi přijde přehlednější v Erlangu.
    je to jazyk, jehož vnitřní reprezentace (AST) je stejná jako jeho syntax (je mu izomorfní)
    Zcela jistě platí, že když je to stejné, tak je to i izomorfní. Naopak už to platit nemusí.

    Krom toho bych pochyboval o správnosti slova izomorfní v té definici.
    16.1.2015 00:52 Ivorne | blog: Ivorne
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Izomorfismus je jasně definovaný pojem a nevidím důvod, proč by tuto vlastnost nemohl programovací jazyk mít.
    16.1.2015 01:37 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Protože by tím pojem homoikonicity ztratil smysl. Chcete-li v programovacím jazyce reprezentovat nějaké objekty, tak je celkem přirozené pokusit se o izomorfní reprezentaci. Tudíž nedefinujete nic zajímavého.

    Např. aritmetický výraz
    a+b*c
    
    může být reprezentován jako
    Expr(Plus, Var "a", Expr(Mult, Var "b", Var "c"))
    
    a bude to izomorfní reprezentace. Budete však takový jazyk nazývat homoikonický?
    16.1.2015 15:00 Ivorne | blog: Ivorne
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    No já vlastně slyším pojem homoikonicita prvně, takže spíš píšu, co si tak myslím. Každopádně mezi uvedenými výrazy nevidím velký rozdíl. To první je infixový zápis a to druhé je prefixový zápis. Nevidím problém, proč by to nemohlo být homoikonické - netvrdím, že to je homoikonické, jen mě teď nenapadá, proč by nemohlo.
    16.1.2015 15:59 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Každopádně mezi uvedenými výrazy nevidím velký rozdíl.
    Tohle ale platí pro většinu programovacích jazyků. Tím pádem to není zajímavé.

    Na druhou stranu, pokud budeme chtít skutečně izomorfismus mezi konkrétní syntaxí (co píše programátor) a AST, tak ten nebude skoro nikde – např. různé zápisy téhož se naparsují na 1 AST – konkrétním příkladem může být různý počet mezer na konci programu.
    16.1.2015 16:11 Ivorne | blog: Ivorne
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Každopádně mezi uvedenými výrazy nevidím velký rozdíl.
    Tohle ale platí pro většinu programovacích jazyků. Tím pádem to není zajímavé.
    Tak řada jazyků nemá výsledný kód izomorfní se zdrojovým kódem - z kompilovaných jazyků to nemá žádný a například jazyky nad JVM to taky nemají (bytekód je kód zásobníkového počítače). A dokážu si představit, že když si člověk nedá pozor, tak se mohou objevit rozdíly mezi zdrojákem a AST i u čistě interpretovaných jazyků.

    Co jiného, než izomorfismus zdrojového a výstupního kódu by mělo být zajímavé?
    Na druhou stranu, pokud budeme chtít skutečně izomorfismus mezi konkrétní syntaxí (co píše programátor) a AST, tak ten nebude skoro nikde – např. různé zápisy téhož se naparsují na 1 AST – konkrétním příkladem může být různý počet mezer na konci programu.
    Nevím, proč by to měl být problém. I více reprezentací může být navzájem izomorfní. Jak to vidím já, tak programy s různým počtem mezer na konci jsou spolu izomorfní.
    16.1.2015 16:30 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Nevím, proč by to měl být problém. I více reprezentací může být navzájem izomorfní. Jak to vidím já, tak programy s různým počtem mezer na konci jsou spolu izomorfní.
    Pokud se dva programy s různým počtem mezer na konci naparsují na stejný AST, tak už parsování nemůže být izomorfismus, neboť nemůže existovat levý inverz.
    Nevím, proč by to měl být problém. I více reprezentací může být navzájem izomorfní.
    Pokud máte na mysli ekvivalentní místo izomorfní, tak ano.
    Tak řada jazyků nemá výsledný kód izomorfní se zdrojovým kódem
    Myslel jsem, že tu jde o izomorfismus mezi AST a zdrojovým kódem.
    16.1.2015 17:29 random
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Pokud se dva programy s různým počtem mezer na konci naparsují na stejný AST, tak už parsování nemůže být izomorfismus, neboť nemůže existovat levý inverz.
    Homoikonicita se zabývá programem na syntaktické, nikoliv lexikální úrovni.
    16.1.2015 17:36 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Co přesně myslíte syntaktickou úrovní?

    Mj. bavíme se o definici
    je to jazyk, jehož vnitřní reprezentace (AST) je stejná jako jeho syntax (je mu izomorfní)
    a já jsem si pod syntaxí představil konkrétní syntax, tj. zdrojový kód. Ještě bych si mohl představit abstraktní syntax, tj. AST, ale to by ta definice pak byla tautologie.
    AsciiWolf avatar 16.1.2015 01:06 AsciiWolf | skóre: 41 | blog: Blog
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    BTW ten faktoriál mi přijde přehlednější v Erlangu.
    +1
    16.1.2015 11:24 Jan33
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Díky za post, i když to nevyužuju, je dobré o tom vědět. Budu sledovat.
    16.1.2015 12:12 ::: | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    z wikipedie:
    If a language is homoiconic, it means that the language text has the same structure as its abstract syntax tree
    Existuji snad jazyky kde tohle neplati? Jaky smysl by melo vytvaret AST ktery nezachycuje strukturu kodu?
    Bystroushaak avatar 16.1.2015 13:54 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Není také jednou z podmínek, že z toho zdroje máš k tomu AST přístup?
    pavlix avatar 16.1.2015 14:46 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    To není odpověď na položenéé otázky.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    16.1.2015 15:30 random
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Ale je to důležité. Homoikonicita (jak ji chápu já) znamená, že AST je
    1. jednoduchý,
    2. přístupný a
    3. editovatelný.
    Samozřejmě, že skoro každý AST, který přímo vznikne naparsováním zdrojáku (čili bez optimalizací a tak) tomu zdrojáku odpovídá. Ale jak se třeba naparsuje posloupnost příkazů v Céčku?
    a();
    b = c + d;
    e(b);
    Vznikne z toho strom, ve kterém kořen odpovídá celému bloku kódu a v jeho synech jsou jednotlivé příkazy, nebo z toho vznikne spoják těch příkazů? Podle toho, co potřebuju, je výhodnější buď to první, nebo to druhé. Zdrojáku pochopitelně odpovídají obě možnosti, záleží na tom, jak se na něj dívám.
    pavlix avatar 16.1.2015 15:46 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Homoikonicita (jak ji chápu já) znamená, že AST je jednoduchý, přístupný a editovatelný.
    To by musel být zcela nevhodně zvolený pojem. Z jeho názvu se zdá, že znamená, že máš více věcí a jsou v něčem stejné, v tomto případě jsem to pochopil tak, že se mají ve struktuře shodovat kód a AST, ale to jsem vždycky považoval za samozřejmost. Jediné, co mě napadá je, že chtějí nějak explicitně vyjádřit absenci preprocessingu, optimalizací a podobných věcí. A protože jim přišlo hloupé se vytahovat absencí funkcionality (byť dobře odůvodněnou), tak tomu chtěli dát nějaký pozitivní název.
    Vznikne z toho strom, ve kterém kořen odpovídá celému bloku kódu a v jeho synech jsou jednotlivé příkazy, nebo z toho vznikne spoják těch příkazů?
    Když z toho uděláš strom, vznikne z toho kupodivu strom. Zda je ten strom reprezentován v paměti pomocí spojových seznamů, je implementační detail. Žádné dvě možnosti v tom nevidím.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    16.1.2015 17:10 random
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Když z toho uděláš strom, vznikne z toho kupodivu strom. Zda je ten strom reprezentován v paměti pomocí spojových seznamů, je implementační detail. Žádné dvě možnosti v tom nevidím.

    Ano, AST je strom. Bavím se o tom, jak ten strom vypadá. Je plochý (otec s mnoha syny) nebo vysoký (hlava a ocas)?

    Bison:

    commands: command
            | commands SEMICOLON command
            ;
    Z tohohle přímočarým způsobem vyjde ten spoják. Na editaci ale není nic moc, protože ho při každé změně musím procházet.

    Implementační detail to není, protože se jedná o rozhraní.

    pavlix avatar 16.1.2015 20:25 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Obávám se, že se zcela míjíme.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 16.1.2015 15:50 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Samozřejmě, že skoro každý AST, který přímo vznikne naparsováním zdrojáku (čili bez optimalizací a tak) tomu zdrojáku odpovídá.
    Ty optimalizace dokonce zmiňuješ, pak je tu ještě ten preprocessing, protože makra jsou třeba v céčku řešena zcela nezávisle na AST. Na druhou stranu bych očekával, že makra pracující s AST projdou preprocesingem a z toho AST během své expanze úplně zmizí, takže by ten výsledný AST taky nemusel vypadat jako původní kód, jen by byl z něj dobře předvídatelný.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 16.1.2015 16:12 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Wikipedia:

    If a language is homoiconic, it means that the language text has the same structure as its abstract syntax tree (i.e. the AST and the syntax are isomorphic). This allows all code in the language to be accessed and transformed as data, using the same representation.

    Mně se zdá spojení mezi těmi dvěma větami úplně vycucané z prstu. To zda můžu vystavět či upravovat kód v AST přece záleží jenom na tom, zda k tomu AST dostanu přístup. Pokud bych měl céčko kompilované do speciálního prostředí, kde budu mít za běhu přístup k AST funkcí a rutiny na manipulaci s ním, pak budu přistupovat ke kódu jako k datům přesně tak jak to píšou. To je ale především vlastnost běhového prostředí, takže jediné, co pro to může udělat jazyk je mít ve specifikaci, že vyžaduje takové běhové prostředí a případně nabízet nějaký ten syntaktický cukr.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    20.1.2015 15:03 Ivan
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Asi se tim mysli i opacna "konverze". Tzn: z AST muzu zase dostat nazpatek cely zdrojak (az na komentare a mezery). Tohodle napriklad vyuzivaji ruzne udelatory v eclipse pro refactoring.

    Souhlasim s tim, ze tohle hlavne runtime toho jazyka a API pro pristup k tomu AST. A asi se s tim da hodne prasit, v porovnani s obycejnou reflexi (jako se to dela v Jave). Tam mate pristup pouze k definicim trid a metod.

    16.1.2015 16:50 Milan
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    No ja radsi primo Erlang.
    16.1.2015 17:12 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Výraz
    scale(translate(multiply(matrix1, matrix2), vector), 0.5)
    se dá v Elixiru zapsat takto:
    matrix1
    |> multiply(matrix2)
    |> translate(vector)
    |> scale(0.5)
    
    Co je pro vás čitelnější?
    Z mého pohledu je pro takovýhle případ nejčitelnější chaining, tzn:

    matrix1.multiply(matrix2).translate(vector).scale(0.5)

    Ale o Erlangu vim prd, takže nevim, jestli tam je tohle možný...
    16.1.2015 17:52 JS1 | skóre: 2 | blog: intuition_pump
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Rekl bych, ze v tom Elixiru to muze tak napsat taky, akorat misto tecky pises |>.
    Lidstvo čelí v tomto století hrozbě civilizačního kolapsu. Podpořte hnutí klimatickakoalice.cz!
    pavlix avatar 16.1.2015 20:27 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Až na to, že ten chaining funguje jen na několik vyjmenovaných operací, které jsou součástí API nějakého objektu.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    16.1.2015 22:21 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    To už záleží na konkrétním jazyce, jinak nechtěl jsem tím říct, že to je ekvivalentní (není)...
    16.1.2015 23:54 Kaiten
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Haskell -> operátor funkční kompozice, houby objekty
    pavlix avatar 17.1.2015 00:12 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Context error.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    19.1.2015 18:18 .
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Mozna to bude znit divne, denne profesionalne programuju v Erlangu i LFE, ale psat cokoliv v Elixiru mi vzdycky z nejakeho duvodu bylo neprijemne. Jako pipe operator je pekny, ale to je asi tak vsechno, co mi na Elixiru prijde zajimave. Mozna to je tim, ze jsem k Erlangu prisel smerem od LISPu a SmallTalku a ne pres Ruby...

    Just my $.2 :-)
    pavlix avatar 20.1.2015 10:12 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    To je dvacet centů?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    20.1.2015 17:53 .
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Ano, ale ten zapis s uvedenymi jazyky nijak nesouvisi :)
    20.1.2015 23:09 hadson
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Ja som na erlang presiel z F# (z krltoreho elixir prebral ten |>) a syntax erlangu mi tiez pride omnoho prehladnejsia. Elixir mi svojou zbytocnou ukecanostou pripomina Basic.
    13.8.2024 10:47 jk
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    Proc nevyuzit pattern matching? Prijde mi to kratsi a prehlednejsi.

    defmodule Main do def factorial(0) do 1 end def factorial(n) do n * factorial(n - 1) end end
    13.8.2024 10:49 jk
    Rozbalit Rozbalit vše Re: Elixir, můj nový oblíbený programovací jazyk
    sry .. oprava formatovani :)
    
    defmodule Main do
        def factorial(0) do
            1
        end
        
        def factorial(n) do
            n * factorial(n - 1)
        end
    end
    

    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.