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 - Ink

Stran: [1] 2 3 ... 40
1
Vývoj / Re:Lua a cyklus
« kdy: 24. 02. 2023, 18:31:36 »
jenže lua nevyhazuje chybu "out of rage" při přístupu k neexistujícímu prvku v poli, vrací pouze nil, když prvek neexistuje.

OK, to se asi moc dobře řešit nedá. Dík za vysvětlení.

2
Vývoj / Re:Lua a cyklus
« kdy: 24. 02. 2023, 12:46:20 »
Inku, co ti je na hlášce
Kód: [Vybrat]
attempt to index a nil value (field '?') nejasného?
Očekáváš snad že ti to napíše že se indexuje od 1? ;D

Ano, může napsat něco jako "Index out of range", co znamená v lidštině "index a nil value"?

3
Vývoj / Re:Lua a cyklus
« kdy: 24. 02. 2023, 10:47:44 »
Docela by mě zajímalo, proč interpreter Lua, který je na světě tak dlouho, nedokáže vyplivnout smysluplnou chybovou hlášku pro tak jasný problém.  :(

4
Indu je hrozne moc, takze jsou dobri i spatni. Problem je, ze programovani je pro ne cesta nahoru, takze programovat chce kazdy. Nezavisle na tom, co umi nebo neumi. Mam pocit, ze v CR/EU/vetsine sveta jde clovek programovat, protoze se o to zajima, bavi ho to. Spousta indu jsou programatori z Kolbenky. To se projevuje tak, ze prijde clovek, ktery tvrdi, ze 8 let programoval REST microservices, ale netusi, co znamenaji zkratky HTTP GET. On totiz sice delal 8 let microservices, ale bylo to tak ze mu nekdo rekl: tady je interface X a interface Y. Implementuj interface X tak, ze zavola interface Y. A vubec jim nevadi, ze delaji furt jedno a to samy dokola a vubec tomu nerozumi. Jsou presne takovi programatori, o jakych se mluvilo pri rekvalifikaci horniku z Ostravy. Proste postavte ho ve Skodovce k pasu a on bude zcela spokojene 8hodin denne nandavat prave predni kolo na auto.

Podobní borci jsou už k dispozici i na pracovním trhu v Česku. Asi ne takhle extrémně, ale lidi, kteří nemají zásadní informace o tom, jak co funguje a ani se tím netrápí.

5
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 20. 02. 2023, 06:33:36 »
No, a moje pointa mého původní příspěvku je, že nevím, proč bych to měl drátovat do typů. Prostě si vytvořím kolekci [Foo] a nechám kompilátor odvodit podle užití, jak moc v kódu používám přístup k počtu prvků (-> přidá count do interní struktury pro Foo), jak často přidávám/odebírám prvky uvnitř seznamu (-> zvolí zda použít vektor, nebo spojový seznam). To mě, jako uživatele typů nezajímá, a kompilátor to dokáže rozhodnout lépe.

A jak to pozná?
Jak to píšu. Pozná to na základě znalosti kódu. Koukne a vidí, že ta kolekce se používá tady a tady a tady a tady, způsobem tak a tak a tak. Tudíž nejoptimálnější by bylo mít tu strukturu takto.

A jak z toho (obecně) pozná, jaká je frekvence kterých operací? To přece musí záviset mimo jiné na vstupních datech.

To píšu výše, ne?

Aha, OK.

6
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 19. 02. 2023, 21:47:48 »
No, a moje pointa mého původní příspěvku je, že nevím, proč bych to měl drátovat do typů. Prostě si vytvořím kolekci [Foo] a nechám kompilátor odvodit podle užití, jak moc v kódu používám přístup k počtu prvků (-> přidá count do interní struktury pro Foo), jak často přidávám/odebírám prvky uvnitř seznamu (-> zvolí zda použít vektor, nebo spojový seznam). To mě, jako uživatele typů nezajímá, a kompilátor to dokáže rozhodnout lépe.

A jak to pozná?
Jak to píšu. Pozná to na základě znalosti kódu. Koukne a vidí, že ta kolekce se používá tady a tady a tady a tady, způsobem tak a tak a tak. Tudíž nejoptimálnější by bylo mít tu strukturu takto.

A jak z toho (obecně) pozná, jaká je frekvence kterých operací? To přece musí záviset mimo jiné na vstupních datech.

7
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 19. 02. 2023, 16:23:26 »
No, a moje pointa mého původní příspěvku je, že nevím, proč bych to měl drátovat do typů. Prostě si vytvořím kolekci [Foo] a nechám kompilátor odvodit podle užití, jak moc v kódu používám přístup k počtu prvků (-> přidá count do interní struktury pro Foo), jak často přidávám/odebírám prvky uvnitř seznamu (-> zvolí zda použít vektor, nebo spojový seznam). To mě, jako uživatele typů nezajímá, a kompilátor to dokáže rozhodnout lépe.

A jak to pozná? Pokud to nedělá runtimovou analýzu v konkrétním běhu nebo nějakou dlouhodobou statistiku, tak bych na to nespoléhal...

8
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 19. 02. 2023, 14:22:17 »
Spíš je tam nadbytečný ten spojový seznam, většinou chceš jenom vektor. A když ho spojíš s vektorem, výhody listu zabiješ úplně.
To se takhle nedá říct. Pokud tu kolekci používáš tak, že tam často přidáváš a odebíráš prvky na různá místa, bude spojový seznam lepší volba.

Ano, pro tento velmi specifický případ se spojový seznam celkem hodí (za předpokladu, že moc nepotřebuješ náhodný přístup), sice jsem to v praxi neviděl, ale nezpochybňuju to. Ale když tam přidáš vektor - a to je základ mého příspěvku - už můžeš spojový seznam zahodit, protože režii přidávání a odebírání na vektoru se nevyhneš.

9
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 18. 02. 2023, 13:43:36 »
Jsem myslel, že dneska se to dělá tak, že si vytvořím třídu ve který bude ten list i jeho délka jako vlastnost. V okamžiku převodu na vektor budu délku pak vědět. No vlastně v tý třídě může být rovnou i ten vektor...
Nebo ne?

deka listu ve tride listu muze byt, ale michat tam i vektor je nadbytecne.

Spíš je tam nadbytečný ten spojový seznam, většinou chceš jenom vektor. A když ho spojíš s vektorem, výhody listu zabiješ úplně.

10
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 18. 02. 2023, 08:12:04 »
Ja to chápem tak, že pamäť pre vektor sa alokuje ako počet dát krát veľkosť dát, takže musia byť dáta za sebou v pamäti.

Nekonečná kolekcia je niečo ako zreťazený zoznam a má porozhadzované prvky v pamäti a ešte prvý prvok musí mať smerník na samotné dáta a smerník na druhý prvok, druhý prvok má smerník na svoje dáta a smerník na ďalší prvok, atď. Posledný prvok má smerník na ďalší prvok nastavený na Null. Takže sa dajú ľahko pridať ďalšie dáta, stačí správne ponastavovať smerníky na ďalší prvok v predchádzajúcom a pridávanom prvku.

"Nekonečná" kolekce může být taky vektor. A naštěstí většinou i bývá.

11
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 17. 02. 2023, 18:04:14 »
Aby nedošlo k omylu, já to zadání chápu. Jen jsem ho zjednodušil.

Obecně v jazycích se předpokládají kolekce jako nekonečné. Tudíž proč někde uchovávat délku kolekce? Třeba proto, že mám funkce, které dokáží zpracovat jen konkrétní délku - což je můj příspěvek/dotaz. A nebo proto, že mám různé specializované funkce pro různé délky. Tak pak nevím proč to rvát do typu, když se můžu zeptat v nějakém switchi.

K čemu je zajímavé, že je ta délka součástí typu? Jaké to má praktické použití?

To má smysl při optimalizacích. Třeba Rust má vector ("nekonečný") a array, kde je délka součástí typu. Dává to perfektní smysl, stejně jako skutečnost, že to je dáno při kompilaci natvrdo. Samozřejmě si dovedu představit i nějakou realtimovou "oblast", kde se dynamicky vytvoří alokace řádků pevné délky. Ale je to taková specialitka...

12
Vývoj / Re:Převod List<a> na Vect<a,n>
« kdy: 17. 02. 2023, 12:34:20 »
Zdá se mi to nebo si tu Idris pokládá zdánlivě triviální otázky na které si odborně odpovídá pod jiným účtem  ;D
viz minule https://forum.root.cz/index.php?topic=27054.0

To je zajímavá hypotéza...

13
Studium a uplatnění / Re:ChatGPT a AI pro vývojáře
« kdy: 14. 02. 2023, 13:45:06 »
Jirsák +1.

Já bych to popsal tak, že většinové IT pomalu opouští rigidní matematické procesy, ve kterých se zrodilo, a přesouvá se do měkčích procesů známých třeba z biologie. Místo zdola nahoru se jde shora dolů. Je to lepší, nebo horší? Asi záleží případ od případu, ale určitě to dovoluje mít složitější celky, které z povahy věci prostě musí být tolerantní k částečnému selhání něčeho uvnitř.

Tenhle přístup mne, co by inženýra dost děsí. Trochu mi to zavání rezignací. Nevíme jestli je to evoluce nebo rakovina. Prostě to neumíme nadesignovat, uřídit, tak to necháme jak se to vyvrbí. Evoluce funguje, ale v řádech miliónů let se spoustou slepých uliček a masových vymírání. Jsem stavební inženýr, trochu něco tuším o strojařině, a tam jen idea systémů, které nejsou 100% deterministické je nepřijatelná fantasmagorie.

Jsem 100% pro fault tolerant systémy, nicméně ty systémy stále musí být deterministické. Jinak se inženýrská práce mění v alchymii.

Je to šílené, dystopické a zbytečné. V době, kdy existují čím dál kvalitnější programovací jazyky a nástroje, lze efektivně psát kvalitní, spolehlivé a rychlé programy a neexistuje výmluva.

ChatGPT lže a je horší než Stack Overflow, protože nemá viditelnou korekci. Člověka, který programuje s podobnými pomůckami, aniž by v rozumné míře věděl, co a proč kopíruje, bych okamžitě vyhodil.

14
Pohovory znám spíš z té opačné strany a můžu potvrdit, že nekoušeme a uchazeče nebijeme. Čistě se obleč, buď v pohodě, zajímej se o firmu, kterou chceš oslovit a ber to jako příležitost.

mas nejakou pikosku z nataceni?

Nevím, jestli to někoho pobaví, ale typy chodí fakt různé. Počínaje maníkem, který měl IQ tak asi 180, podíval se na nás ze svého nadhledu a slušně se rozloučil. Přes různé seniorní a juniorní kandidáty, se kterými byla radost si popovídat a někteří zůstali. Až po týpka, který nevěděl o programování nic, ale strašně se zajímal o to, kde bude přesně sedět nebo rekvalifikovanou prodavačku, která samozřejmě neměla o oboru páru, ale ještě přišla na pohovor o 3/4 hodiny dříve a když jsem na to opatrně poukázal, řekla, že jí takhle přijel autobus.

V poslední době přibývá zájemců o místo programátora z řad zjevných neprogramátorů. Někteří jinak použitelní uchazeči zase mají problém přijít do práce nebo se aspoň omluvit a to klidně ze začátku zkušební doby. Kdyby komunikovali, přivřel bych oko, ale tohle je fakt přes čáru. Přiznaný junior se sebekázní a snahou se posouvat je fajn model.

15
Pohovory znám spíš z té opačné strany a můžu potvrdit, že nekoušeme a uchazeče nebijeme. Čistě se obleč, buď v pohodě, zajímej se o firmu, kterou chceš oslovit a ber to jako příležitost.

Stran: [1] 2 3 ... 40