Zaměstnavatelé a programovací jazyky

sw

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #120 kdy: 27. 02. 2018, 22:28:08 »
Citace
To je super, ze chvalite ezotericky jazyk, ktory uz je na ustupe (scala). Lebo aj tak sa vyvyja uplne inak. Vacsinou v browseri react a na serveri microservices pomocou spring boot.   Spring boot ide do kopy aj s kotlinom, takze si aj startupisti na 2 roky uziju, nez kotlin zakape, a nahradi ho dalsie frikulinstvo.

Neviem, či je Scala na ústupe. Občas vidím pracovné ponuky na Scalu s veľmi zaujímavým ohodnotením.

Čo sa týka Kotlinu, odporúčam si ho naštudovať. To nie je nový jazyk, ale v podstate evolúcia Javy.
Kotlin má obrovské množstvo drobných aj väčších zlepšení, ktoré v konečnom dôsledku neskutočne zlepšia
prácu programátora Javy. Je to vo svojej podstate Java; stále tam máš tie svoje známe triedy, trebárs
StringBuilder, či FileInputStream, akurát je tam kopec zlepšení. Je to perfektne premyslené, vidno, že nad
návrhom jazyka dlho premýšlali. Spomeniem námatkovo zabudované funkcionálne metódy do polí,
typová inferencia pri definovaní premenných (chystá sa to aj v JDK 10), šikovné metódy pre stringy
(napr padding), možnosť definovania funkciií mimo tried (!!!!!!), funkcia sa definuje pomocou slova fun a
nie function ako v JavaScripte, multi-line stringy (Java pain in the ass), možnosť rýchlej tvorby kolekcií
(Java pain in the ass), na výpis na konzolu nepotrebuješ System.out.println, ale println a hromada ďalších.
Čím viac ho študujem, tým viach nachádzam skvelých vecí...

Ja vidím budúcnosť Kotlinu dobre, podpora od JetBrains, Googlu, Pivotal (tvorca Springu). Veľmi rýchlo získal
popularitu na Androide, dnes vraj 20% nových projektov sa tvorí v Kotline. Možnosť tvorby DSL v Kotline
je geniálna, a ak by Kotlin nahradil JavaScript na frontende, tak to máme večné lovištia na zemi...

Njn, tak Dart, TypeScript, node.js, a nevim jaké ještě přístupy, aby se nemuselo psát v netypovaném blbém jazyku (rozumněj JS), neuspěly (resp. uspěly, někde, bohužel), a teď by to měl být Kotlin? Ano, možná ano, protože hlavně umožní nepsat ty netypované sr.nce v JS a navíc vygenerovat i java bytecode, ale nevím jestli se chci vzdát psaní čisté javy, jen proto, že existuje JS ... fakt ho nemám rád :D


Labrat

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #121 kdy: 27. 02. 2018, 22:29:38 »
Citace
Nextstep byl pravděpodobně prvním GUI prostředím s naprosto obecnými layouty, které šly navíc naklikat bez napsání řádky kódu. Java se ostatně v oblasti (nejen) GUI inspirovala právě Nextstepem díky tomu, že Sun koupil společnost vyvíjející pro Nextstep (tuším že se jmenovala nějak jako Lighthouse), jejíž vývojáři přenesli na tehdejší dobu velmi moderní myšlenky a postupy právě do (základní knihovny) Javy.
Nekúpil NextStep Steve Jobs?
Jobs ho prodal Applu.

andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #122 kdy: 27. 02. 2018, 22:43:43 »
Citace
To je super, ze chvalite ezotericky jazyk, ktory uz je na ustupe (scala). Lebo aj tak sa vyvyja uplne inak. Vacsinou v browseri react a na serveri microservices pomocou spring boot.   Spring boot ide do kopy aj s kotlinom, takze si aj startupisti na 2 roky uziju, nez kotlin zakape, a nahradi ho dalsie frikulinstvo.
Čo sa týka Kotlinu, odporúčam si ho naštudovať.
Monády to má?
Ne, i když přes ty generika to "nějak" jde naimplementovat (je to trošku lepší než přímo v javě, ale ne o moc). Nicméně chystají se implementovat typeclassy, což bych řekl, že velmi výrazně zvýší použitelnost. Kybychom se časem dočkali i nějakého operátoru pro "bind" a "return", tak by to bylo fakt fajn.

Labrat

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #123 kdy: 27. 02. 2018, 22:47:28 »
Citace
To je super, ze chvalite ezotericky jazyk, ktory uz je na ustupe (scala). Lebo aj tak sa vyvyja uplne inak. Vacsinou v browseri react a na serveri microservices pomocou spring boot.   Spring boot ide do kopy aj s kotlinom, takze si aj startupisti na 2 roky uziju, nez kotlin zakape, a nahradi ho dalsie frikulinstvo.
Čo sa týka Kotlinu, odporúčam si ho naštudovať.
Monády to má?
Ne, i když přes ty generika to "nějak" jde naimplementovat (je to trošku lepší než přímo v javě, ale ne o moc). Nicméně chystají se implementovat typeclassy, což bych řekl, že velmi výrazně zvýší použitelnost. Kybychom se časem dočkali i nějakého operátoru pro "bind" a "return", tak by to bylo fakt fajn.
Typeclassy jen pro restrikci funktorů nebo plnohodnotné HKT?

Jano7

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #124 kdy: 27. 02. 2018, 22:54:14 »
Citace
Celá tahle diskuze začal tím, že OP se divil, že nemůže být brán jako C# senior programátor, když má velké zkušenosti z Javy. Na což tady někdo odpověděl, že by mohl klidně být senior programátorem v haskellu - přičemž na to jsem reagoval, že tímto směrem ne, ale opačně klidně. Dále jsme se dostali k tomu, že na to, aby někdo mohl být považován za seniora potřebuje poměrně hodně zkušeností, z nichž jen malá část je vázána na konkrétní jazyk a řešený problém.

Tá narážka na Haskell mala byť irónia, ktorú som tiež takto nepochopil. Ale OP spravil chybu podľa mňa, že očakával hneď seniórnu pozíciu, resp. plat. Mal ukázať, že sa vie na začiatok uskromniť a po roku že dokáže byť prínosom ako senior. Takže človek by mal na začiatok nastúpiť s menšími očakávaniami a dokázať po čase, že na to má byť seniórnym programátorom. A podľa môjho názoru to môže trvať dosť dlho, kým sa adaptuje. Najkratšia cesta je asi medzi C#/NET a Java/Spring. Avšak predsa je tam veľa väčších i menších rozdielov, múch, špecifík, ktoré treba zvládnuť.

Citace
Já tě vůbec nechápu. Dal jsi otázku týkající se 2 knoflíků dole. Odpověděl jsem, že bych použil BorderLayout, knoflíky dát do toho PAGE_END. Zadání splněno.
To hraní s GroupLayoutem je normální řešní problému. Děláš z toho strašnou vědu. Taky znám spoustu temných zákoutí všeho možného SW, ale to prostě není podstatou toho být senior programátor. To je naopak být schopen rychle najít efektivní řešení a když na takovéhle problémy narazíš, tak je prostě vyřešit.

Príklad z BorderLayout bude fungovať, ale nebude 100% korektný. UI sa rozbije sa pri rôznych rozlíšeniach. BorderLayout totiž nastavuje medzery medzi kompentami v pixeloch, čo je neportabilné. Tá veda okolo toho nie je samoúčelná, to realita je komplexná. A práve tu su tie finesy, ktoré prídu až rokmi skúseností.

Alebo načítanie textu v Jave, nájdeme si triedu, FileReader, super, akurát že táto trieda má menší nedostatok, že natvrdo berie typ kódovania z JVM, čo je chyba. Preto túto triedu netreba používať, ale ísť inou cestou. Pokiaľ všetky tieto úskalia nemá Haskell/C# programátor vychytané, ako môže byť seniorom v Java projekte a viesť mladších programátorov, opravovať ich, hovoriť im, ako to korektne a správne majú naprogramovať?

Uzavieranie databázových connections v Jave je taká Švejkova Budějovická anabaze. Všetky tutoriály na čele s tými v Oracle, Microsoft a MySQL, plus Stackoverflow odpoveďami to ukazujú zle, resp veľmi zle. Jak sa z toho nejavista má vysomáriť?


andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #125 kdy: 27. 02. 2018, 22:54:20 »
Citace
To je super, ze chvalite ezotericky jazyk, ktory uz je na ustupe (scala). Lebo aj tak sa vyvyja uplne inak. Vacsinou v browseri react a na serveri microservices pomocou spring boot.   Spring boot ide do kopy aj s kotlinom, takze si aj startupisti na 2 roky uziju, nez kotlin zakape, a nahradi ho dalsie frikulinstvo.
Čo sa týka Kotlinu, odporúčam si ho naštudovať.
Monády to má?
Ne, i když přes ty generika to "nějak" jde naimplementovat (je to trošku lepší než přímo v javě, ale ne o moc). Nicméně chystají se implementovat typeclassy, což bych řekl, že velmi výrazně zvýší použitelnost. Kybychom se časem dočkali i nějakého operátoru pro "bind" a "return", tak by to bylo fakt fajn.
Typeclassy jen pro restrikci funktorů nebo plnohodnotné HKT?
Vypadá, to že HKT. https://github.com/Kotlin/KEEP/pull/87 Aspoň z té diskuze to tak vypadá.

Labrat

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #126 kdy: 27. 02. 2018, 23:02:57 »
Citace
To je super, ze chvalite ezotericky jazyk, ktory uz je na ustupe (scala). Lebo aj tak sa vyvyja uplne inak. Vacsinou v browseri react a na serveri microservices pomocou spring boot.   Spring boot ide do kopy aj s kotlinom, takze si aj startupisti na 2 roky uziju, nez kotlin zakape, a nahradi ho dalsie frikulinstvo.
Čo sa týka Kotlinu, odporúčam si ho naštudovať.
Monády to má?
Ne, i když přes ty generika to "nějak" jde naimplementovat (je to trošku lepší než přímo v javě, ale ne o moc). Nicméně chystají se implementovat typeclassy, což bych řekl, že velmi výrazně zvýší použitelnost. Kybychom se časem dočkali i nějakého operátoru pro "bind" a "return", tak by to bylo fakt fajn.
Typeclassy jen pro restrikci funktorů nebo plnohodnotné HKT?
Vypadá, to že HKT. https://github.com/Kotlin/KEEP/pull/87 Aspoň z té diskuze to tak vypadá.
To vypadá slibně. Skoro jako ve Swiftu.

andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #127 kdy: 27. 02. 2018, 23:11:23 »
Tá narážka na Haskell mala byť irónia, ktorú som tiež takto nepochopil. Ale OP spravil chybu podľa mňa, že očakával hneď seniórnu pozíciu, resp. plat. Mal ukázať, že sa vie na začiatok uskromniť a po roku že dokáže byť prínosom ako senior. Takže človek by mal na začiatok nastúpiť s menšími očakávaniami a dokázať po čase, že na to má byť seniórnym programátorom.
S tím celkem souhlasím - něco ve stylu "vzhledem ke zkušenostem na to mám, tuhle technologii neznám, ale rychle se ji naučím, za 2 měsíce uvidíme" by mi taky přišlo docela normální.

Citace
Príklad z BorderLayout bude fungovať, ale nebude 100% korektný. UI sa rozbije sa pri rôznych rozlíšeniach. BorderLayout totiž nastavuje medzery medzi kompentami v pixeloch, čo je neportabilné. Tá veda okolo toho nie je samoúčelná, to realita je komplexná. A práve tu su tie finesy, ktoré prídu až rokmi skúseností.

Alebo načítanie textu v Jave, nájdeme si triedu, FileReader, super, akurát že táto trieda má menší nedostatok, že natvrdo berie typ kódovania z JVM, čo je chyba.
S tímhle přístupem ale žádného senior programátora neseženeš, protože každý projekt používá specifické komponenty, které mají podobné záludnosti. Takže tohle je spíš otázka, kde říct "tohle se dá snadno naučit". Konec konců, pokud někdo v různých jazycích četl ze souboru, tak otázka "v jakém kódování se to načte" by ho třeba i mohla napadnout. A pokud je to serverová část, tak se samozřejmě dá požadavek, že JVM poběží s nastaveným default kódováním na UTF-8. A pokud dělal v nějaké moderní aplikaci nějaké UI, tak otázka "jak se specifikují pixel-independent velikosti" je taky poměrně normální.


Citace
Preto túto triedu netreba používať, ale ísť inou cestou. Pokiaľ všetky tieto úskalia nemá Haskell/C# programátor vychytané, ako môže byť seniorom v Java projekte a viesť mladších programátorov, opravovať ich, hovoriť im, ako to korektne a správne majú naprogramovať?
Jednoduše. Koupí si nějakou knížku ve stylu "advanced java programming", "spring" apod., za 14 dní se přes těch 1200 stránek prožvejká a může začít. Pokud je senior v daném oboru, jen používá jiný jazyk/knihovny, tak to pro něj bude jednoduché čtení, kde je akorát si potřeba všímat nějakých specifik. A ti junioři toho neumí mnohem víc, než zrovna jazyk a framework.

balki

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #128 kdy: 28. 02. 2018, 10:49:47 »
Citace
Preto túto triedu netreba používať, ale ísť inou cestou. Pokiaľ všetky tieto úskalia nemá Haskell/C# programátor vychytané, ako môže byť seniorom v Java projekte a viesť mladších programátorov, opravovať ich, hovoriť im, ako to korektne a správne majú naprogramovať?
Jednoduše. Koupí si nějakou knížku ve stylu "advanced java programming", "spring" apod., za 14 dní se přes těch 1200 stránek prožvejká a může začít. Pokud je senior v daném oboru, jen používá jiný jazyk/knihovny, tak to pro něj bude jednoduché čtení, kde je akorát si potřeba všímat nějakých specifik. A ti junioři toho neumí mnohem víc, než zrovna jazyk a framework.

Kupim si haskell za 7 dni.  V googli uz si chystaju benefity, ako ma budu hyckat. Ovladam scheme, tak to bude dost easy.
(Pre lepsie chapavych, je to zasa ironia)

Jano7

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #129 kdy: 28. 02. 2018, 12:24:13 »
Citace
Jednoduše. Koupí si nějakou knížku ve stylu "advanced java programming", "spring" apod., za 14 dní se přes těch 1200 stránek prožvejká a může začít. Pokud je senior v daném oboru, jen používá jiný jazyk/knihovny, tak to pro něj bude jednoduché čtení, kde je akorát si potřeba všímat nějakých specifik. A ti junioři toho neumí mnohem víc, než zrovna jazyk a framework.

Zhrnul by som potrebnú literatúru. Prvú knihu, ktorú by som odporučil a ktorá sa medzičasom stala klasikou je Effective Java 400 strán. Obsahuje presne takého tipy pre správne programovanie. Základné API, Java: The Complete Reference, 1300 strán. Pre dobrý úvod do Springu máme dve Biblie, referenčnú príručku a tutoriál, Pro Spring 5 a Spring 5 recipes, obe po 800 strán. Hibernate tips 250 strán. Java EE tutoriál pre základné pojmy a prehľad tvorby enterprise aplikácií v Jave, 1200 strán.

Spolu to máme 400 + 1300 + 800 + 800 + 250 + 1200 = 4750

K tomu online tutoriály Spring Guides, RestEasy alebo Jersey tutoriál pre REST, Maven alebo Gradle guide. V neposlednom rade by sa bolo potrebné pozhovárať s viacerými skúsenými Javistami, pretože veľa vecí existuje len v hlavách skúsených programátorov, ako kolektívne vedomie a nedá sa to dohľadať.

andy

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #130 kdy: 28. 02. 2018, 14:15:00 »
Zhrnul by som potrebnú literatúru. Prvú knihu, ktorú by som odporučil a ktorá sa medzičasom stala klasikou je Effective Java 400 strán. Obsahuje presne takého tipy pre správne programovanie. Základné API, Java: The Complete Reference, 1300 strán. Pre dobrý úvod do Springu máme dve Biblie, referenčnú príručku a tutoriál, Pro Spring 5 a Spring 5 recipes, obe po 800 strán. Hibernate tips 250 strán. Java EE tutoriál pre základné pojmy a prehľad tvorby enterprise aplikácií v Jave, 1200 strán.

Spolu to máme 400 + 1300 + 800 + 800 + 250 + 1200 = 4750

K tomu online tutoriály Spring Guides, RestEasy alebo Jersey tutoriál pre REST, Maven alebo Gradle guide. V neposlednom rade by sa bolo potrebné pozhovárať s viacerými skúsenými Javistami, pretože veľa vecí existuje len v hlavách skúsených programátorov, ako kolektívne vedomie a nedá sa to dohľadať.
Dobře, tak 3 týdny. Uvědom si, že celá Java jsou známé koncepty jenom v jiné syntaxi, takže effective java je prostě easy. Z referenčních příruček je primárně potřeba si přečíst věci relevantní k tomu, co budu dělat, a to dost orientačně. Hibernate je prostě "další ORM v řadě".

Pro balkiho: přechod Haskell -> Java je v tom stylu, že dáš houslistovi violu. Samozřejmě se vždycky najde spousta lidí, který začnou vykládat, jak potřebuješ roky praxe, znalost repertoáru (knihoven...), tu správnou violovu techniku a tón.. Ve skutečnosti se na to dobrý houslista za měsíc naučí. Přechod Java -> Haskell je jako když klarinetistovi řekneš, aby zahrál na housle. Možná za 5 let. (haskell je v tomhle jednodušší....)

Labrat

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #131 kdy: 28. 02. 2018, 14:18:09 »
Citace
Jednoduše. Koupí si nějakou knížku ve stylu "advanced java programming", "spring" apod., za 14 dní se přes těch 1200 stránek prožvejká a může začít. Pokud je senior v daném oboru, jen používá jiný jazyk/knihovny, tak to pro něj bude jednoduché čtení, kde je akorát si potřeba všímat nějakých specifik. A ti junioři toho neumí mnohem víc, než zrovna jazyk a framework.

Zhrnul by som potrebnú literatúru. Prvú knihu, ktorú by som odporučil a ktorá sa medzičasom stala klasikou je Effective Java 400 strán. Obsahuje presne takého tipy pre správne programovanie. Základné API, Java: The Complete Reference, 1300 strán. Pre dobrý úvod do Springu máme dve Biblie, referenčnú príručku a tutoriál, Pro Spring 5 a Spring 5 recipes, obe po 800 strán. Hibernate tips 250 strán. Java EE tutoriál pre základné pojmy a prehľad tvorby enterprise aplikácií v Jave, 1200 strán.

Spolu to máme 400 + 1300 + 800 + 800 + 250 + 1200 = 4750

K tomu online tutoriály Spring Guides, RestEasy alebo Jersey tutoriál pre REST, Maven alebo Gradle guide. V neposlednom rade by sa bolo potrebné pozhovárať s viacerými skúsenými Javistami, pretože veľa vecí existuje len v hlavách skúsených programátorov, ako kolektívne vedomie a nedá sa to dohľadať.
Čím víc přehánění, tím víc cool?

Jano7

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #132 kdy: 28. 02. 2018, 15:00:11 »
Citace
Čím víc přehánění, tím víc cool?

Nie, to vôbec nie je preháňanie. Náročnosť Javy a v podstate každého veľkého enterprise projektu tkvie v rozsiahlosti znalostí potrebných pre dokončenie projektu. Javista (obvykle, niektoré projekty sú určite tiež také) nerieši nejaké zložité logické problémy, či brutálne algoritmy - musí vedieť veľmi veľa. Pretože tá realita je náročná a komplexná. A to som nespomenul frontend (o ktorom musí mať senior minimálne prehľad, aby vedel zhodnotiť či použiť React, Vue, či Angular, alebo niečo iné), bezpečnosť, otázky continuous delivery, či messagingu a ďalších.

Čo si myslíte, koľko znalostí musí mať stavebný inžinier alebo advokát/prokurátor? Keď mi ukazovali technicky tie hrubé knihy, ktorými sa museli prelúskať, tak ma chytila závrať. Taký advokát musí prejsť desiatkami tisíc strán zložitých právnych dokumentov, analýz, paragrafov...

Prelúskať tých necelých 5000 strán pre pokročilejšieho kódera z iného jazyka, stacku nie je oproti tomu podľa mňa až tak veľa.

Labrat

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #133 kdy: 28. 02. 2018, 15:07:19 »
Citace
Čím víc přehánění, tím víc cool?
Prelúskať tých necelých 5000 strán pre pokročilejšieho kódera z iného jazyka, stacku nie je oproti tomu podľa mňa až tak veľa.
No právě, dá se to poměrně rychle, pokud už člověk má přehled v oboru a zkušenosti z něčeho podobného. Nakonec se tu všichni shodneme :) (kromě "balíka", to je ztracený případ pro Chocholouška)

balki

Re:Zaměstnavatelé a programovací jazyky
« Odpověď #134 kdy: 28. 02. 2018, 15:26:53 »
Citace
Čím víc přehánění, tím víc cool?
Prelúskať tých necelých 5000 strán pre pokročilejšieho kódera z iného jazyka, stacku nie je oproti tomu podľa mňa až tak veľa.
No právě, dá se to poměrně rychle, pokud už člověk má přehled v oboru a zkušenosti z něčeho podobného. Nakonec se tu všichni shodneme :) (kromě "balíka", to je ztracený případ pro Chocholouška)

To je tak, na roote "bla bla", ale realita je uplne ina. Povedzme, ze by taky clovek nejakym zazrakom presiel cez pohovor na Java seniora.(Co by nepresiel)  Dostal by do ruky projekt "Na pracuj" + nejakych juniorov, ktorych by mal pod palcom a len by tapal.