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

Stran: 1 ... 16 17 [18] 19 20 ... 25
256
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 10. 03. 2020, 05:03:31 »
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

Ne panove, to je zkratka moje prohlednuti, ze vy tu vubec nemate tuseni o cem to melete.
Pisu tady, ze signatura java metody je vcetne parametru metody a vrati se mi dotaz, jak bych asi tu python zpatlaninu udelal v Jave.

Neblábol Stando, už i ty jsi pochopil v čem a proč je Java špatná. Nenašel jsi odvahu sem dát implementaci něčeho, co je Javě vlastní (přetěžování) a pro Python je to škrábání se na krku přes hlavu. I tak to má Python stručnější a přehlednější. Pokud nesouhlasíš, hoď sem ukázku.

257
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 09. 03. 2020, 18:26:29 »
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

258
Vývoj / Re:Datove tridy v Pythonu
« kdy: 09. 03. 2020, 17:27:47 »
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.
https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

Tohle nená žádná zhůvěřilost, máš tam v odpovědi krásný příklad využití dekorátoru @singledispatch na přetěžování. Alternativou je použití dekorátoru @overload.

Tak to mame dost odlisne nazory na krasu:

Kód: [Vybrat]
class S_Unknown: pass
class S_Block: pass
class S_Empty: pass
class S_Function: pass
class S_SpecialBlock(S_Block): pass

@singledispatch
def render(s, **kwargs):
  print('Rendering an unknown type')

@render.register(S_Block)
def _(s, **kwargs):
  print('Rendering an S_Block')

@render.register(S_Empty)
def _(s, **kwargs):
  print('Rendering an S_Empty')

@render.register(S_Function)
def _(s, **kwargs):
  print('Rendering an S_Function')

if __name__ == '__main__':
  for t in [S_Unknown, S_Block, S_Empty, S_Function, S_SpecialBlock]:
    print(f'Passing an {t.__name__}')
    render(t())

OMG, mejme externi knihovnu co se stara o rozhazovani podle _PRVNIHO_ argumentu funkce a sam si to zaregistruj jak u blbejch na dvorku. https://docs.python.org/3/library/functools.html#functools.singledispatch

To jako chceme srovnavat s java method signature, kde se  do signatury pocita vse krome navratove hodnoty?

Heh, tady se vycita jave ukecanost a pak se tu argumentuje selmostrojem ktery za pomoci nevykonneho sena anotaci, manuani registrace dovede pretezovate podel _PRVNIHO_ atributu?

Pricemz podpora IDE (autocomplete, refactoring) pro takovy selmostroj je zakonite nulova?

Zajimave,

To je jednoduché, reimplementujte tento celý program v javě a hoďte ho sem, uvidíme :-). A pak to uděláme i naopak, napíšeme to samé po pythonovsku (skrz introspekci v jedné funkci) a vy tento způsob reimplementujete v javě, ok?

259
Vývoj / Re:Datove tridy v Pythonu
« kdy: 09. 03. 2020, 17:23:28 »
Jojo, dynamic typing je takovej zazrak, az se to Pythonu 3.5 dostal modul typing a v 3.8 to rozsirili napr o final, podobnost s klicovymi slovy javy je ciste nahodna.
A Typescript vsnikl nad Javascriptem taky z cisleho masochismu lidi, co si neumi uzivat blaho dynamickeho bordelu.

Kdyz se divam na vyvoj Pythonu3, je to prakticky souvisla snaha nejak napasovat Java (C#, C++) featury do standardni knihovny.

Ehm, ja pouzivam aktivne python i javu. Python je skvely na jednoduche skriptiky, napr. ansible na tom jede sakumprask.
Pro opravdove SW projekty na kterych dela vice lidi obecne ruzne kvality, se to s Javou merit neda.
A poznamka o programovani bez IDE me rozesmala, to musi byt produktivita jak noha a hlavu mit jak patraci balon, abych si v chainu Viewer - Model - Service - Repository pamatovat atributy a nazvy metod. V IDE ctrl+space a doplni se to samo.
Ale proti gustovi zadny disputat.

Ano, Python je flexibilní, takže přidal podporu i pro statické typování při zachování typování dynamického. Kam se na to hrabe Java. Duck typing není zázrak, ale je to jedno z nejoblíbenějších paradigmat. Jak typing v Pythonu tak Typescript se používá spíše okrajově, obávám se, že to vzniká hlavně pro lidi se statickým myšlením, kteří nechápou a nedokáží využít výhody dynamických typů a dispatch dle typu považují za něco špatného. Na vývoj Pythonu 3 se díváte s nepochopením, pravděpodobně ani nevíte, co vše vzniká, příklad s arg1, /, arg2, *, arg3 jste vůbec nepochopil, přitom je to také featura Pythonu 3. Co se týče opravdových projektů, je třeba Dropbox, Youtube, Disqus, Reddit, Instagram, ... myslím že to jde a omezuje ho spíš výkon než co jiného.

260
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 09. 03. 2020, 16:14:34 »
Mno, staci mit zajimave metody nahore, seno dole. Kazdy vi co je getter, setter, toString().
...
Java neni rozhosdne ukecana vic, nez je potreba.

Java je neuvěřitelně ukecaný a těžkopádný jazyk. Sekl jsem s ní už kdysi dávno, protože odmítám ztrácet čas  'senem'. Já vím, ide mi ho vygeneruje.

261
Vývoj / Re:Datove tridy v Pythonu
« kdy: 09. 03. 2020, 16:10:34 »
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.
https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

Tohle nená žádná zhůvěřilost, máš tam v odpovědi krásný příklad využití dekorátoru @singledispatch na přetěžování. Alternativou je použití dekorátoru @overload.

262
Vývoj / Re:Datove tridy v Pythonu
« kdy: 09. 03. 2020, 16:04:00 »
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal

Opravdu? Umi java duck typing? Umí java modifikovat tridy realtime za behu programu? Umi java neco jako:

def fce1(arg1, /, arg2, *, arg3):

Ne neumi.
Protoze to jsou znouzectnosti, Java vsechny tyto veci resi jinak a robustneji.
Ducktyping je znouzectnost, protoze python neumi silne typy. Ducktyping neni nic jineho, ze nemam ZADNOU kontrolu typu, proste zavolam stejnojmennou metodu bez rozliseni typu atributu a dej se vule bozi.
IDE s tim maglajzem neudela nic, v Jave ti eclipse pri znalosti signatur metod pise podstatny kus kodu za tebe, staci mackat CTRL+SPACE

Modifikovat tridu za behu je prasecina, v Jave se zkratka pouziva misto hrabani do trid dynamicka kompozice typu Spring IoC.
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.

https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

O generickych metodach ani nemluvim.

Výborně, máme vyvráceno nesmyslné tvrzení, že Java umí všechno, co Pythoh.

Duck typing není z nouze ctnost, je to chtěný a žádaný stav. Není pravda, že to znamená žádnou kontrolu typů. Python je vyšší jazyk, kde typ je vlastnost hodnoty nikoliv proměnné. Python má silné typy, ale vyhodnocuje je dynamicky. Pomocí MyPy je umí vyhodnocovat i staticky, ale z toho pramení mnohí nechtěných omezení, žakže já třeba jazyky se statickýmá typy odmítám, nejsou pro mě dostatečně flexibilní.

Já spoléhám na sebe, nikoliv na ide a je mi fajn. Ty prostě neumíš dobře programovat, ovládáš možná statické programování, ale plaveš v tom dynamickém, neumíš myslet v dynamickém jazyku. To je celé. Omezuješ sám sebe. Já zase neumím myslet ve funkcionálních jazycích, ale beru to jako svůj nedostatek, nikoliv jako nedostatek (těch blbých) funkcionálních jazyků.

Můj dotaz nezněl na variabilní počet argumentů.

263
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 09. 03. 2020, 15:54:05 »
Vetsinou lidi, kteri nevidi prinos pythonu, pisi nasobne vic kodu nez je nutne. Pripravuji se tim o hlavni vyhodu pythonu oproti Jave, mensi ukecanost.

Ano, osobne pisu mnohem vice kodu nez je nutne a hromadu komentaru k tomu.
A to za ucelem citelnosti kodu, az se na to za 3 roky podivam, nepotrebuju dekodovat fancy hacky, co zpusobily, ze jsem usetril  4 radky kodu.
Asi "nejlepsi" je v tomto ohledu Perl, ktery je obecne znam jako "write only language", casto to po sobe neprecte ani autor.

Osobne se snazim o takovy kod, ktery precte i clovek, co v zivote v Jave nedelal.

Psát čitelně je ideál. Ale příliš mnoho (zbytečného) kódu přehlednost snižuje. Java je proto nepřehledný jazyk, imho jeden z hlavních důvodů neíblíbenosti. Vždy když slyším obhajobu, že ide mi ten kód vygeneruje, tak mám dost nepříiemný pocit, že je něcohodně špatně.

264
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 09. 03. 2020, 15:50:10 »
Určitě je spoustu cest, jak to rozhodování řešit. Pro mě je ale podstatné, že se musí na začátku funkce něco takového řešit. To přece nemá s příjemným a robustním vývojem nic společného.
To je jen váš subjektivní dojem. Ať tak nebo tak, řešit to musíte v každém jazyku. Mít rozhodování v jedné funkci dle typu nebo si na to napsat deset přetížených funkcí je věc osobních preferencí. Komu vyhovuje přetěžování, může v pythonu používat @overload.

265
Vývoj / Re:Datove tridy v Pythonu
« kdy: 09. 03. 2020, 15:23:59 »
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal

Opravdu? Umi java duck typing? Umí java modifikovat tridy realtime za behu programu? Umi java neco jako:

def fce1(arg1, /, arg2, *, arg3):

266
Vývoj / Re:Multiplatformní Python GUI framework
« kdy: 05. 03. 2020, 18:10:29 »
https://github.com/cztomczak/cefpython
Baleni do jedne binarky by nemel byt problem, pokud neni GUI slozite tak ti fakt bude stacit nejaky wysiwyg editor co ti vyplyvne hotovou html stranku a ty si dopises jenom minimalni vrstvu Javascriptu. Navic dnes existuji i projekty diky kterym muzes misto Javascriptu psat Python a ten se ti prelozit do JS nebo WebAssembly.

Viz Flexx.

267
Hardware / Re:Doporučte plně pasivní notebook
« kdy: 03. 03. 2020, 22:42:54 »
Zvaž použití tabletu, ke kterému si přikoupíš bluetooth plnohodnotnou klávesnici. Třeba já mám tenhle https://cz.gearbest.com/android-tablets/pp_009744086679.html má 8 GB ram, 256 GB SSD, Celeron, běží na něm windows a je za necelých 9 000 Kč.

Tenhle Celer je Gemini Lake...
Jak by si pomohl?

Bude mít funkční zařízení splňující jeho požadavky.

Tak si jeste jednou ten dotaz precti...

Precetl jsem si ho znova a pozadavky to splnuje, jako jedina rada zde.

ehm...
- v "zadani" je 4x zminen notebook, jak takove zadani muze splnit tablet? ;-)
- zminuje ze dost pise a predstava ze bude muset pokazde vyndavat tablet, nejak ho naraficig, k nemu klavesnici...
- sice pise ze vykon moc neresi, ale kdyz mel Core(M) tak prechod na Celeron kdo vi zda by vykon resit nezacal...
- LCD pise ze ma 13.3 a prijde mu ideal ty doporucujes 11.6
- pak chce bezproblemovej chod pod Linuxem a ty pises ze tam bezi Windows (zkousel si na tom aspon USBLive Xubuntu zda to startuje a jak se to chova?)
- dale pise ze ma jit o hlavni stroj, to si jako tablet s externi klavesnici vazne predstavit nedokazu (jako obcasne nouzove reseni samozrejme ano)

jako perlicka pises ze tva rada jedina odpovida pozadavkum, pritom to co sem psal kousek vejs naopak odpovida... ;-)
Kdyz k tomu pricvaknes klavesnici, je to notebook, nic naraficovat nemusi, kdyz chce hodne psat doporucuji plnohodnotnou velkou kvalitni bluetooth, chce to spis mensi, vykon ho nezajima, a hlavne, nema to vetrak, je to tissi. Podminky splneny. V dobe kdy ja jsem mu tohle poradil jsem byl jediny kdo mu poradil neco, co splnuje jeho pozadavky.

268
Hardware / Re:Doporučte plně pasivní notebook
« kdy: 03. 03. 2020, 19:56:42 »
Zvaž použití tabletu, ke kterému si přikoupíš bluetooth plnohodnotnou klávesnici. Třeba já mám tenhle https://cz.gearbest.com/android-tablets/pp_009744086679.html má 8 GB ram, 256 GB SSD, Celeron, běží na něm windows a je za necelých 9 000 Kč.

Tenhle Celer je Gemini Lake...
Jak by si pomohl?

Bude mít funkční zařízení splňující jeho požadavky.

Tak si jeste jednou ten dotaz precti...

Precetl jsem si ho znova a pozadavky to splnuje, jako jedina rada zde.

269
Windows a jiné systémy / Re:GUI tookit pro Linux a Windows
« kdy: 03. 03. 2020, 19:50:22 »
Tak nic, kiwi je jen python only.

270
Windows a jiné systémy / Re:GUI tookit - jaký
« kdy: 03. 03. 2020, 19:45:08 »
Gtk je sice multiplatformní ale tak nějak že to nějak funguje a Qt je c++ framework kterému se chci vyhnout
Já ho na windows používal roky. Teď preferuji web gui přes websockety, to je kompatibilní se vším, ale to se vám asi taky líbit nebude. Pak jsem ještě slyšel o kiwi, výhodou by měla být kompatibilita i s androidem, ale nevím jak je to použitelné.

Stran: 1 ... 16 17 [18] 19 20 ... 25