Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - registrovany_ava

Stran: [1] 2 3 ... 5
1
Vývoj / Re:Kolko cyklov zbehne
« kdy: 14. 08. 2020, 15:46:02 »
Dobrý deň, kolko cyklov zbehne počas vykonávania tohoto kódu?:

Kód: [Vybrat]
std::vector<int> result;
boost::copy(
        boost::irange(1, 12)
        | filtered([](const int n) { return n % 2 == 0; })
        | transformed([](const int n) { return n * n; }),
        std::back_inserter(result)
);

A poprosím aj vysvetliť prečo. Ďakujem.

Cyklů čeho? Takhle položená otázka nedává moc smysl, protože tam není žádná smyčka.

Odpověď na správnější otázku by byla asi takováto:
 - lambda u filtered se vykoná 11x
 - lambda u transformed se vykoná 5x
 - vector::push_back se vykoná 5x

Správnější otázku si domysli sám.

Mimochodem, to se mi to C++ nelíbí, ekvivalentní verze v Rustu:

let result: Vec<usize> =
  (1..12)
    .filter(|x| x % 2 == 0)
    .map(|x| x * x)
    .collect();

2
Studium a uplatnění / Re:Jak jste prezili svuj stav vyhoreni
« kdy: 11. 08. 2020, 18:58:04 »
Pěkně jsi to popsal. Jestli jsi ještě nečetl, přečti si Rozšíření bitevního pole od Houllebecka, možná se v tom najdeš, je to zábavný. Jestli máš nějaký psychický problém, tak je to možná ten, že ti ke spokojenosti nestačí syntetická plochá urbánní odosobněná realita, ale osobně mě spíš zaráží, že to většině lidí nevadí.

Každopádně je jasný, že pro tebe nemá smysl v téhle práci zůstávat. Najdi si jinou, nebo si dej oraz. Jestli je ti 28, jseš mladej, vem si půl roku nebo rok volno, jdi dělat nějaký dobrovolnický projekty (potřebujeme probrat rajčata, zbourat kurník a udělat novej, solární sprchu, mlít ječmen prasatům, kdyby ses extra nudil, haha), je jich v republice i po Evropě spousta (koukni na workaway), hodně se naučíš, potkáš nový lidi, aktivně si odpočineš, budeš v přírodě, budeš dělat něco co má smysl (to je opravdu důležitý), bude tě to stát akorát ušlej zisk, ale nemůžeš přece celej život strávit v kanclu, kvůli tomu by ani nemělo smysl se narodit..

3
Vývoj / Re:Preferovaný zápis jména pole jako ukazatele
« kdy: 14. 07. 2020, 16:45:03 »
A kdyz tak o tom mluvim, tak mam taky dotaz: jak podobu ma v pameti structur? Tipuju ze je to vlastne bajt array, ktere dodrzuje order promennych definovanych ve structure. Tzn. ze si muzu pres pointer na struct jednotlive promenne vytahovat.

Hledáš offsetof.

4
Vývoj / Re:Dělení projektu v Rustu
« kdy: 02. 07. 2020, 18:02:43 »
Jestli je to všechno v Rustu, rozhodně bych rovnou vyřadil z úvah Makefile a všechno dělal přes cargo.

Jestli je to jednoduchá aplikace, asi bych měl ze začátku všechno v jednom repozitáři. Úplne ze začátku bych libku i binárku držel v jedné crate (to jde bez problému), potom, kdyby k té libce třeba těch binárek vznikalo víc, tak bych uvažoval o tom založit si workspace, kde by byla jedna crate pro libku a další crates pro binárky, a až úplně nakonec, když by mě k tomu okolnosti donutily, bych to eventuelně rozdělil na víc repozitářů. Když už bych to stejně měl jako workspace s víc crates, už by to nebyla žádná velká práce. Ale dokud by mě okolnosti nenutily, udržoval bych to všechno v jednom repozitáři, vývoj bude výrazně snazší, a díky rozdělení do více crates v rámci jednoho workspace bych stejně byl nucen držet si víceméně jasné hranice mezi libkou a binárkami.

5

Ak sa pamať nedelí na segmenty tak ako to teda je? Ja som bol v tom že smerník (pointer) na prmennú obsahuje adresu premennej v pamati.

A táto adresa sa skladá zo segmentu a offsetu. Pri 32 bitovej adrese je prvých 16 bitov segment a druhých 16 bitov offset. alebo sa mýlim?

Haha, to je nostalgie. Zhruba takhle (ale o něco složitější) to bylo dávno v reálném módu, myslím že procesory od i386 (uvedeny na trh v roce 1985, i když reálný mód se používal mnohem déle, to byla zhruba ta doba výroku "640 KB RAM by mělo stačit pro každého") dál už uměly virtuální adresování, tehdy se to nazývalo protected mód, a s tím se jede doteď. Adresa je prostě číslo, neskládá se z žádného segmentu a offsetu. Každý proces ovšem dostane svůj virtuální adresní prostor izolovaný od ostatních procesů, adresy do tohoto virtuálního prostoru pak teprve procesor (nebo řadič paměti, nevím přesně) překládá na fyzické adresy, z pohledu toho procesu je to ovšem zcela transparentní, uvádím to spíš pro úplnost.

Kdybych dnes někoho chtěl naučit, jak vypadá low level programování, doporučil bych mu Rust, nebo v horším případě C, to jen na malé  pokusy. C++ jen tchyni, a to by ještě musela provést něco opravdu ošklivého. Na základy programování jako takového opravdu asi ten Python.

6
Vývoj / Re:Docker a systém v kontejnerech
« kdy: 17. 06. 2020, 14:47:36 »
...

Super vysvětlení, díky. S Dockerem se nepotkávám a jen okolo mě létal pár let jako buzzword, a teď mám najednou během pěti minut ucelenou představu o základních principech fungování, a o tom k čemu by se mi to mohlo eventuelně hodit. Díky.

7
Vývoj / Re:Roslyn (net compiler platform) - má budoucnost ?
« kdy: 29. 04. 2020, 22:37:29 »
Já o tom vím prd, ale našel jsem třeba tohle: https://github.com/CoderNate/CSharpToPython
To demo se zdá že docela funguje. Je to to co hledáš?

8
Windows a jiné systémy / Re:GUI tookit pro Linux a Windows
« kdy: 03. 04. 2020, 10:22:33 »
Mám vám to nakreslit?
Budu dělat digitální kartotéku:
Přehled Karet (vlastní Widget?), Kde bude:
Název karty, její nějaké vlastnosti a tlačítka s otevřením, podnabídkou s exportem...
Když se to otevře, bude tam rozhraní pro úpravu.
Kartu můžete mít že šablony, kde jsou vlastnosti. Pokud to v šabloně dovolíte, lze i individuálně přidávat.

Teď mírně uvažuju nad tím, že by se mi možná hodilo něco podobného, koukal jsem po nástrojích, které umožňují takový typ aplikace (open source user-friendly frontend pro DB s master-detail rozhraním) udělat s minimálním úsilím. Našel jsem třeba https://www.openxava.org/ , od pohledu mi to přijde dobrý. Máte s něčím podobným někdo dobré zkušenosti?

9
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 20:24:26 »
Ale ty důvody, které jsi uvedl mají v konečném důsledku své ekonomické důvody a dopady. Například se ekonomicky významně neprosadil žádný browser, který by používal staticky typovaný skriptovací jazyk. Když přišel Javascript, byl fantastický v tom, že jsi měl běžící prostředí prohlížeče plné různých objektů, které jsi mohl za běhu, tedy dynamicky, upravovat přes prototypovou dědičnost. Zamiloval jsem se do něj na první pohled. Dnes už ho můžeš používat i mimo prohlížeče.

A výsledek? Aplikace se dnes čím dál tím více přesouvají na webové prohlížeče. Webové prohlížeče se svým dynamickým Javascriptem vytvořily novou velmi úspěšnou platformu, která prakticky porazila zdánlivě neporazitelného molocha Microsoft, jenž na přelomu tisíciletí pevně držel a ovládal aplikační paltformu windows a zdálo se, že nemá konkurenci.

To se nestalo jen tak náhodně pro nic za nic a bez důvodu. Webové aplikace jsou ekonomicky výhodnější. A nelze přehlédnout, že spolu s tím na straně serveru zazářil další dynamický jazyk, PHP a to navzdory tomu, že byl dost špatně navržený. O dynamické prostředí byl a je nesmírný zájem a to ze strany producentů, protože spotřebitelům je technologické pozadí ukradené.
Mícháš různé věci dohromady. Webové aplikace jsou populární, protože běží na webu/v prohlížeči, ne protože se programují v Javascriptu. Ostatně přímo v tomto vlákně si dost lidí pochvaluje pro webové aplikace Typescript, tedy jazyk se statickým typovým systémem.

Jestliže se dynamický jazyk snáze učí, má jasnou ekonomickou výhodu, má nižší náklady.
Tenhle názor je stejná blbost jako tvrdit, že krumpáč a lopata mají jasnou ekonomickou výhodu oproti bagru, protože se snáze učí a tím pádem mají nižší náklady.

Takže ne, moje fantasie není na to krátká, jenom jsi to nedomyslel do konečných důsledků. Každý takový faktor má své ekonomické dopady a nikdo je nedovede exaktně spočítat. Ale celkový výsledek vidíme na výsledné globální úrovni používání jazyků.
Že je tvoje fantazie krátká jsem už ukázal, a důsledky evidentně nedomýšlíš ty. Asi jediné s čím z tvého příspěvku souhlasím je, že různé faktory nikdo nedovede exaktně spočítat. A tímto za sebe končím (doufám) tuto debatu, protože je to jak bojovat s logickou Hydrou, člověk ti vyvrátí jeden logický nesmysl a ty vymyslíš dva další, to nemám zapotřebí.

10
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 16:01:57 »
Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.
Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.
Když rostou, musí mít nějakou výhodu. Víme o zásadní nevýhodě, jsou méně efektivní, plýtvají zdroji, přesto se prosazují. V globálním měřítku si neumím představit jiné než ekonomické důvody. Násilím je nikdo neprosazuje, právě naopak, je tu spousta militantních statických programátorů.

Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.
Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.
Když rostou, musí mít nějakou výhodu. Víme o zásadní nevýhodě, jsou méně efektivní, plýtvají zdroji, přesto se prosazují. V globálním měřítku si neumím představit jiné než ekonomické důvody. Násilím je nikdo neprosazuje, právě naopak, je tu spousta militantních statických programátorů.

Že si neumíš představit jiné důvody je jen omezení tvojí představivosti, žádný důkaz. Co třeba to, že amatérští programátoři se dynamický jazyk snáze naučí? (z čehož nijak nevyplývá, že profesionál se staticky typovaným jazykem nebude ve spoustě projektů produktivnější)?   Nebo to, že každý webař je okamžitě vystaven javascriptu prostě proto, že ho implementují všechny browsery posledních 20 let narozdíl třeba od Elmu? Na to je tvoje fantazie krátká? Dovedeš dokázat, že lepší produktivita je mezi mnoha dalšími faktory (některé jsem právě uvedl) právě ten rozhodující důvod pro popularitu dynamických jazyků?

Nicméně mě tahle debata nepřijde přínosná, je snad evidentní, že každý přístup má svoje, žádný absolutní vítěz ve všech kategoriích není.  Militantním zastáváním dynamicky typovaných jazyků jim děláš medvědí službu.

11
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 15:28:09 »
Když nad tím zauvažuješ, myslíš si, že by byl nějaký principielní problém do toho statické typování zavést? Jak by museli být omezené?

Nějaké statické typování by šlo určitě:

http://www.strongtalk.org/

http://bracha.org/pluggableTypesPosition.pdf

Nejsem žádný vědec přes programovací jazyky, na otázku "jak by musely být omezené" nedovedu kvalifikovaně odpovědět.

12
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 14:23:32 »
Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.

Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.

Co se týče dropboxu, nepíší tam, že dynamické jazyky jsou neflexibilní. Píší to o svém vlastním programu. Píší že měli chybně navržený datový model a nejen to.

Hlavně píší tohle:
Rust has been a force multiplier for our team, and betting on Rust was one of the best decisions we made. More than performance, its ergonomics and focus on correctness has helped us tame sync’s complexity. We can encode complex invariants about our system in the type system and have the compiler check them for us.

13
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 14:19:32 »
Smalltalk sa aj mne páči po teoretickej stránke, ale položte si otázku prečo sa nepresadil? Ja si myslím že je to kôli (ne)bezpečnosti. Dáva vám síce veľa slobody, ale práve nízka bezpečnosť a možnosť meniť úplne všetko je dôvod prečo ho v polovici 90tych rokov vytlačila Java.

No, důvody byly asi trochu přízemnější. Ideový nástupce Smalltalku byl Self, který Sun Microsystems vyvíjel společně s Javou, a v Sunu dumali, který jazyk by měli pustit na veřejnost. Podle tohoto zdroje: http://blog.rfox.eu/en/Series_about_Self/Environment_and_the_programming_language_Self_part_3.html , zvolili nakonec Javu, protože

Chuck McManis, a former employee of Sun Microsystems, wrote for a thread on hackernews:

Wow. For those who don't know, there was a big 'language bake off' at Sun between TCL, Java, and Self (all being funded by Sun Labs) and Bert Sutherland (then director of Sun Labs and brother of Ivan) required that the language changes stop and then we'd look at each one, and decide which one to move forward on. When the world sort of exploded at the WWW conference held in Darmstadt Germany in 1995, Java officially 'won' and both Self and TCL were de-committed. (not canceled per-se but not getting any more funding either).
I like to think that all three languages benefited from the competition.

Asked why did Java win, he replied:

 "At the time it was the ability to construct executable content inside a web page. Javascript now dominates that space, but up until WWWC 2 pretty much everyone was stuck with page layout primitives. It made it possible to see a path to where we are today and so everyone wanted their browser to have it, and if their browser didn't have it they could run the HotJava browser and get it.
Bottom line, it demonstrated an answer to a problem that a lot of people were having, and it promised to answer that problem in an 'open source' kind of way."


Jinak z osobní zkušenosti bych neřekl že Smalltalk je více nebezpečný než kterýkoliv jiný dynamicky typovaný jazyk - Python, PHP, Javascript atp.

14
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 11:25:12 »
Já ti neříkám, že to umím, to je zcela podružné. Já ti říkám, jak to je, dynamické jazyky jsou o jiném způsobu myšlení. Jestli to pochopíš nebo ne je už na tobě.

Pochopil jsem spoustu věcí (Prolog, Scheme, Smalltalk, OOP, FP). A když jsem to nepochopil, tak jsem alespoň cítil, že jsem si šáhl na hranice svých schopností (Haskell, závislostní typy). U dynamického programování se nic takového nekonalo, protože tam na pochopení nic není. Pointa je v tom, že já ti v tom, že "dynamické jazyky jsou o jiném způsobu myšlení" jednoduše nevěřím. Takhle je to jednoduché. Přeji dobrou noc.

No zrovna ten Smalltalk je dobrá ukázka toho, jak dynamické programování může být šikovné. Celé IDE je napsané samo v sobě, a za běhu modifikovatelné. Můžeš debugovat debugger a za běhu ho upravovat. Zeptáš se třídy na všechny její instance a pošleš jim zprávu (zavoláš metodu). Nic se neprogramuje do souborů, které se překládají a spustí, všechno neustále běží, žije, za běhu se přidávají a ubírají třídy, metody, .. Každá věc se dá inspectnout a pracovat s ní, měnit. Prožít si programování v takovém systému je skutečně mind bending zkušenost.

Když vidím Python, Javascript atp., tak mi přijde, že si vzali to nejblbější z dynamického programování - absenci statických typů, což teď horko těžko dohánějí, a ze staticky typovaného programování - absenci pořádného živého explorativního prostředí, což už asi nedoženou nikdy, protože si ani nedovedou představit, co by se dalo dělat.

Podobný koncept, i když ne tak dotažený, má třeba Lighttable (http://lighttable.com/) pro Clojure, ale s tím osobní zkušenost nemám.

15
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 26. 03. 2020, 20:06:19 »
Mně vždy přišlo, že pokud se použije typová inference, tak se zdrojový kód staticky typovaný neliší od dynamicky typovaného. Některé jazyky to neumožňují u všech deklarací, ale teoreticky to jde a třeba v C++ už jde psát bez explicitních typů (s plnou kontrolou při překladu).

U některých jazyků explicitní typy nejsou jen anotace pro kontrolu korektnosti kódu, ale ovlivňují sémantiku výsledného kódu.

Příklad: https://blog.jcoglan.com/2019/04/22/generic-returns-in-rust/

Popř. implicitní argumenty ve Scale také ovlivňují, co bude kód dělat.

Takové jazyky se principiálně nemohou obejít čistě s typovou inferencí, resp. už by to byl jiný programovací jazyk

Stran: [1] 2 3 ... 5