Dědičnost dnes

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #285 kdy: 22. 01. 2017, 16:33:52 »
Pracujete se zmatením pojmů - to, co jste napsal, není rozhraní. Rozhraní je (už z názvu) jen to, co je vidět zvenku, tohleto je jakýsi hybrid zahrnující i implementaci (má to i Java jako rozhraní s default). Ve funkcionálním programování vás za to poplácají po zádech, v objektovém to hodně nerad vidím (obdoba anemického modelu, ale jen s metodami).
Je to defaultní implementace metod rozhraní (v terminologii Swiftu a ObjC protokolů) a v rámci OOP to je nejelegantnější a nejefektivnější způsob řešení zmíněného problému.

Tak já myslím, že termín i význam slova "rozhraní" je dostatečně přímočarý a nezáludný, přičemž v něm nenalézám jakýkoliv náznak implementace. To, co popisujete, vypadá spíše jako trait - že si nějaký jazyk pod "rozhraním" představuje něco jiného, je jeho problém, my bychom se měli bavit v obecné rovině, ne podle toho, jak to kdo kde ubastlil. Takže příště prosím pište rovnou o traitech či mixinech, ušetříme si tím nedorozumění a příspěvky.
Na eleganci a efektivitě jsme se v této diskusi ještě neshodli.
To je slovíčkaření, navíc koncept rozhraní pochází z ObjC, jehož je Swift přímým následovníkem (akorát se tomu říká protokol), takže co může nebo ne být rozhraní celkem logicky určují příslušní tvůrci. Ať už se tomu říká, jak chce, je to v rámci OOP nejelegantnější způsob řešení zmíněného problému (efektivita, přiznávám, závisí na implementaci).


SB

Re:Dědičnost dnes
« Odpověď #286 kdy: 22. 01. 2017, 16:35:24 »

Přijde mi, že spíše hledáš něco více dynamického na bastlení. Cokoli dynamického je z principu špatné u velkých věcí. Proto preferuji Javu. Samozřejmě nepoužívám skoro reflexi a podobné nesmysly, protože tím to celé zkurvíš.

Takže mi přijde, že máš rád hodně dynamické věci a pak se ti líbí i OOP, které se nepoužívá.

Na bastlení stačí kdeco, hledám jazyk pro obchodní aplikace.

Pane Javamane, co odpověď, to plno nepodložených, obecných tvrzení - Java je supr, tohle OOP se nepoužívá, reflexe je na hovno... Takhle by to mohlo jít hodiny - vy něco plácnete, já budu dokazovat a argumentovat. Proto se určitě nebudete zlobit, když už na vaše podobné dotazy (a lepší nečekám) nebudu reagovat, je tu pár lidí, od kterých se něco skutečně můžu dozvědět. Vaše dojmy mi moji práci neusnadní.

SB

Re:Dědičnost dnes
« Odpověď #287 kdy: 22. 01. 2017, 16:36:38 »
A ze tim prestanes splnovat kontrakt obdelniku je ti jedno?

Který to je?

Re:Dědičnost dnes
« Odpověď #288 kdy: 22. 01. 2017, 16:40:27 »
A ze tim prestanes splnovat kontrakt obdelniku je ti jedno?

Který to je?

Uz jsem to sem psal minimalne dvakrat, z toho minimalne jednou v pseudokodu.

Je jich dost. Ze zmena a nema vliv na b. Ze zdvojnasobeni a zdvojnasobi obsah. Ze zdvojnasobeni b zdvojnasobi obsah...

Dost mne desi, ze se lidi mohou x stranek dohadovat o takovych zakladech, jako je aplikace LSP na hierarchii ctvercu a obdelniku.

javaman ()

Re:Dědičnost dnes
« Odpověď #289 kdy: 22. 01. 2017, 16:43:48 »

Přijde mi, že spíše hledáš něco více dynamického na bastlení. Cokoli dynamického je z principu špatné u velkých věcí. Proto preferuji Javu. Samozřejmě nepoužívám skoro reflexi a podobné nesmysly, protože tím to celé zkurvíš.

Takže mi přijde, že máš rád hodně dynamické věci a pak se ti líbí i OOP, které se nepoužívá.

Na bastlení stačí kdeco, hledám jazyk pro obchodní aplikace.

Pane Javamane, co odpověď, to plno nepodložených, obecných tvrzení - Java je supr, tohle OOP se nepoužívá, reflexe je na hovno... Takhle by to mohlo jít hodiny - vy něco plácnete, já budu dokazovat a argumentovat. Proto se určitě nebudete zlobit, když už na vaše podobné dotazy (a lepší nečekám) nebudu reagovat, je tu pár lidí, od kterých se něco skutečně můžu dozvědět. Vaše dojmy mi moji práci neusnadní.

V pohodě, jsem rád, že opravdu reaguješ na věci tady.

Ale zase tak do hloubky jsem jít nechtěl. Pokud máš rád cokoli dynamického, tak si nemůžeme rozumět. Znám pár lidí, kteří dělají i dynamickou Javu a jsou to supersračky, protože to ani nejde debugovat. Aplikace má miliardy stavů, které nikdo nikdy neotestuje, protože jsem přece cool a dynamičtí :D


noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #290 kdy: 22. 01. 2017, 17:41:16 »
Jen tak ze zajimavosti, kdyz se uz tady resi ta dedicnost, tak se zeptam. Akka actori (Scala) mi pripadaji dost podobni jako ty objekty ve Smalltalku, je tomu tak? O Smalltalku jsem videl jen kratkou prednasku, takze opravdu moc netusim, ale napr. to posilani zprav a "netypovost" actoru pusobi dost podobne.

Osobne taky preferuji staticke veci typu Haskell nebo Scala (paradoxne jsem donedavna v praci delal primarne v JS :D, ted alespon s tim TypeScriptem jsem se trochu priblizil statickemu svetu).

Vetsina reflexe v Jave (i Scale) je dost draha na vykon a samozrejmne jak pise Javaman(), obtizne se to ladi, udrzuje, atd.

Honza

Re:Dědičnost dnes
« Odpověď #291 kdy: 22. 01. 2017, 17:59:17 »
Je tu někdo, kdo už ladil program za běhu v Javě (nebo v Pythonu), a ve Smalltalku, a chce tvrdit, že Java má to ladění lepší?

balki

Re:Dědičnost dnes
« Odpověď #292 kdy: 22. 01. 2017, 18:36:17 »
Je tu někdo, kdo už ladil program za běhu v Javě (nebo v Pythonu), a ve Smalltalku, a chce tvrdit, že Java má to ladění lepší?

Java sa neladi za behu. Je mozne ponastavovat rozne konfiguracne parametre, ale to je tak asi vsetko. Odvodeniny smalltalk-80 su runtime a IDE v jednom (macko-pes s kuchynskym drezom), takze logicky ladenie "za behu" je tam jednoduche. Kedze sa tam "za behu" aj programuje, skor je problem kodit s vypnutym rutime. Java a smalltalk su jazyky s inym urcenim, moc to porovnavat nejde.

gll

Re:Dědičnost dnes
« Odpověď #293 kdy: 22. 01. 2017, 18:39:38 »
Je tu někdo, kdo už ladil program za běhu v Javě (nebo v Pythonu), a ve Smalltalku, a chce tvrdit, že Java má to ladění lepší?

Smalltalk neznám. Ladění za běhu je něco takového http://lighttable.com/?

Honza

Re:Dědičnost dnes
« Odpověď #294 kdy: 22. 01. 2017, 18:43:50 »
Je tu někdo, kdo už ladil program za běhu v Javě (nebo v Pythonu), a ve Smalltalku, a chce tvrdit, že Java má to ladění lepší?

Java sa neladi za behu. Je mozne ponastavovat rozne konfiguracne parametre, ale to je tak asi vsetko. Odvodeniny smalltalk-80 su runtime a IDE v jednom (macko-pes s kuchynskym drezom), takze logicky ladenie "za behu" je tam jednoduche. Kedze sa tam "za behu" aj programuje, skor je problem kodit s vypnutym rutime. Java a smalltalk su jazyky s inym urcenim, moc to porovnavat nejde.
Díky, já to vím, já si také myslím, že to srovnávat nelze. Já stojím na straně Smalltalku, ale vidím už několikátý příspěvek, kde někdo tvrdí, že ladění v dynamických jazycích je údajně obtížné, přičemž právě např. v Javě to za běhu ani možné není...

Honza

Re:Dědičnost dnes
« Odpověď #295 kdy: 22. 01. 2017, 18:45:54 »
Je tu někdo, kdo už ladil program za běhu v Javě (nebo v Pythonu), a ve Smalltalku, a chce tvrdit, že Java má to ladění lepší?

Smalltalk neznám. Ladění za běhu je něco takového http://lighttable.com/?
Ano, s tím rozdílem, že Smalltalk to umí už 40 let, zatímco Lightable se tváří jako novinka...

balki

Re:Dědičnost dnes
« Odpověď #296 kdy: 22. 01. 2017, 18:49:48 »
Je tu někdo, kdo už ladil program za běhu v Javě (nebo v Pythonu), a ve Smalltalku, a chce tvrdit, že Java má to ladění lepší?

Java sa neladi za behu. Je mozne ponastavovat rozne konfiguracne parametre, ale to je tak asi vsetko. Odvodeniny smalltalk-80 su runtime a IDE v jednom (macko-pes s kuchynskym drezom), takze logicky ladenie "za behu" je tam jednoduche. Kedze sa tam "za behu" aj programuje, skor je problem kodit s vypnutym rutime. Java a smalltalk su jazyky s inym urcenim, moc to porovnavat nejde.
Díky, já to vím, já si také myslím, že to srovnávat nelze. Já stojím na straně Smalltalku, ale vidím už několikátý příspěvek, kde někdo tvrdí, že ladění v dynamických jazycích je údajně obtížné, přičemž právě např. v Javě to za běhu ani možné není...

Pre javu je na taketo finty JRebel https://zeroturnaround.com/software/jrebel/. Uz mi to sef nukal, ale ja by som v tom nevidel pridanu hodnotu, kedze robim veci na spring boot s embednutym jetty, skusit zmenu mi netrva dlho.   Ide to, no treba na to extra platene nastroje.

Honza

Re:Dědičnost dnes
« Odpověď #297 kdy: 22. 01. 2017, 18:59:35 »
Pre javu je na taketo finty JRebel https://zeroturnaround.com/software/jrebel/. Uz mi to sef nukal, ale ja by som v tom nevidel pridanu hodnotu, kedze robim veci na spring boot s embednutym jetty, skusit zmenu mi netrva dlho.   Ide to, no treba na to extra platene nastroje.
To, že se ostatní programovací jazyky snaží Smalltalku alespoň přiblížit, je mi známo. Pokud ten nástroj někdo ovládá prakticky, ať se přihlásí...

gll

Re:Dědičnost dnes
« Odpověď #298 kdy: 22. 01. 2017, 19:00:43 »
Je tu někdo, kdo už ladil program za běhu v Javě (nebo v Pythonu), a ve Smalltalku, a chce tvrdit, že Java má to ladění lepší?

Smalltalk neznám. Ladění za běhu je něco takového http://lighttable.com/?
Ano, s tím rozdílem, že Smalltalk to umí už 40 let, zatímco Lightable se tváří jako novinka...

je to otázka IDE a ne jazyka. Hodí se to jen pro některé typy programů.

javaman ()

Re:Dědičnost dnes
« Odpověď #299 kdy: 22. 01. 2017, 19:10:09 »
Pre javu je na taketo finty JRebel https://zeroturnaround.com/software/jrebel/. Uz mi to sef nukal, ale ja by som v tom nevidel pridanu hodnotu, kedze robim veci na spring boot s embednutym jetty, skusit zmenu mi netrva dlho.   Ide to, no treba na to extra platene nastroje.
To, že se ostatní programovací jazyky snaží Smalltalku alespoň přiblížit, je mi známo. Pokud ten nástroj někdo ovládá prakticky, ať se přihlásí...

Nikdo to nepotřebuje :) JRebel je ideální pro megaprojekty, které se dřív v Javě dělaly. Dnes máš malé projekty, kde to nevyužiješ. Jak psal balki, překompilování a zavedení tříd umí i Spring.