Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-08-10

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
16:41 xstill hm, to že se nespouští destruktory objektů na zásobníku při exit() je poněkud zákeřné...
16:44 xstill stále mě to C++ nepřestává překvapovat
16:45 mornfall jak by mohlo, žejo :-)
16:45 mornfall exit je C funkce která se nikdy nevrací
16:46 xstill no ne tak docela, protože destruktory static objektů se volají
16:46 xstill prej
16:46 mornfall to je něco trochu jinýho
16:46 mornfall globální destruktory má aj to C
16:47 xstill aha, o tom nevím
16:48 xstill no ono je to hlavně blbé pro RAII
16:49 mornfall typicky RAII počítá s tím, že OS ty zdroje uvolní když ten proces zničí
16:49 mornfall kill -9 nevolá destruktory vůbec žádný
16:50 mornfall stejně tak OOM
16:50 xstill ani std::abort
16:50 xstill ale tím pádem se RAII nedá použít třeba na dočasné soubory
16:50 mornfall no, dá, ale není to úplně dokonalé :-)
16:51 mornfall abort je taky C funkce
16:51 mornfall můžeš napsat throw;
16:51 xstill jo no
16:51 xstill ale třeba v divine myslím nenajdu jediný throw a abort tam určitě je dostkrát
16:51 mornfall :-)
16:52 mornfall throw tam je taky dostkrát
16:52 mornfall a jedinej abort je ve fail větvi assertu, to přepíšeš na jednom místě a máš
16:53 xstill jak ono je to s výkonnostní penaltou výjimek? To se projevý jen při vlastním vyhození?
16:54 mornfall projeví*
16:54 xstill sakra...
16:54 mornfall drahý je try {, throw je levnej
16:55 xstill drahý ve smyslu vstupu do try { bloku?
16:55 mornfall j
16:55 xstill aha
16:55 mornfall musí se vyrobit nějakej netriviální kontext a uložit
16:56 xstill tak to je potom celkem v pohodě, pokud neprogramuješ v "java stylu"
16:56 mornfall jediný co fakt nechceš je try v těsným cyklu
16:57 xstill aha
17:00 mornfall throw; taky nefunguje :-) musíš vyhodit něco, ono to zavolá abort rovnou aniž by to udělalo unwind
17:03 mornfall hm, to je ale trochu trapný, ono když něco nemá aktivní catch blok tak se to taky neobtěžuje udělat unwind
17:03 mornfall takže RAII na dočasný soubory asi nic moc :-)
17:03 mornfall resp. jo, ale v konstruktoru si budeš muset zavolat atexit
17:03 mornfall resp. on_exit který funguje přecijen o kus líp
17:04 mornfall a on_exit je deprecated
17:05 xstill no tak ono by šlo mít nějakou "standartní" výjimku a tu v main odchytávat a pak volat exit, to by destruktory zavolalo. Jen by celý main byl v jednom try
17:05 mornfall pokud máš pod kontrolou celou aplikaci tak jo
17:05 xstill jo no
17:05 mornfall ale jakmile píšeš knihovnu, tak to moc nejde :-)
17:07 xstill to bohužel ne
17:07 mornfall a furt tady je otázka signálů
17:08 mornfall na Linuxu jde vyrobit signal handler kterej vyrobí C++ exception a funguje to, ale technicky to je nedefinované chování
17:10 xstill to je nemilé no
18:50 spito joined #divine
18:51 * spito mává z Chorvatska :)
19:10 xstill spito: mávám zpět
19:11 spito konečně budu mít čas na divine
19:11 spito i když...to zní dost divně, že? :D
19:13 xstill to zní hodně divně, když jsi na dovolené :-D
19:16 spito no, běžně jsem v práci 10+ hodin, tak to pak radši dělám cokoliv jinýho, než práci na PC
19:16 spito třeba i uklízím, umývám nádobí a tak
19:17 xstill jo to se ti nedivím potom
19:17 spito tedy teď si na divine najdu cca každý den od 11 do 16 čas....Zuzka se taky musí učit na zkoušky
19:17 spito a...jdu spát...cesta busem přes noc je zločin proti lidskosti a mělo by to být zakázaný :D
19:18 spito left #divine

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary