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

Stran: 1 ... 87 88 [89] 90 91 ... 153
1321
Studium a uplatnění / Re:FIT VUTBR alebo FI MUNI?
« kdy: 08. 01. 2021, 11:44:22 »
Ďakujem, v tom prípade sa asi viac prikloním k štúdiu na MUNI... Aké sú dobré/žiadané dodatočné polia k Informatike? Resp. spomenuli ste tu spojenie IT a práva.
Práva určitě, tato oblast se intenzivně digitalizuje (přinejmenším na Západě, k nám to ale taky dorazí). Další perspektivní je stará dobrá statistika (“data science”).

1322
Studium a uplatnění / Re:FIT VUTBR alebo FI MUNI?
« kdy: 07. 01. 2021, 21:13:24 »
Teória je ťažšia. Totiž aby si veciam skutočne rozumel, musiš premýšlať omnoho viac ako keby si mal riešiť konkrétny technický problém. Lenže, keď sa skill premýšlať dostane pod kožu, je tá najcennejšia vec a nové technológie zvládneš za veľmi krátky čas.
Tak, a úplně nejlepší je trochu širší záběr, nejen úzce IT. Třeba statistika je veskrze praktická a ne úplně triviální. Nebo fyzika, i když u té se uplatnění hledá hůře.

1323
Vývoj / Re:Trait a konstruktor
« kdy: 24. 12. 2020, 04:51:31 »
No samozřejmě. Problém je v tom, že se na to díváš z druhé strany. Já chci do objektu přidat chování a atributy, ale nechci, aby se mi tím změnil typ například. Tedy chci aby zůstalo "mít", ale nezměnilo se "být".

Usecase, které pro traity mám (a které se samozřejmě může lišit jazyk od jazyka):

Mám nějaký objekt. Chci, aby tento objekt měl určité vlastnosti. Buď tam ty vlastnosti dopíšu, nebo je "přidám" pomocí traitu (protože stejné chování jsem dělal jinde). Přičemž vlastnostmi je jak chování (vlastní nějaké metody), tak i data (vlastní nějaké atributy), tak i kategorie (objekt implementuje nějaké rozhraní). A samozřejmě nechci být omezován, takže mohu přidávat kteroukoliv z těchto tří vlastností - ne jak je to u dědičnosti.
Takže ve skutečnosti chceš násobnou dědičnost v jazyku, který ji nemá?
Lze dědit tak, aby potomek nebyl stejného typu jako předek?
To nejde, ale proč by to mělo vadit?

To snad ani nebudu rozvádět.

Každopádně pokud to nejde, tak to budiž odpovědí pro @Ink
Trait je zobecnění rozhraní, tak to ber tak, že to je stejná "dědičnost" jako implementace rozhraní.

To nedává smysl. Já nemám zájem o zobecněné rozhraní. Já nemám zájem o vynucenou dědičnost (rozhraní přináší do typu zařazení do kategorie, to nemusím chtít). Nevím, proč bych to tak měl brát.

Pokud mé chápání výrazu "trait" je posunuté, budiž, to je samozřejmě možné. V tom případě si v mé otázce to slovo škrtni a nech tam toto:
Mám nějaký objekt. Chci, aby tento objekt měl určité vlastnosti. Buď tam ty vlastnosti dopíšu, nebo je "přidám" pomocí traitu (protože stejné chování jsem dělal jinde). Přičemž vlastnostmi je jak chování (vlastní nějaké metody), tak i data (vlastní nějaké atributy), tak i kategorie (objekt implementuje nějaké rozhraní). A samozřejmě nechci být omezován, takže mohu přidávat kteroukoliv z těchto tří vlastností - ne jak je to u dědičnosti.
Moc to komplikuješ, tohle je jako chtít auto s hranatýma kolama, co nedrncá.

1324
Vývoj / Re:Trait a konstruktor
« kdy: 24. 12. 2020, 01:56:28 »
No samozřejmě. Problém je v tom, že se na to díváš z druhé strany. Já chci do objektu přidat chování a atributy, ale nechci, aby se mi tím změnil typ například. Tedy chci aby zůstalo "mít", ale nezměnilo se "být".

Usecase, které pro traity mám (a které se samozřejmě může lišit jazyk od jazyka):

Mám nějaký objekt. Chci, aby tento objekt měl určité vlastnosti. Buď tam ty vlastnosti dopíšu, nebo je "přidám" pomocí traitu (protože stejné chování jsem dělal jinde). Přičemž vlastnostmi je jak chování (vlastní nějaké metody), tak i data (vlastní nějaké atributy), tak i kategorie (objekt implementuje nějaké rozhraní). A samozřejmě nechci být omezován, takže mohu přidávat kteroukoliv z těchto tří vlastností - ne jak je to u dědičnosti.
Takže ve skutečnosti chceš násobnou dědičnost v jazyku, který ji nemá?
Lze dědit tak, aby potomek nebyl stejného typu jako předek?
To nejde, ale proč by to mělo vadit?

To snad ani nebudu rozvádět.

Každopádně pokud to nejde, tak to budiž odpovědí pro @Ink
Trait je zobecnění rozhraní, tak to ber tak, že to je stejná "dědičnost" jako implementace rozhraní.

1325
Vývoj / Re:Trait a konstruktor
« kdy: 24. 12. 2020, 00:28:34 »
No samozřejmě. Problém je v tom, že se na to díváš z druhé strany. Já chci do objektu přidat chování a atributy, ale nechci, aby se mi tím změnil typ například. Tedy chci aby zůstalo "mít", ale nezměnilo se "být".

Usecase, které pro traity mám (a které se samozřejmě může lišit jazyk od jazyka):

Mám nějaký objekt. Chci, aby tento objekt měl určité vlastnosti. Buď tam ty vlastnosti dopíšu, nebo je "přidám" pomocí traitu (protože stejné chování jsem dělal jinde). Přičemž vlastnostmi je jak chování (vlastní nějaké metody), tak i data (vlastní nějaké atributy), tak i kategorie (objekt implementuje nějaké rozhraní). A samozřejmě nechci být omezován, takže mohu přidávat kteroukoliv z těchto tří vlastností - ne jak je to u dědičnosti.
Takže ve skutečnosti chceš násobnou dědičnost v jazyku, který ji nemá?
Lze dědit tak, aby potomek nebyl stejného typu jako předek?
To nejde, ale proč by to mělo vadit?

1326
Vývoj / Re:Trait a konstruktor
« kdy: 23. 12. 2020, 16:29:33 »
něco na tom Golangu bude
Bude, hlavně od verze Go 2, která má dostat koncepty.
Koncepty? Trochu nechápu.
Konepty jako v C++ aka bounded types. Už je preview.

1327
Vývoj / Re:Trait a konstruktor
« kdy: 23. 12. 2020, 11:04:15 »
něco na tom Golangu bude
Bude, hlavně od verze Go 2, která má dostat koncepty.

1328
Studium a uplatnění / Re:Jak děláte (Java) pohovory?
« kdy: 23. 12. 2020, 11:02:26 »
protože co si budeme řikat většina dobrých programátorů sou mlčenlivý fousatý morousové a komunikace s lidmi jim dělá problémy  :)
Nevím, co je tady většina, ale taky znám v IT hodně žen, a žádná nemá fousy :)

1329
Studium a uplatnění / Re:Jak děláte (Java) pohovory?
« kdy: 23. 12. 2020, 11:00:18 »
To horolezeni, nebo obecne jakykoliv adrenalinovy sport, ma dle me uplne jasny duvod. Kazdy aspect dane cinosti je protiklad tomu co delame v praci. Ja si napriklad ctenim knizky / hranim karet /... proste neodpocinu :)
Tak tak, chce to prostě pohyb.

1330
Studium a uplatnění / Re:Jak děláte (Java) pohovory?
« kdy: 23. 12. 2020, 10:59:05 »
Delame zakazkovy vyvoj pro automotive, banky a podobne. Proste typicky SW dum. Nejsme zadny facebook nebo microsoft. Pokud by nam na pozici javisty prisel nekdo kdo umi plynule anglicky a francouzky, asi bych to bral spise jako jeho omyl. Urcite by to bylo velke prekvapeni. Nadprumerne schopni vyvojari hledaji praci v jinem sektoru. Presto je pro me potreba odfiltrovat prumerne a podprumerne. S neschopnyma lidma se proste delat neda. Ani se je to neda naucit. Kde nic neni, ani smrt nebere.

Ze stres nicemu nepomuze urcite souhlasim. Proto mi prislo lepsi, nez delat nejake parove programovani, tak si dat cviceni v code review. Vetsinou se kod casteji cte nez pise. A kdo si vsima detailu pri cteni, bude si jich snad vsimat i pri psani. Za druhe, me samotnemu neni prijemne programovat na pohovoru kde mi nekdo kouka pres rameno. Potom v praci, kdy uz o nic nejde, je to v pohode.
Jo, kvalitní lidi se těžko shání. A to s těmi neschopnými je taky pravda, jak se říká v Anglii: “You can’t educate pig.”

1331
Vývoj / Re:Trait a konstruktor
« kdy: 22. 12. 2020, 21:42:53 »
Dotty (Scala 3) podporuje parametrizované traity. (A také "intersection types", které mohou při práci s traity přijít vhod.)

Hmm, jaký pak zbývá rozdíl mezi trait a class kromě toho, že není možné dědit z více class najednou? Co by se stalo, kdyby se klíčové slovo class zrušilo a používaly se jen tyhle nové traity?

Nevím jak Dotty, ale základní rozdíl mezi dědičností a traity je v té dědičnosti. Když máš objekt O, do kterého přidáš trait T, tak ten objekt O není tím T. (Maximálně tak T obsahuje.) Zatímco když O dědí od předka P, tak O je P.

Jako asi pro tebe nic nového, ale tohle je prostě ten rozdíl 1. To je všechno.



1/ Tak maximálně ještě, že metody z traitu se obvykle nepřetěžují, že se s tím trochu jinak pracuje, a tak.
To je IMHO o detailech, v některých jazycích jsou traity v podstatě rozhraní s možností implementace (některých metod). Takto to dává docela smysl v praxi, akorát tvoji definici dědičnosti to (bohužel?) splňuje. Taky to je dobře sehrané s generickými typy.

1332
Studium a uplatnění / Re:Jak děláte (Java) pohovory?
« kdy: 22. 12. 2020, 21:39:04 »
Záleží hodně na pozici. Technické aspekty už popsali jiní (testy in-house nebo na různých službách třetích stran). Hodně důležité jsou zájmy a záliby, ale na rozdíl od kohosi výše bych se naopak zdráhal přijmout někoho, kde žije jen kóděním. Naopak různorodost je jednoznačně přínosem. Zažil jsem člověka, který vážně tvrdil, že se ve volném čase učí paštsky. Jiný zase starořecky, aby si přečetl Anabázi (Xenofóna, na Haška). O tom se dají vést zajímavé rozhovory, které prozradí mnohem víc, než nějaké přiblblá třída v Javě. Z "normálnějších" zájmů vede - nevím proč - horolezení, u seniorů jachtařina apod. Taky je dobré nezapomínat na cizí jazyky, kromě angličtiny (ta je na perfektní úrovni v branži samozřejmostí) pak ještě další evropský (podle klientů). Psychologové ostatně dostatečně průkazně ukázali, že L2 učení jazyků koreluje s logickým myšlením, čili nutný předpoklad přesně pro IT (pokud tedy firma jen neprogramuje robotický vozík jezdící s hnojem pro místní ex-JZD). U kódu místo výslechu typu hodný teamleader/zlý teamleader (zažil jsem) bývá lepší pokec u whiteboardu s malováním schémat a architektury spíše než kód, prostě pokec s normálními otázkami bez chytáků vedoucí k diskusi, stres ničemu nepomůže.

1333
Vývoj / Re:Trait a konstruktor
« kdy: 20. 12. 2020, 23:53:01 »
Souhlas, že traity a DI jsou částečně zastupitelné přístupy. Vhodnost jednoho či druhého záleží IMHO na okolnostech.
Nebe a dudy.
Tak.

1334
Vývoj / Re:Trait a konstruktor
« kdy: 18. 12. 2020, 20:23:27 »
Motivace traitů, tak jak o ní v tomto vlákně mluvím, je komponovat "objekt" z částí. Tedy něco na co se zneužívá dědičnost, ale bez nevýhod dědičnosti.
Takže něco jako implicitní kompozice v Go?
Go moc dobře neznám. Ale vypadá to, že ano.
To by dávalo smysl a je to v podstatě jednoduché na implementaci i používání.

1335
Vývoj / Re:Trait a konstruktor
« kdy: 18. 12. 2020, 19:18:39 »
Motivace traitů, tak jak o ní v tomto vlákně mluvím, je komponovat "objekt" z částí. Tedy něco na co se zneužívá dědičnost, ale bez nevýhod dědičnosti.
Takže něco jako implicitní kompozice v Go?

Stran: 1 ... 87 88 [89] 90 91 ... 153