Zaměstnavatelé a programovací jazyky

andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #60 kdy: 26. 02. 2018, 15:40:12 »
Citace
Robil som si zadek z originalneho postu, kde sa pytajuci stve, ze ho nepustia v .Net na seniora.  Ja ani neviem, co to haskell je. Ovladam leda tak zle lisp. Proste nikto nemoze byt senior v niecom, co nerobil :)  Prirovnania s formulou 1 a skodovkou su ale usmevne.
Mnoho nových změn jak v Javě, tak v C# je silně ovlivněno zkušenostmi z Haskellu (mimochodem, je to částečně produktem Microsoft Research). Je to zhruba na té úrovni, jako když ten servisman z F1 přijde do toho servisu škodovek a oni tam zrovna zaváděj nejnovější cool technologii (se kterou nikdo neumí), se kterou on na té F1 pracuje poslední 3 roky.

No lebo formula 1 nie je standardny pasovy produkt, ktory musi prejst roznymi bezpecnostnymi kriteriami, musi byt sposobile na cestnu premavku a v skutocnosti je to uplne iny druh vozu, a nie cestne auto.
Ahh... jasně... trochu mi to připomíná takové ty absurdity, kdy lidi, kteří jsou experti ve svém oboru vlastně nesmí učit ten obor někde na základce - a ten důvod není, že by byli neschopní učitelé, ale že nemají ten správný papír a neprošli si tou správnou školou....


balki

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #61 kdy: 26. 02. 2018, 16:41:33 »
Citace
Robil som si zadek z originalneho postu, kde sa pytajuci stve, ze ho nepustia v .Net na seniora.  Ja ani neviem, co to haskell je. Ovladam leda tak zle lisp. Proste nikto nemoze byt senior v niecom, co nerobil :)  Prirovnania s formulou 1 a skodovkou su ale usmevne.
Mnoho nových změn jak v Javě, tak v C# je silně ovlivněno zkušenostmi z Haskellu (mimochodem, je to částečně produktem Microsoft Research). Je to zhruba na té úrovni, jako když ten servisman z F1 přijde do toho servisu škodovek a oni tam zrovna zaváděj nejnovější cool technologii (se kterou nikdo neumí), se kterou on na té F1 pracuje poslední 3 roky.

No lebo formula 1 nie je standardny pasovy produkt, ktory musi prejst roznymi bezpecnostnymi kriteriami, musi byt sposobile na cestnu premavku a v skutocnosti je to uplne iny druh vozu, a nie cestne auto.
Ahh... jasně... trochu mi to připomíná takové ty absurdity, kdy lidi, kteří jsou experti ve svém oboru vlastně nesmí učit ten obor někde na základce - a ten důvod není, že by byli neschopní učitelé, ale že nemají ten správný papír a neprošli si tou správnou školou....

V zlych analogiach ste senior :)   V skutocnosti vyuka konstrukcie formuly 1 by na zakladnej skole bola asi nie moc prinosna. Leda tak specialny kruzok pre deti  s pokrocilou fyzikou, znalostami strojarstva a roznymi inymi obormi, co su na to potrebne. Ale co to ma spolocne s javou a haskellom, to neviem.

andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #62 kdy: 26. 02. 2018, 17:16:37 »
Citace
Robil som si zadek z originalneho postu, kde sa pytajuci stve, ze ho nepustia v .Net na seniora.  Ja ani neviem, co to haskell je. Ovladam leda tak zle lisp. Proste nikto nemoze byt senior v niecom, co nerobil :)  Prirovnania s formulou 1 a skodovkou su ale usmevne.
Mnoho nových změn jak v Javě, tak v C# je silně ovlivněno zkušenostmi z Haskellu (mimochodem, je to částečně produktem Microsoft Research). Je to zhruba na té úrovni, jako když ten servisman z F1 přijde do toho servisu škodovek a oni tam zrovna zaváděj nejnovější cool technologii (se kterou nikdo neumí), se kterou on na té F1 pracuje poslední 3 roky.

No lebo formula 1 nie je standardny pasovy produkt, ktory musi prejst roznymi bezpecnostnymi kriteriami, musi byt sposobile na cestnu premavku a v skutocnosti je to uplne iny druh vozu, a nie cestne auto.
Ahh... jasně... trochu mi to připomíná takové ty absurdity, kdy lidi, kteří jsou experti ve svém oboru vlastně nesmí učit ten obor někde na základce - a ten důvod není, že by byli neschopní učitelé, ale že nemají ten správný papír a neprošli si tou správnou školou....

V zlych analogiach ste senior :)   V skutocnosti vyuka konstrukcie formuly 1 by na zakladnej skole bola asi nie moc prinosna. Leda tak specialny kruzok pre deti  s pokrocilou fyzikou, znalostami strojarstva a roznymi inymi obormi, co su na to potrebne. Ale co to ma spolocne s javou a haskellom, to neviem.
Kde píšu něco o formuli 1 na základní škole...??? Jde o to, že se snažíte tvrdit, že člověk, který je odborně o několik levelů výše než to, co by měl dělat, podle vás vlastně není odborně navýši, protože nedělal zrovna to, co se po něm bude chtít. Člověk, který na té formuli 1 implementoval a navrhoval ty zařízení, která se pak následně dostala do těch normálních aut asi fakt nebude mít problém ty normální auta servisovat. Protože je odborně někde úplně jinde, byť tyhle konkrétní technologie třeba nikdy neviděl.

Stejně tak člověk, který má velké zkušenosti s Haskellem (pravda, to, že v tom X let programoval to nutně neimplikuje) asi nebude mít fakt problém s nějakou Javou nebo C#. V Javě se bavíme o tom, jestli ten člověk umí pracovat s knihovnou na parsování JSONu, XML, CSV. Haskellista si pravděpodobně nějakou takovou knihovnu za těch X let napsal několikrát.

Samozřejmě, lidi jsou různí, a rozhodně ta implikace není "každý haskellista je geniální", ale ta idea "aby člověk mohl být senior programátor v jazyce X, tak s tím musí mít hodně let praxe" je nesmysl.

balki

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #63 kdy: 26. 02. 2018, 17:34:38 »
Kde píšu něco o formuli 1 na základní škole...??? Jde o to, že se snažíte tvrdit, že člověk, který je odborně o několik levelů výše než to, co by měl dělat, podle vás vlastně není odborně navýši, protože nedělal zrovna to, co se po něm bude chtít. Člověk, který na té formuli 1 implementoval a navrhoval ty zařízení, která se pak následně dostala do těch normálních aut asi fakt nebude mít problém ty normální auta servisovat. Protože je odborně někde úplně jinde, byť tyhle konkrétní technologie třeba nikdy neviděl.

Stejně tak člověk, který má velké zkušenosti s Haskellem (pravda, to, že v tom X let programoval to nutně neimplikuje) asi nebude mít fakt problém s nějakou Javou nebo C#. V Javě se bavíme o tom, jestli ten člověk umí pracovat s knihovnou na parsování JSONu, XML, CSV. Haskellista si pravděpodobně nějakou takovou knihovnu za těch X let napsal několikrát.

Samozřejmě, lidi jsou různí, a rozhodně ta implikace není "každý haskellista je geniální", ale ta idea "aby člověk mohl být senior programátor v jazyce X, tak s tím musí mít hodně let praxe" je nesmysl.

Haskellista moze byt celkom slusnym juniorom v jave.  No pisat v nej efektivny a prehladny kod nebude.  Skratka su to ine jazyky.

abs

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #64 kdy: 26. 02. 2018, 17:42:18 »
Tohle by se líbilo Mirkovi ;D Stačí trochu matematiky a hned umíte všechno na světě. Umíš Haskell? Tak Javu dáš v pohodě, protože ji vlastně celou umíš. Nebo chceš dělat ředitele? Není problém, protože ta naučená abstrakce tě naučila všechno.


xul

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #65 kdy: 26. 02. 2018, 18:20:50 »
Tohle by se líbilo Mirkovi ;D Stačí trochu matematiky a hned umíte všechno na světě. Umíš Haskell? Tak Javu dáš v pohodě, protože ji vlastně celou umíš. Nebo chceš dělat ředitele? Není problém, protože ta naučená abstrakce tě naučila všechno.

Na tomhle pohorel sheldon, ani auto nenastartoval.

itsux

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #66 kdy: 26. 02. 2018, 18:21:50 »
Tohle by se líbilo Mirkovi ;D Stačí trochu matematiky a hned umíte všechno na světě. Umíš Haskell? Tak Javu dáš v pohodě, protože ji vlastně celou umíš. Nebo chceš dělat ředitele? Není problém, protože ta naučená abstrakce tě naučila všechno.
Haskell neimplikuje matiku, ani naopak. Abstraktní myšlení je univerzální skill nejen pro technické obory, stejně tak ho využije filosof nebo třeba kognitivní psycholog.

v

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #67 kdy: 26. 02. 2018, 18:58:56 »
No pisat v nej efektivny a prehladny kod nebude.
jestli to nebude víc javou než haskellistou :)

balki

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #68 kdy: 26. 02. 2018, 19:27:44 »
No pisat v nej efektivny a prehladny kod nebude.
jestli to nebude víc javou než haskellistou :)

Bude to viac javou, lebo java nie je haskell. To da rozum.

itsux

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #69 kdy: 26. 02. 2018, 22:09:50 »
No pisat v nej efektivny a prehladny kod nebude.
jestli to nebude víc javou než haskellistou :)
Bude to viac javou, lebo java nie je haskell. To da rozum.
Efektivní kód v Javě? V jakém paralelním vesmíru?

andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #70 kdy: 26. 02. 2018, 23:05:37 »
Haskellista moze byt celkom slusnym juniorom v jave.  No pisat v nej efektivny a prehladny kod nebude.  Skratka su to ine jazyky.
Ty umíš Haskell? Jenom bych rád věděl, proč si tím jsi tak jist?

Jano7

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #71 kdy: 26. 02. 2018, 23:29:03 »
Citace
Tak jasně, musí znát tři řitě frameworků, aby napsal hello world. Proto je možná lepší používat jazyky, ve kterých se člověk bez frameworků obejde (a teď nemyslím jen Haskell).

Jinak to s tou matikou ve FP jsem myslel (napůl) ironicky, ta je podmínkou postačující, ovšem nikoliv nutnou.

P.S. O Haskellu se nemá smysl moc bavit, jak psal "balík", je to okrajová záležitost pro fajnšmekry a joby pro "juniory" prakticky nejsou (a "seniorů" je jak šafránu).

Ono sa to možno nezdá, ale frameworky uľahčujú tvorbu aplikácií. Človek by ozaj nechcel sám naprogramovať ORM vrstvu, security vrstvu, či vlastné testovacie knižnice. Tie frameworky sú potrebné preto, lebo tie aplikácie sú veľmi zložité. Bez nich by sa to nedalo.

Pre zaujímavosť Hello World vo Spring Boot a Groovy (prototyping pre Javu):

Kód: [Vybrat]
class MyApp {

    @RequestMapping("/")
    String home() {
        "This is Spring Boot application"
    }
}

Kód: [Vybrat]
$ spring run hello.groovy

Kód: [Vybrat]
$ curl localhost:8080
This is Spring Boot application

Citace
Tak chápu, že asi ne "příští týden", na druhou stranu nerozumím tomu, proč by ten člověk nemohl být přijat primárně na seniorní pozici s tím, že s od něj očekává, že se v přiměřeně krátké době zorientuje.

Vynikajúci C++ programátor hier, Haskell výpočtový programátor, ani skvelý C programátor jadra Linuxu nemôžu byť prijatí na seniórnu pozíciu Java aplikačného programátora. Platí to naopak medzi všetkými oblasťami. Tie nároky sú príliš veľké. Skúsený PHP programátor by na tom bol nepomerne lepšie, ale aj jeho by čakalo kopec driny.

Citace
Stejně tak člověk, který má velké zkušenosti s Haskellem (pravda, to, že v tom X let programoval to nutně neimplikuje) asi nebude mít fakt problém s nějakou Javou nebo C#. V Javě se bavíme o tom, jestli ten člověk umí pracovat s knihovnou na parsování JSONu, XML, CSV. Haskellista si pravděpodobně nějakou takovou knihovnu za těch X let napsal několikrát.

S jazykom C# alebo Java nie, ale s programovaním moderných, komplexných aplikácií v Jave áno. JSON, XML, CSV sú len kvapkou z toho rozsiahleho mora znalostí, ktoré aplikačný Java developer musí mať. Napriek tomu, že práca trebárs s XML nie je primárne nejako ťažká, potrebuje tam programátor dosť veľa znalostí. Ono totiž v Jave máme JAXP a JAXB API na prácu s XML, JAXP sa delí potom na ďalšie sekcie API: SAX, StaX, JDOM. Každú z API treba použiť v inej situácii.
Ďalej je tam API na validáciu XML dokumentov, ich transformáciu (XLST), a vyhľadávanie XPath. Niečo obdobné je aj pre JSON. Ďalej treba tieto vedomosti uplatniť pri frameworkoch na tvorbu Restových alebo SOAP web aplikácií.
A to prosím hovoríme o jednom malom zrnku. PHPčkár sa bude chytať, ostatní zrejme nie.

Aplikační programátori rozhodne nemajú tiež čas vyvývať svoje vlastné XML parsery. To, čo potrebujú vedieť je dosť na jeden život človeka.


Labrat

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #72 kdy: 26. 02. 2018, 23:38:57 »
Citace
Tak jasně, musí znát tři řitě frameworků, aby napsal hello world. Proto je možná lepší používat jazyky, ve kterých se člověk bez frameworků obejde (a teď nemyslím jen Haskell).

Jinak to s tou matikou ve FP jsem myslel (napůl) ironicky, ta je podmínkou postačující, ovšem nikoliv nutnou.

P.S. O Haskellu se nemá smysl moc bavit, jak psal "balík", je to okrajová záležitost pro fajnšmekry a joby pro "juniory" prakticky nejsou (a "seniorů" je jak šafránu).

Ono sa to možno nezdá, ale frameworky uľahčujú tvorbu aplikácií. Človek by ozaj nechcel sám naprogramovať ORM vrstvu, security vrstvu, či vlastné testovacie knižnice. Tie frameworky sú potrebné preto, lebo tie aplikácie sú veľmi zložité. Bez nich by sa to nedalo.

Pre zaujímavosť Hello World vo Spring Boot a Groovy (prototyping pre Javu):

Kód: [Vybrat]
class MyApp {

    @RequestMapping("/")
    String home() {
        "This is Spring Boot application"
    }
}

Kód: [Vybrat]
$ spring run hello.groovy

Kód: [Vybrat]
$ curl localhost:8080
This is Spring Boot application

Citace
Tak chápu, že asi ne "příští týden", na druhou stranu nerozumím tomu, proč by ten člověk nemohl být přijat primárně na seniorní pozici s tím, že s od něj očekává, že se v přiměřeně krátké době zorientuje.

Vynikajúci C++ programátor hier, Haskell výpočtový programátor, ani skvelý C programátor jadra Linuxu nemôžu byť prijatí na seniórnu pozíciu Java aplikačného programátora. Platí to naopak medzi všetkými oblasťami. Tie nároky sú príliš veľké. Skúsený PHP programátor by na tom bol nepomerne lepšie, ale aj jeho by čakalo kopec driny.

Citace
Stejně tak člověk, který má velké zkušenosti s Haskellem (pravda, to, že v tom X let programoval to nutně neimplikuje) asi nebude mít fakt problém s nějakou Javou nebo C#. V Javě se bavíme o tom, jestli ten člověk umí pracovat s knihovnou na parsování JSONu, XML, CSV. Haskellista si pravděpodobně nějakou takovou knihovnu za těch X let napsal několikrát.

S jazykom C# alebo Java nie, ale s programovaním moderných, komplexných aplikácií v Jave áno. JSON, XML, CSV sú len kvapkou z toho rozsiahleho mora znalostí, ktoré aplikačný Java developer musí mať. Napriek tomu, že práca trebárs s XML nie je primárne nejako ťažká, potrebuje tam programátor dosť veľa znalostí. Ono totiž v Jave máme JAXP a JAXB API na prácu s XML, JAXP sa delí potom na ďalšie sekcie API: SAX, StaX, JDOM. Každú z API treba použiť v inej situácii.
Ďalej je tam API na validáciu XML dokumentov, ich transformáciu (XLST), a vyhľadávanie XPath. Niečo obdobné je aj pre JSON. Ďalej treba tieto vedomosti uplatniť pri frameworkoch na tvorbu Restových alebo SOAP web aplikácií.
A to prosím hovoríme o jednom malom zrnku. PHPčkár sa bude chytať, ostatní zrejme nie.

Aplikační programátori rozhodne nemajú tiež čas vyvývať svoje vlastné XML parsery. To, čo potrebujú vedieť je dosť na jeden život človeka.
V Javě ano, ale mnohem lepší je přístup à la Go, kde vše potřebné má standardní knihovna.

andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #73 kdy: 27. 02. 2018, 01:45:18 »
Citace
Tak jasně, musí znát tři řitě frameworků, aby napsal hello world. Proto je možná lepší používat jazyky, ve kterých se člověk bez frameworků obejde (a teď nemyslím jen Haskell).
Ono sa to možno nezdá, ale frameworky uľahčujú tvorbu aplikácií. Človek by ozaj nechcel sám naprogramovať ORM vrstvu, security vrstvu, či vlastné testovacie knižnice. Tie frameworky sú potrebné preto, lebo tie aplikácie sú veľmi zložité. Bez nich by sa to nedalo.
Myslím, že autor tím myslel to, že je trošku rozdíl mezi "frameworkem" a "knihovnou" s tím, že je preferována "knihovna" před "frameworkem". Tohle je samozřejmě na filosofickou debatu, ale třeba konkrétně proti tvému příkladu anotace @RequestMapping tak nějak spadla z nebe, není to pořádně součást kódu, je tam nějak "navíc". Tohle je příklad tohotéž s použitím knihovny (která je teda hodně advanced).
Kód: [Vybrat]
type ServerApi = Get '[PlainText] Text
home = return "This is servant application!"
app = serve (Proxy @ServerApi) home
main = run 8081 app
(tohle je jenom demonstrace toho, že i bez frameworku, jenom s knihovnou, lze dosáhnout identického výsledku, nic víc tím říct nechci)

Citace
Vynikajúci C++ programátor hier, Haskell výpočtový programátor, ani skvelý C programátor jadra Linuxu nemôžu byť prijatí na seniórnu pozíciu Java aplikačného programátora. Platí to naopak medzi všetkými oblasťami. Tie nároky sú príliš veľké. Skúsený PHP programátor by na tom bol nepomerne lepšie, ale aj jeho by čakalo kopec driny.
Tak až do PHP by se to dalo brát vážně, ale tím jsi to fakt zabil....

Pleteš si znalosti (webových) technologií se znalostí jazyka a jeho ekosystému. Haskell má velmi dobrou podporu pro webové technologie, tak fakt netuším, proč by na tom PHPčkář měl být líp.

Citace
S jazykom C# alebo Java nie, ale s programovaním moderných, komplexných aplikácií v Jave áno. JSON, XML, CSV sú len kvapkou z toho rozsiahleho mora znalostí, ktoré aplikačný Java developer musí mať. Napriek tomu, že práca trebárs s XML nie je primárne nejako ťažká, potrebuje tam programátor dosť veľa znalostí. Ono totiž v Jave máme JAXP a JAXB API na prácu s XML, JAXP sa delí potom na ďalšie sekcie API: SAX, StaX, JDOM. Každú z API treba použiť v inej situácii.
Nedávno jsem dělal v haskellu několik větších projektů, přičemž každý používá asi tak 50 různých knihoven z dost velkého rozsahu (parsing, security, různé web protokoly atd.). To, na co se ty tváříš, že je potřeba mít strašně velké znalosti, je asi tak na té úrovni "přečtu si API a použiju to".

Citace
Aplikační programátori rozhodne nemajú tiež čas vyvývať svoje vlastné XML parsery. To, čo potrebujú vedieť je dosť na jeden život človeka.
No vždyť jo, to je přesně ten úplně jiný level. V haskellu schopnost napsat si funkční parser patří mezi naprosté základy (jedna z příruček pro začátečníky má téma "napiště si interpret Scheme za 48 hodin"). Schopnost použít nějakou knihovnu se tak nějak považuje za samozřejmost... zatímco v oblasti Javy se za senioritu považuje schopnost ty knihovny použít.  Napsat si parser, to prostě jen v nejvyšší nouzi a moc lidí to elegantně nezvládne... (což je z velké části chyba Javy, ne nutně těch lidí).

Ale, abych to zopakoval, tohle není o Haskellu - jde o to, že to, že znám API nějakých 20 knihoven ze mě přece nedělá seniora a z druhé strany, to, že to API neznám neznamená, že se to za měsíc nemůžu naučit.

balki

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #74 kdy: 27. 02. 2018, 07:30:32 »
Ano andy, v jave nepiseme parsery, lebo to nevieme a je to chyba javy. Idem vratit plat, parser na nestandardnu vec co som prave napisal sa napisat neda.

Lol, lol, lol.