Nejžádanější programátorské znalosti na českém pracovním trhu

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #240 kdy: 25. 11. 2016, 09:37:18 »
A co nechapes na tom ze 0xAe3F je int a do intu to vpohode das, a muze a taky nejspis bude to znamenat, ze to tvoje letadlo prave leti stremhlav k zemi?

Kdyz to zada skladnik jako pocet, je to totiz porad jeste sranda ... teda pobavim se spolecne s tim skladnikem na tema, ze programator je kreten.
Nevím, jakou to má souvislost s tím, co jsem napsal. Když funkce bere "neprázdný seznam", a prostě to nejde s prázdným seznamem zavolat, tak asi nemusím testovat, co se stane, když to zavolám s prázdným seznamem, když se to ani nepřeloží....
Psal jsem o tom, že to vede k tomu, že mnoho testů nemusíš dělat - nikoliv k tomu, že nemusíš dělat žádné.

Obavam se, ze trebas dependent types uz jsou ponekud mimo oblast, kde se j zvladne pohybovat a neublizit si ;)


v

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #241 kdy: 25. 11. 2016, 10:03:48 »
A co nechapes na tom ze 0xAe3F je int a do intu to vpohode das, a muze a taky nejspis bude to znamenat, ze to tvoje letadlo prave leti stremhlav k zemi?

Kdyz to zada skladnik jako pocet, je to totiz porad jeste sranda ... teda pobavim se spolecne s tim skladnikem na tema, ze programator je kreten.
Nevím, jakou to má souvislost s tím, co jsem napsal. Když funkce bere "neprázdný seznam", a prostě to nejde s prázdným seznamem zavolat, tak asi nemusím testovat, co se stane, když to zavolám s prázdným seznamem, když se to ani nepřeloží....
Psal jsem o tom, že to vede k tomu, že mnoho testů nemusíš dělat - nikoliv k tomu, že nemusíš dělat žádné.

Obavam se, ze trebas dependent types uz jsou ponekud mimo oblast, kde se j zvladne pohybovat a neublizit si ;)
netřeba hned sahat po takovém dělu, jsou jazyky s celočíselnýmy typy s vymezeným rozsahem, např Ada a IEC61131-3, "shodou okolností" jsou oba pro řízení

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #242 kdy: 25. 11. 2016, 10:14:20 »

Obavam se, ze trebas dependent types uz jsou ponekud mimo oblast, kde se j zvladne pohybovat a neublizit si ;)
netřeba hned sahat po takovém dělu, jsou jazyky s celočíselnýmy typy s vymezeným rozsahem, např Ada a IEC61131-3, "shodou okolností" jsou oba pro řízení

Jasne, ta poznamka uz se tykala seznamu (coz se samozrejme da s nejakou davkou nasili zaridit i v jazycich, ktere maji slabsi typovy system).

andy

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #243 kdy: 25. 11. 2016, 12:05:58 »

Obavam se, ze trebas dependent types uz jsou ponekud mimo oblast, kde se j zvladne pohybovat a neublizit si ;)
netřeba hned sahat po takovém dělu, jsou jazyky s celočíselnýmy typy s vymezeným rozsahem, např Ada a IEC61131-3, "shodou okolností" jsou oba pro řízení

Jasne, ta poznamka uz se tykala seznamu (coz se samozrejme da s nejakou davkou nasili zaridit i v jazycich, ktere maji slabsi typovy system).
Na seznamy ale dependent types netpotřebuju? http://hackage.haskell.org/package/semigroups-0.16.2.2/docs/Data-List-NonEmpty.html Na red-black-tree teda ano, a tam bych si asi ublížil taky :) Ale kdybych fakt tu korektnost potřeboval...

v

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #244 kdy: 25. 11. 2016, 12:41:29 »

Obavam se, ze trebas dependent types uz jsou ponekud mimo oblast, kde se j zvladne pohybovat a neublizit si ;)
netřeba hned sahat po takovém dělu, jsou jazyky s celočíselnýmy typy s vymezeným rozsahem, např Ada a IEC61131-3, "shodou okolností" jsou oba pro řízení

Jasne, ta poznamka uz se tykala seznamu (coz se samozrejme da s nejakou davkou nasili zaridit i v jazycich, ktere maji slabsi typovy system).
Na seznamy ale dependent types netpotřebuju? http://hackage.haskell.org/package/semigroups-0.16.2.2/docs/Data-List-NonEmpty.html Na red-black-tree teda ano, a tam bych si asi ublížil taky :) Ale kdybych fakt tu korektnost potřeboval...
já jsem to pochopil tak že slabších než haskell (o terém tu zřejmě mluvíme, aniž bychom ho pojmenovali), třeba ta java, on to tu někdo aji ukazoval, akorát, že ten list je sice potom zaručeně nonemty, ale furt může být null, asi


Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #245 kdy: 25. 11. 2016, 12:55:11 »

Obavam se, ze trebas dependent types uz jsou ponekud mimo oblast, kde se j zvladne pohybovat a neublizit si ;)
netřeba hned sahat po takovém dělu, jsou jazyky s celočíselnýmy typy s vymezeným rozsahem, např Ada a IEC61131-3, "shodou okolností" jsou oba pro řízení

Jasne, ta poznamka uz se tykala seznamu (coz se samozrejme da s nejakou davkou nasili zaridit i v jazycich, ktere maji slabsi typovy system).
Na seznamy ale dependent types netpotřebuju? http://hackage.haskell.org/package/semigroups-0.16.2.2/docs/Data-List-NonEmpty.html Na red-black-tree teda ano, a tam bych si asi ublížil taky :) Ale kdybych fakt tu korektnost potřeboval...
já jsem to pochopil tak že slabších než haskell (o terém tu zřejmě mluvíme, aniž bychom ho pojmenovali), třeba ta java, on to tu někdo aji ukazoval, akorát, že ten list je sice potom zaručeně nonemty, ale furt může být null, asi

Presne tak. V Jave si muzes za cenu ruznych neprijemnosti kolem ten non-empty list zarucit, ale na to ne-null moc sanci nemas. Idiomaticke reseni je Optional, ale porad ti nikdo neslibi, ze ten optional nebude null ;)

(alternativa na JVM - kotlin. Tam tohle poresene je o neco vic.)

dustin

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #246 kdy: 25. 11. 2016, 13:27:39 »
Jasně že by se garantovaný nonnull parametr často hodil. Ty anotace jsou užitečné, ale je to jen pro inspekce IDE, nic natvrdo. Obávám se, že na řadě projektů se inspekce IDE vůbec neřeší, zrovna nedávno jsem jeden viděl, jeden warning inspekce za druhým a vývojář vůbec netušil, o co jde. Klasika...

j

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #247 kdy: 25. 11. 2016, 13:33:16 »
Obavam se, ze trebas dependent types uz jsou ponekud mimo oblast, kde se j zvladne pohybovat a neublizit si ;)
Obavam se, ze nekola vubec netusi, ze ten prazdny seznam vubec nemusi vzniknout diky nejakymu SW, ale klidne kvuli HW, coz jaksi programator neovlivni, ale mel by si to hlidat.

Pak to totiz vede na takovy udaloste, ze programator sice pred nastartovanim prekontroluje ze funguji brzdy, ale jaksi uz nepocita s tim, ze po nastartovani uz fungovat nemusi ... zejo.

Ale to je u nekoly normalni, ze vubec nema paru ja veci funguji.

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #248 kdy: 25. 11. 2016, 13:52:43 »
Obavam se, ze nekola vubec netusi, ze ten prazdny seznam vubec nemusi vzniknout diky nejakymu SW, ale klidne kvuli HW, coz jaksi programator neovlivni, ale mel by si to hlidat.

Ty vazne nechapes, o cem je rec, co?

Kdyz nekde muze vzniknout prazdny seznam, tak z nej v rozumnem typovem systemu proste ten neprazdy mavnutim magicke hulky neudelas. To hlidani ti pak nuti prostredky jazyka, neni to na tve libovuli (a pameti).

Takze kdyz mas nejake API k tomu HW, tak musi vracet seznam (a pokud to tak neni, tak je to PNJ). A ten nejsi schopen narvat to sveho kodu, co chce neprazdy seznam. Runtime bezpecnost vynucena uz v compiletime.

andy

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #249 kdy: 25. 11. 2016, 13:59:56 »
Obavam se, ze nekola vubec netusi, ze ten prazdny seznam vubec nemusi vzniknout diky nejakymu SW, ale klidne kvuli HW, coz jaksi programator neovlivni, ale mel by si to hlidat.
A jak se to hlídá? Vážně. Non-empty array je definováno zhruba takhle:
Kód: [Vybrat]
class NonEmpty<A> {
  private A prvniPrvek;
  private List<A> zbytek;
}
To mám jako kontrolovat, jestli má ta třída pořád ještě dva prvky, a jestli se mezitím "prvniPrvek" nevypařil?

podlesh

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #250 kdy: 25. 11. 2016, 16:57:27 »
Jasně že by se garantovaný nonnull parametr často hodil. Ty anotace jsou užitečné, ale je to jen pro inspekce IDE, nic natvrdo. Obávám se, že na řadě projektů se inspekce IDE vůbec neřeší, zrovna nedávno jsem jeden viděl, jeden warning inspekce za druhým a vývojář vůbec netušil, o co jde. Klasika...
Nebyl to kuřák? Ti jsou zvyklí warningy ignorovat....

balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #251 kdy: 25. 11. 2016, 20:01:20 »
Jasně že by se garantovaný nonnull parametr často hodil. Ty anotace jsou užitečné, ale je to jen pro inspekce IDE, nic natvrdo. Obávám se, že na řadě projektů se inspekce IDE vůbec neřeší, zrovna nedávno jsem jeden viděl, jeden warning inspekce za druhým a vývojář vůbec netušil, o co jde. Klasika...
Nebyl to kuřák? Ti jsou zvyklí warningy ignorovat....

Alebo cesky turista. Badum, tsss ... :)

phi

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #252 kdy: 08. 12. 2016, 15:32:08 »
Znalosti jsou jen pro lopaty. Vývojář se cokoli naučí za pár měsíců, takže to nemusí umět předem.

Jobs je pro lopaťácké pozice tak do 110 tisíc. Ztráta času přes to hledat lepší joby.
Sorry, to je fakt blbost. Mit znalosti z problemove domeny je vzdy plus.

David

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #253 kdy: 10. 12. 2016, 07:16:14 »
...A když ji pak třeba pošlu do nějaké funkce "mámVysunoutPodvozek",...
...a to tak, že hodně věcí není potřeba testovat, protože se nemůžou stát....
Takovym letadlem bych teda letet vazne nechtel. Kolik ja uz videl takovych veci co se prece nemuzou stat ...0xAe3F ... je prece taky cislo zejo.
Tak to vezmi jinak: ověřování modelů je jedna z věcí, které se běžně provádějí. A v některých těchhle jazycích v tom typovém systému v podstatě vytváříš model a překladač ti ho ověřuje.

V Javě třeba do proměnné "int" nepřiřadíš nějaký "string". Má smysl něco takového testovat? Ani nevím, jak bys to dělal - on se takový program prostě nepřeloží.

Existuje způsob, jak některým typovým systémům vysvětlit, co to je validní červeno-černý strom. Podobně, jako proměnná "int" nemůže obsahovat string, tak proměnná "RedBlackTree" pak nemůže obsahovat nic jiného, než validní strom. Má smysl testovat, zda po operacích "insert/delete" je výsledkem validní červeno-černý strom, když ten nevalidní prostě nejde v tom typu vůbec zkonstruovat? Má smysl testovat, zda po insertu je výsledkem strom, který obsahuje všechny prvky jako ten před insertem + ten nový, má smysl testovat obdobně delete - ale přestalo mít smysl testovat validitu toho stromu.

Tohle je přesně způsob, jak ten software do letadel psát.

Tohle je docela zajimave. Muzu se zeptat kde (konkretne k Jave) se toto probira? nejaky tip na dobrou literaturu?

javaman ()

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #254 kdy: 14. 12. 2016, 21:37:49 »
Znalosti jsou jen pro lopaty. Vývojář se cokoli naučí za pár měsíců, takže to nemusí umět předem.

Jobs je pro lopaťácké pozice tak do 110 tisíc. Ztráta času přes to hledat lepší joby.
Sorry, to je fakt blbost. Mit znalosti z problemove domeny je vzdy plus.

Opravdu vždy?