reklama

Doporučte programovací jazyk pro Windows

Re:Doporučte programovací jazyk pro Windows
« Odpověď #270 kdy: 14. 03. 2020, 19:30:20 »
zda to v tak velkém měřítku nenapsat v něčem jiném;

ty casti , ktere v Twitteru prepisovali, nejake background joby a podobne, ano. Samotny web ne, oni ho take neprepisovali podle toho clanku.

https://www.techempower.com/benchmarks/

tahle metrika temer nikdy neni uzke hrdlo

reklama


Ink

  • ***
  • 178
    • Zobrazit profil
    • E-mail
Re:Doporučte programovací jazyk pro Windows
« Odpověď #271 kdy: 14. 03. 2020, 21:00:25 »
https://www.techempower.com/benchmarks/

tahle metrika temer nikdy neni uzke hrdlo

To jako že se ušetření výpočetního výkonu v jedné vrstvě nikde nepozná? To se mi nechce věřit.

PetrK

  • ****
  • 409
    • Zobrazit profil
Python - pejsek a kocicka varili dort
« Odpověď #272 kdy: 15. 03. 2020, 09:46:01 »
Tak takhle delam s Pythone, a narazil jsem na dalsi srandovni vec. Python v sobe ma nove "dataclass", ktera se da pouzit takto:

Kód: [Vybrat]
from dataclasses import dataclass

@dataclass()
class A:
    a : int
    b : B

Sranda vec je, ze neexistuje zadny jednoduchy zpusob, jak prevest nested dictionary (pro jistotu, to znamena dictionary obsahujuci nejakou dictionary - to rikam specialne pro Pyjthonisty, protoze jsou ocividne trochu jednodussiho mysleni) na @dataclass.

Nekolik hodin jsem to googlil a zkoumal, co to je za nekonzistentni kravovinu, ze si muzu v Pythonu sice prevest instance Tridy na JSON, ale uz to same nemuzu prevezt zpet. A krasne jsem si tim obhledl mysleni asi 90% Pythonistu, coz jsou ocividne tak trochu jednodussi programatori :D

Dneska jsem zjistil, ze to v PYJthonu ANI NESMI JIT, protoze Dictionary v pythonu nikdy nemuze byt 100% kompatibilni s zadnou tridou!!! Viz.:

Kód: [Vybrat]
@dataclass()
class A:
    from: int

Tohle vam zarve chybu, vy totiz nemuzete v Pyjthonu pouzit jako atribut rezervovane klicove slovo!!! Takze vam z nejakeho API prijde JSON obsahujici klicove slovo, a vy proste mate SMULU a stejne si na to @dataclass vyrobit NEMUZETE!

 :D :D :D

Jsem fakt zklaman, Pyjthon zacina cim dal vic pripominat pejska a kocicku jak varili dort. Tohle je totalni bastlirska copy-paste platforma pro lamy a nooby, ze horsi uz je snad jen Javascript. Pry Guido Van Rossum  :D
« Poslední změna: 15. 03. 2020, 09:51:41 od PetrK »

Ink

  • ***
  • 178
    • Zobrazit profil
    • E-mail
Re:Python - pejsek a kocicka varili dort
« Odpověď #273 kdy: 15. 03. 2020, 09:56:08 »
...hromada keců...

To je prosté, milý Watsone; když chceš používat dict, používej dict. Pokud Ti vadí, že nemůžeš mít jako název atributu klíčové slovo, jdi se pokorně vrátit k Javě a vesele si používej .equals() a další podobné geniální nápady návrhářů, kteří se domnívají, že nejsi dost chytrý na to, abys pochopil výhody a principy přetěžování operátorů.

PetrK

  • ****
  • 409
    • Zobrazit profil
Re:Python - pejsek a kocicka varili dort
« Odpověď #274 kdy: 15. 03. 2020, 09:58:47 »
...hromada keců...

To je prosté, milý Watsone; když chceš používat dict, používej dict. Pokud Ti vadí, že nemůžeš mít jako název atributu klíčové slovo, jdi se pokorně vrátit k Javě a vesele si používej .equals() a další podobné geniální nápady návrhářů, kteří se domnívají, že nejsi dost chytrý na to, abys pochopil výhody a principy přetěžování operátorů.

Tohle je typicka odpoved jednoduchouckeho Pyjthonisty. Takze kdyz ti z nejakeho API, nad kterym ty nemas kontrolu, nekdo vrati Dictionary ktere obsahuje klicove slovo v Pythonu, tak ty potom udelas jako co? Ja vim co udelas, vemes izolacku, hrebiky a kladivko a vyrobis kupu hnoje aby ti to pak jakoze fungovalo.

Proc by nekdo do Swagger API psal:

fromDate: Date
toDate: Date

kdyz muze napsat jen:

from: Date
to: Date

A ty v Pyjthonu se z toho po...
« Poslední změna: 15. 03. 2020, 10:03:07 od PetrK »

reklama


PetrK

  • ****
  • 409
    • Zobrazit profil
Re:Doporučte programovací jazyk pro Windows
« Odpověď #275 kdy: 15. 03. 2020, 10:08:00 »
No nic, vidim ze to ma dobry duvod, proc se na ceskych VS uci prevazne Java a C#, a ne jakysik Pyjthon. Asi necham tuto platformu na hrani pro male deti a webovkare.

Software development proste neni tak jednoduchy, jak jednoduchy je Pyjthon. Bohuzel. Cim driv to lidi pochopi, tim lip.
« Poslední změna: 15. 03. 2020, 10:12:39 od PetrK »

Ink

  • ***
  • 178
    • Zobrazit profil
    • E-mail
Re:Python - pejsek a kocicka varili dort
« Odpověď #276 kdy: 15. 03. 2020, 10:12:51 »
Proc by nekdo do Swagger API psal:

fromDate: Date
toDate: Date

kdyz muze napsat jen:

To je přece obecný problém:

http://watson-developer-cloud.github.io/api-guidelines/swagger-coding-style.html#alternate-names-for-properties-or-parameters

Re:Python - pejsek a kocicka varili dort
« Odpověď #277 kdy: 15. 03. 2020, 10:28:54 »
Tohle vam zarve chybu, vy totiz nemuzete v Pyjthonu pouzit jako atribut rezervovane klicove slovo!!! Takze vam z nejakeho API prijde JSON obsahujici klicove slovo, a vy proste mate SMULU a stejne si na to @dataclass vyrobit NEMUZETE!
Zatímco v Javě také nemůžete jako název atributu (fieldu, metody) použít rezervované nebo klíčové slovo.

Pro tenhle JSON

Kód: [Vybrat]
{
  'for': 'you'
}

si také nemůžete vyrobit třídu

Kód: [Vybrat]
public class TargetPerson {
  private String for;

  public String getFor() {
    return for;
  }

  public void setFor(String for) {
    this.for = for;
  }
}

Také tam budete muset mít nějaké mapování, buď mezi JSONem a názvem property, nebo mezi názvem property a názvem fieldu (tedy přejmenovat getter a setter).

Řekl bych, že tentokrát jste cíl minul o pořádný kus…

PetrK

  • ****
  • 409
    • Zobrazit profil
Re:Doporučte programovací jazyk pro Windows
« Odpověď #278 kdy: 15. 03. 2020, 10:30:24 »
Jo, to je vlastne fakt... za to muze stejne Python, nema tam mit klicove slovo "from", ktere jsem zrovna nedavno strkal do API do "from: Date"  :D

Takze zbylo uz jen to, ze si muzu prevest objekt na Dictionary, ale uz to nemuzu udelat zpet. Je toho plny internet, treba:

https://stackoverflow.com/questions/1305532/convert-nested-python-dict-to-object

A je fakt debilni, ze pridaji do std lib novou knihovnu Dataclasses, ktere neumozni inicializovat z Dictionary.....
« Poslední změna: 15. 03. 2020, 10:34:39 od PetrK »

Re:Doporučte programovací jazyk pro Windows
« Odpověď #279 kdy: 15. 03. 2020, 11:34:38 »
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu
« Poslední změna: 15. 03. 2020, 11:44:24 od A.P.Hacker »

Re:Doporučte programovací jazyk pro Windows
« Odpověď #280 kdy: 15. 03. 2020, 11:54:01 »
primo knihovna postavena na dataclasses https://github.com/lidatong/dataclasses-json/

Re:Doporučte programovací jazyk pro Windows
« Odpověď #281 kdy: 15. 03. 2020, 12:24:35 »
nebo pydantic https://pydantic-docs.helpmanual.io/ , nahrada arttrs postavena na nativnich typovych anotacich.

asi nejlepsi deserializaci ma Django, ale to asi nechces
« Poslední změna: 15. 03. 2020, 12:31:03 od A.P.Hacker »

PetrK

  • ****
  • 409
    • Zobrazit profil
Re:Doporučte programovací jazyk pro Windows
« Odpověď #282 kdy: 15. 03. 2020, 13:00:56 »
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu

Jak je mozne ze to dataclasses neresi? Ma to funkce:

asdict
astuple

Tak proc to nema funkce:

fromdict
fromtuple

To mi vysvetli. Externi knihovnu muzu mit dycky na vsechno, ale proc to neumi ty dataclasses? Co to je za debilismus. Kdyz si budu chtit serializovat dataclass do souboru, tak si to pak jako deserializuju jak? To i Java ma zabudovanou serializaci a deserializaci.

To je jedna vec. Druha vec je, ze kdyz uz jsi ten jednoduchy Pythonista, tak to cos mi dal je moc slozite. Tahle jednoducha libka je mnohem lepsi:

Kód: [Vybrat]
from dataclasses import dataclass, asdict
from dacite import from_dict


@dataclass
class Person:
    fname: str = None
    lname: str = None
    cock: float = None


p = Person('Josef', 'Maly', 5.5)
pd = asdict(p)
pnew = from_dict(Person, pd)

assert p == pnew

Re:Doporučte programovací jazyk pro Windows
« Odpověď #283 kdy: 15. 03. 2020, 13:07:59 »
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu

Jak je mozne ze to dataclasses neresi? Ma to funkce:

protoze je urcena k necemu jinemu? Vubec neresi runtime validaci dat z venku. Fakt se na to vyser jestli tohle nechapes.

Re:Doporučte programovací jazyk pro Windows
« Odpověď #284 kdy: 15. 03. 2020, 13:13:14 »
Tahle jednoducha libka je mnohem lepsi:

ale neumi automaticke prejmenovani atributu.

 

reklama