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

YF

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #210 kdy: 23. 11. 2016, 19:49:27 »
Nejžádanější programátorské znalosti na českém pracovním trhu - to je ono to co tady predvadite? :)


JSH

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #211 kdy: 23. 11. 2016, 20:10:27 »
Nejžádanější programátorské znalosti na českém pracovním trhu - to je ono to co tady predvadite? :)
Nee. Tomu, co tady předvádíme se říká flamewar. Jestli jsi ho ještě nezkoušel, tak vřele doporučuju. Tady na rootu jsou k tomu obzvlášť vhodné podmínky.  8)

martin

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #212 kdy: 23. 11. 2016, 20:31:51 »
najziadanejsie podmienky ci uz v CR alebo SR su: java/c#, html, javascript, css, angular, sql. v SR hlavne firmy robia statne zakazky a vsetko su len same webove sracky. nieco take fakt ze zaujimave je tazko najst.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #213 kdy: 23. 11. 2016, 23:04:08 »
najziadanejsie podmienky ci uz v CR alebo SR su: java/c#, html, javascript, css, angular, sql.

Jenom? Ja mel dojem, ze chteji jen asi 10 programovacich jazyku, SAP a aspon 5 databazovych systemu + k tomu oprasovat HW a delat suport na telefonu. Ve vsem tak 15 let zkusenosti a maximalne 30 let veku.

balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #214 kdy: 23. 11. 2016, 23:08:38 »
Pokud je v dokumentaci, že nějaká funkce null nevrací, pak ji z té funkce nejspíš nedostanu. Ale jisté to není. Jisté je, že jestli ji náhodou dostanu, tak mě chytne naprosto nepřipraveného.

Takze radsej riadite svoje rozhodovanie default hodnotami, ako by ste mali vediet, ze nedosla hodnota?  Taketo pocinanie sposobilo kopec drahych chyb. Napriklad vyskomery, co ukazovali priemernu vysku, ked boli pokazene. Alebo default booleany co spustili procesy, ked nemali. Alebo napr. sonda nasa, co zistila prebytok ozonu, miesto ozonovej diery lebo mala nastavenu default hodnotu na vysoku, a senzory nic nenamerali, lebo vrstva bola pod ich rozlisovaciu schopnosti.


balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #215 kdy: 23. 11. 2016, 23:13:36 »
najziadanejsie podmienky ci uz v CR alebo SR su: java/c#, html, javascript, css, angular, sql.

Jenom? Ja mel dojem, ze chteji jen asi 10 programovacich jazyku, SAP a aspon 5 databazovych systemu + k tomu oprasovat HW a delat suport na telefonu. Ve vsem tak 15 let zkusenosti a maximalne 30 let veku.

To vzdy napisu, nikdy takeho nedostanu. Budu radi, ak dotycny ovlada len par technologii a poriadne. Moj tajny tip je ovladat unixovy shell na pouzivatelskej urovni a vediet ako funguje databaza vo vnutri.

martin

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #216 kdy: 23. 11. 2016, 23:21:59 »
jardo ano to mas pravdu. ja som skor bral co sa tyka rozsirenosti technologii. firma chce cloveka, ktory bude vsetko vediet, robit ako robot a za co najmenej penazi. vivat kapitalizmus

andy

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #217 kdy: 23. 11. 2016, 23:23:24 »
Pokud je v dokumentaci, že nějaká funkce null nevrací, pak ji z té funkce nejspíš nedostanu. Ale jisté to není. Jisté je, že jestli ji náhodou dostanu, tak mě chytne naprosto nepřipraveného.

Takze radsej riadite svoje rozhodovanie default hodnotami, ako by ste mali vediet, ze nedosla hodnota?  Taketo pocinanie sposobilo kopec drahych chyb. Napriklad vyskomery, co ukazovali priemernu vysku, ked boli pokazene. Alebo default booleany co spustili procesy, ked nemali. Alebo napr. sonda nasa, co zistila prebytok ozonu, miesto ozonovej diery lebo mala nastavenu default hodnotu na vysoku, a senzory nic nenamerali, lebo vrstva bola pod ich rozlisovaciu schopnosti.
Jsou jazyky, které umožňují říct "v téhle proměnné je číslo nebo null" a "v téhle proměnné je číslo". Takže například zavolám funkci "zjistiVýšku", pak zavolám funkci "otestujJestliNeníNull", která mi převede proměnnou z typu "může obsahovat null" na "vždycky obsahuje číslo" (a když obsahuje null, tak třeba vyvolá výjimku) a tuhle proměnnou následně používám. A když ji pak třeba pošlu do nějaké funkce "mámVysunoutPodvozek", tak ta funkce ví, že prostě dostane číslo a že to nikdy nebude null. Protože proměnná, která může obsahovat null je jiného typu a překladač na tom zařve.

A když pak píšeš v takovém jazyku, tak to sice trvá malinko déle (ne zas tak moc), ale když už to konečně napíšeš a přeložíš, tak máš produkční kód, který má velmi dobře ošetřené krajní případy - a to tak, že hodně věcí není potřeba testovat, protože se nemůžou stát. A stav, kdy po několika hodinách psaní kódu to konečně přeložíš, spustíš - a ono to funguje, je poměrně běžná záležitost - a když to nefunguje, tak je to spíš výjimka.

A tohle třeba Java neumí.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #218 kdy: 23. 11. 2016, 23:29:03 »
Pokud je v dokumentaci, že nějaká funkce null nevrací, pak ji z té funkce nejspíš nedostanu. Ale jisté to není. Jisté je, že jestli ji náhodou dostanu, tak mě chytne naprosto nepřipraveného.

Takze radsej riadite svoje rozhodovanie default hodnotami, ako by ste mali vediet, ze nedosla hodnota?  Taketo pocinanie sposobilo kopec drahych chyb. Napriklad vyskomery, co ukazovali priemernu vysku, ked boli pokazene. Alebo default booleany co spustili procesy, ked nemali. Alebo napr. sonda nasa, co zistila prebytok ozonu, miesto ozonovej diery lebo mala nastavenu default hodnotu na vysoku, a senzory nic nenamerali, lebo vrstva bola pod ich rozlisovaciu schopnosti.
Jsou jazyky, které umožňují říct "v téhle proměnné je číslo nebo null" a "v téhle proměnné je číslo". Takže například zavolám funkci "zjistiVýšku", pak zavolám funkci "otestujJestliNeníNull", která mi převede proměnnou z typu "může obsahovat null" na "vždycky obsahuje číslo" (a když obsahuje null, tak třeba vyvolá výjimku) a tuhle proměnnou následně používám. A když ji pak třeba pošlu do nějaké funkce "mámVysunoutPodvozek", tak ta funkce ví, že prostě dostane číslo a že to nikdy nebude null. Protože proměnná, která může obsahovat null je jiného typu a překladač na tom zařve.

A když pak píšeš v takovém jazyku, tak to sice trvá malinko déle (ne zas tak moc), ale když už to konečně napíšeš a přeložíš, tak máš produkční kód, který má velmi dobře ošetřené krajní případy - a to tak, že hodně věcí není potřeba testovat, protože se nemůžou stát. A stav, kdy po několika hodinách psaní kódu to konečně přeložíš, spustíš - a ono to funguje, je poměrně běžná záležitost - a když to nefunguje, tak je to spíš výjimka.

A tohle třeba Java neumí.
Aneb opět jsme u monád a potažmo FP :)

andy

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #219 kdy: 23. 11. 2016, 23:43:47 »
Aneb opět jsme u monád a potažmo FP :)
Spíš u algebraických datových typů. IMO by tohle klidně do non-FP jazyků přijít časem mohlo...

Youda

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #220 kdy: 24. 11. 2016, 00:32:50 »

Jsou jazyky, které umožňují říct "v téhle proměnné je číslo nebo null" a "v téhle proměnné je číslo". Takže například zavolám funkci "zjistiVýšku", pak zavolám funkci "otestujJestliNeníNull", která mi převede proměnnou z typu "může obsahovat null" na "vždycky obsahuje číslo" (a když obsahuje null, tak třeba vyvolá výjimku) a tuhle proměnnou následně používám. A když ji pak třeba pošlu do nějaké funkce "mámVysunoutPodvozek", tak ta funkce ví, že prostě dostane číslo a že to nikdy nebude null. Protože proměnná, která může obsahovat null je jiného typu a překladač na tom zařve.

A když pak píšeš v takovém jazyku, tak to sice trvá malinko déle (ne zas tak moc), ale když už to konečně napíšeš a přeložíš, tak máš produkční kód, který má velmi dobře ošetřené krajní případy - a to tak, že hodně věcí není potřeba testovat, protože se nemůžou stát. A stav, kdy po několika hodinách psaní kódu to konečně přeložíš, spustíš - a ono to funguje, je poměrně běžná záležitost - a když to nefunguje, tak je to spíš výjimka.

A tohle třeba Java neumí.

Co to meles?

Verze "v téhle proměnné je číslo nebo null" se v jave zove "Integer/Float/Double".

Verze "v téhle proměnné je číslo" se v jave zove "int/float/double".

Na hlidani nullu je v Jave hromada anotaci:
http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use

A pokud budu z nejake priciny potrebovat standardni nullable objekt, aby nebyl nullable, postaci primitivni wrapper, napr pro string:

Kód: [Vybrat]
public class NonNullString {
private final String val;
public NonNullString(String val){
if(val==null) throw new RuntimeException("Null not allowed - go away.");
this.val = val;
}
@Override
public String toString() {
return val;
}
}


Pokud budu potrebovat delat s kolekcemi vyse uvedeneho wrapperu, pozenu to pres map/filter/reduce.


Tady je takovych java znalcu, az oci prechazeji.




zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #221 kdy: 24. 11. 2016, 00:41:23 »
Aneb opět jsme u monád a potažmo FP :)
Spíš u algebraických datových typů. IMO by tohle klidně do non-FP jazyků přijít časem mohlo...
Ono to už v mnohých částečně je, ale průměrný javacaveman to stejně nepochopí, takže to tam je na nic...

Youda

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #222 kdy: 24. 11. 2016, 00:56:20 »

Jsou jazyky, které umožňují říct "v téhle proměnné je číslo nebo null" a "v téhle proměnné je číslo". Takže například zavolám funkci "zjistiVýšku", pak zavolám funkci "otestujJestliNeníNull", která mi převede proměnnou z typu "může obsahovat null" na "vždycky obsahuje číslo" (a když obsahuje null, tak třeba vyvolá výjimku) a tuhle proměnnou následně používám. A když ji pak třeba pošlu do nějaké funkce "mámVysunoutPodvozek", tak ta funkce ví, že prostě dostane číslo a že to nikdy nebude null. Protože proměnná, která může obsahovat null je jiného typu a překladač na tom zařve.

A tohle třeba Java neumí.

Kód: [Vybrat]
Double vyskaOrFail = vyskomer.zjistiVysku();
if (vyskaOrFail == null) throw new SomeException("mas to rozbity");
double vyska = vyskaOrFail.doubleValue();
bool vysunoutPodvozek = letadlo.mamVysunoutPodvozek(vyska);


Jojo, takovouhle slozitost v jave nedas.

andy

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #223 kdy: 24. 11. 2016, 00:58:43 »
Co to meles?

Verze "v téhle proměnné je číslo nebo null" se v jave zove "Integer/Float/Double".

Verze "v téhle proměnné je číslo" se v jave zove "int/float/double".
A pro objekty?

Citace
Na hlidani nullu je v Jave hromada anotaci:
http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use
Jojo, to tam taky přidali poté, co zjistili, že to je fakt problém, a po mnoha letech NullPointerException. Ano, situace je s Java8 výrazně lepší. Teď jde jen o to nezapomenout tu anotaci....

Citace
A pokud budu z nejake priciny potrebovat standardni nullable objekt, aby nebyl nullable, postaci primitivni wrapper, napr pro string:
No já to ve svém kódu používám prakticky pořád....
Citace
Kód: [Vybrat]
public class NonNullString {
private final String val;
public NonNullString(String val){
if(val==null) throw new RuntimeException("Null not allowed - go away.");
this.val = val;
}
@Override
public String toString() {
return val;
}
}
Pokud budu potrebovat delat s kolekcemi vyse uvedeneho wrapperu, pozenu to pres map/filter/reduce.
Když ono tohle vypadá, jako snaha udělat to, o čem mluvím, v jazyce, který to nepodporuje. Ten výše uvedený wrapper vypadá v jazycích podporující algebraická datové typy... zhruba takhle:
Kód: [Vybrat]
Maybe String

andy

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #224 kdy: 24. 11. 2016, 01:09:04 »
Kód: [Vybrat]
Double vyskaOrFail = vyskomer.zjistiVysku();
if (vyskaOrFail == null) throw new SomeException("mas to rozbity");
double vyska = vyskaOrFail.doubleValue();
bool vysunoutPodvozek = letadlo.mamVysunoutPodvozek(vyska);
Jojo, takovouhle slozitost v jave nedas.
Ano, tohle je přesně to, co v těch jazycích podporující abstraktní datové typy uděláš s čímkoliv. Tohle v Javě je spíš pozůstatek toho, že v začátcích měli nápad tam ponechat ty primitivní datové typy a ty se náhodou chovají přesně takhle (po pravdě, kdo to takhle používá?). Jak to bude vypadat, když to bude vracet nějaký objekt? Asi nic moc... a co když to třeba budu chtít otypovat, aby se to nepletlo? Chtěl bych typ "výška" a typ "teplota", aby když to pak budu posílat do nějaké funkce, tak aby se mi to nepomíchalo...