Kniha Objektové programování od Čady

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Kniha Objektové programování od Čady
« Odpověď #120 kdy: 31. 05. 2017, 10:33:46 »

Javascript je čitelnější než Lisp. JSON, CSS a HTML jsou čitelnější než s-expressions. Lisp měl smysl v sedmdesátých letech, kdy jiné jazyky neumožňovaly zápis složitějších struktur a interaktivní použití. Javascript to umožňuje a IMHO lépe.

Javascript je krutá pomsta. Nevím koho, nevím komu, ale opravdu krutá. Nebo něčí odporný žert. Používat ho na skriptování nějakých animací na webu, dejme tomu, ale aplikační jazyk? Proboha. Už jen to doporučované formátování, dávat bracket na stejný řádek jako function nebo if, to je zjevně něčí zlý úmysl.
Jazyky se dají hodnotit podle (akademické) čistoty a pragmatičnosti. Takový Haskell je až matematicky "čistý", ale nepříliš pragmatický. Go je třeba naopak vysoce pragmatické, ale na teorii CS zvysoka - ehm - kašle. JS je vzácný příklad jazyka, co není ani "čistý", ani pragmatický. Fakt je to pomsta :) nebo rafinovaný nástroj k odhalování trotlů (IF likes Javascript THEN is thicko)  ;)


Kit

Re:Kniha Objektové programování od Čady
« Odpověď #121 kdy: 31. 05. 2017, 10:35:31 »

Javascript je čitelnější než Lisp. JSON, CSS a HTML jsou čitelnější než s-expressions. Lisp měl smysl v sedmdesátých letech, kdy jiné jazyky neumožňovaly zápis složitějších struktur a interaktivní použití. Javascript to umožňuje a IMHO lépe.

Javascript je krutá pomsta. Nevím koho, nevím komu, ale opravdu krutá. Nebo něčí odporný žert. Používat ho na skriptování nějakých animací na webu, dejme tomu, ale aplikační jazyk? Proboha. Už jen to doporučované formátování, dávat bracket na stejný řádek jako function nebo if, to je zjevně něčí zlý úmysl.

Nevidím důvod, proč by měl být bracket na samostatném řádku. Otevírací píši vždy na konci aktuálního řádku a následující řádky odsadím. Zatím mi nikdo nezdůvodnil, proč to psát jinak.

BTW: Nedělal jsem to ani v Pascalu. Begin si prostě nezaslouží samostatný řádek.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Kniha Objektové programování od Čady
« Odpověď #122 kdy: 31. 05. 2017, 10:35:58 »
Navíc když je někdo pablb, tak zprasí dotazy do DB i bez ORM.
Určitě. Ale ORM framework mu v tom mocně sekunduje a pěkně za ručičku vede do pekla ;) Čím jednodušší na použití, tím horší.
To asi jo, mám vlastní zkušenost s jedním  "juniorem", co za použití automatického ORM dával do DB objekty dědící z UIView  >:(

Re:Kniha Objektové programování od Čady
« Odpověď #123 kdy: 31. 05. 2017, 10:38:33 »
JS je vzácný příklad jazyka, co není ani "čistý", ani pragmatický.
JS byl celkem pragmatický a relativně OK ve svém původním účelu: jednořádkový handler kliknutí někam. Že se z něj pak stal jazyk, ve kterém se budují dnešní webové jaderné elektrárny, je jiná věc, spíš historická nahodilost.

Mně spíš doteď není jasný, proč se výrobci prohlížečů nemůžou domluvit na nějakém bytecodu+standardizovaném VM typu CLR, aby se konečně toho JS dalo elegantně zbavit bez transpilace...

gll

Re:Kniha Objektové programování od Čady
« Odpověď #124 kdy: 31. 05. 2017, 10:39:25 »
Django nepoužívám, ale limit funguje normálně, joiny přes loop to neprovádí a pro efektivní save jde použít bulk_save. Má to mouchy, proto jsem přešel na SQLAlchemy. Ale to co píšete, není pravda.
O limitu jsem nic nepsal. Problém ORM frameworků je, že si člověk "snadno" kdekoliv v kódu šáhne pro cokoliv jako by to byla lokální proměnná a vůbec neřeší, jak ve skutečnosti budou vypadat ty dotazy, jaká s tím bude režie. V tom je ten ďábel v detailu.

To stejné byste mohl napsat o každé technologii přidávající úroveň abstrakce. Když to používáte správně, ušetří vám to spoustu práce. Zejména pokud dlouhodobě pracujete se složitější databází a provádíte často podobné, ale ne úplně stejné dotazy. Kdybyste měl stále dokola zapisovat ty stejné joiny, tak byste se z toho zbláznil.


zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Kniha Objektové programování od Čady
« Odpověď #125 kdy: 31. 05. 2017, 10:41:16 »
JS je vzácný příklad jazyka, co není ani "čistý", ani pragmatický.
JS byl celkem pragmatický a relativně OK ve svém původním účelu: jednořádkový handler kliknutí někam. Že se z něj pak stal jazyk, ve kterém se budují dnešní webové jaderné elektrárny, je jiná věc, spíš historická nahodilost.

Mně spíš doteď není jasný, proč se výrobci prohlížečů nemůžou domluvit na nějakém bytecodu+standardizovaném VM typu CLR, aby se konečně toho JS dalo elegantně zbavit bez transpilace...
Ona ta transpilace do JS nevadí, transpiler si většinou nestěžuje, že musí generovat prasokód (pokud to je program, ne nějaký Ind).

Tomáš Roll

Re:Kniha Objektové programování od Čady
« Odpověď #126 kdy: 31. 05. 2017, 10:43:45 »
Každých 10 let se v Berlíně setkají největší zlouni světa domlouvají se, jak uškodit lidstvu.
"Vyhodíme do povětří Eiffelovu věž"
"Ne, mám něco lepšího, otrávíme všechny obyvatele Moskvy"
"Ne, to je nic. Uděláme z Javascriptu objektový jazyk"

Re:Kniha Objektové programování od Čady
« Odpověď #127 kdy: 31. 05. 2017, 10:44:49 »
To stejné byste mohl napsat o každé technologii přidávající úroveň abstrakce. Když to používáte správně, ušetří vám to spoustu práce. Zejména pokud dlouhodobě pracujete se složitější databází a provádíte často podobné, ale ne úplně stejné dotazy. Kdybyste měl stále dokola zapisovat ty stejné joiny, tak byste se z toho zbláznil.
Ne. Problém není v abstrakci, problém je v abstrakci takového typu, že spousta jejich uživatelů nedokáže sestoupit o úroveň níž a říct, co přesně tohle udělá. Čili efektivně ztratí schopnost uvažovat nad vlastním kódem, což je ten problém.

Např. parametrizovaná fce, která zastupuje nějaký složitější dotaz, který ale má konkrétní účel a konkrétní, všem známou formu, je úplně v pohodě. To je abstrakce úplně jiného typu než když mám třeba ultramagický proxy objekt, který teprve při přístupu k atributu tahá data z DB, nikdo neví v jakém rozsahu a jak často, jakými joiny, s jakými náklady...

v

Re:Kniha Objektové programování od Čady
« Odpověď #128 kdy: 31. 05. 2017, 10:45:54 »

Javascript je čitelnější než Lisp. JSON, CSS a HTML jsou čitelnější než s-expressions. Lisp měl smysl v sedmdesátých letech, kdy jiné jazyky neumožňovaly zápis složitějších struktur a interaktivní použití. Javascript to umožňuje a IMHO lépe.

Javascript je krutá pomsta. Nevím koho, nevím komu, ale opravdu krutá. Nebo něčí odporný žert. Používat ho na skriptování nějakých animací na webu, dejme tomu, ale aplikační jazyk? Proboha. Už jen to doporučované formátování, dávat bracket na stejný řádek jako function nebo if, to je zjevně něčí zlý úmysl.
Jazyky se dají hodnotit podle (akademické) čistoty a pragmatičnosti. Takový Haskell je až matematicky "čistý", ale nepříliš pragmatický. Go je třeba naopak vysoce pragmatické, ale na teorii CS zvysoka - ehm - kašle. JS je vzácný příklad jazyka, co není ani "čistý", ani pragmatický. Fakt je to pomsta :) nebo rafinovaný nástroj k odhalování trotlů (IF likes Javascript THEN is thicko)  ;)
co je v tomto kontextu "pragmatičnost"?

Re:Kniha Objektové programování od Čady
« Odpověď #129 kdy: 31. 05. 2017, 10:47:11 »
Ona ta transpilace do JS nevadí, transpiler si většinou nestěžuje, že musí generovat prasokód (pokud to je program, ne nějaký Ind).
To ne, ale zbytečně to transpiler limituje a dává (nejspíš) o hodně nižší výkon. Zbytečně se řeší úplně zbytečná dilemmata typu "mám generovat čitelný JS (PureScript) nebo pohodlný/efektivní JS (Elm)" atd. atd.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Kniha Objektové programování od Čady
« Odpověď #130 kdy: 31. 05. 2017, 10:58:30 »
Ona ta transpilace do JS nevadí, transpiler si většinou nestěžuje, že musí generovat prasokód (pokud to je program, ne nějaký Ind).
To ne, ale zbytečně to transpiler limituje a dává (nejspíš) o hodně nižší výkon. Zbytečně se řeší úplně zbytečná dilemmata typu "mám generovat čitelný JS (PureScript) nebo pohodlný/efektivní JS (Elm)" atd. atd.
Možná, ale JS na serveru je krávovina a v prohlížeči už to může být jedno, navíc Safari, Chrome etc. mají poměrně rychlý JS.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Kniha Objektové programování od Čady
« Odpověď #131 kdy: 31. 05. 2017, 11:02:30 »

Javascript je čitelnější než Lisp. JSON, CSS a HTML jsou čitelnější než s-expressions. Lisp měl smysl v sedmdesátých letech, kdy jiné jazyky neumožňovaly zápis složitějších struktur a interaktivní použití. Javascript to umožňuje a IMHO lépe.

Javascript je krutá pomsta. Nevím koho, nevím komu, ale opravdu krutá. Nebo něčí odporný žert. Používat ho na skriptování nějakých animací na webu, dejme tomu, ale aplikační jazyk? Proboha. Už jen to doporučované formátování, dávat bracket na stejný řádek jako function nebo if, to je zjevně něčí zlý úmysl.
Jazyky se dají hodnotit podle (akademické) čistoty a pragmatičnosti. Takový Haskell je až matematicky "čistý", ale nepříliš pragmatický. Go je třeba naopak vysoce pragmatické, ale na teorii CS zvysoka - ehm - kašle. JS je vzácný příklad jazyka, co není ani "čistý", ani pragmatický. Fakt je to pomsta :) nebo rafinovaný nástroj k odhalování trotlů (IF likes Javascript THEN is thicko)  ;)
co je v tomto kontextu "pragmatičnost"?

"[A]n approach that evaluates theories or beliefs in terms of the success of their practical application."

Člověk by řekl, že to bude jedna škála se dvěma protipóly, ale "díky" JS to jsou dvě nezávislé veličiny.

gll

Re:Kniha Objektové programování od Čady
« Odpověď #132 kdy: 31. 05. 2017, 11:02:52 »

Javascript je čitelnější než Lisp. JSON, CSS a HTML jsou čitelnější než s-expressions. Lisp měl smysl v sedmdesátých letech, kdy jiné jazyky neumožňovaly zápis složitějších struktur a interaktivní použití. Javascript to umožňuje a IMHO lépe.

Javascript je krutá pomsta. Nevím koho, nevím komu, ale opravdu krutá. Nebo něčí odporný žert. Používat ho na skriptování nějakých animací na webu, dejme tomu, ale aplikační jazyk? Proboha. Už jen to doporučované formátování, dávat bracket na stejný řádek jako function nebo if, to je zjevně něčí zlý úmysl.

Stejné formátování se používá i v Javě. Když takový kód nedokážete číst, tak hledejte chybu na sebě a ne v JS.

gll

Re:Kniha Objektové programování od Čady
« Odpověď #133 kdy: 31. 05. 2017, 11:05:55 »
oprava

Javascript je čitelnější než Lisp. JSON, CSS a HTML jsou čitelnější než s-expressions. Lisp měl smysl v sedmdesátých letech, kdy jiné jazyky neumožňovaly zápis složitějších struktur a interaktivní použití. Javascript to umožňuje a IMHO lépe.

Javascript je krutá pomsta. Nevím koho, nevím komu, ale opravdu krutá. Nebo něčí odporný žert. Používat ho na skriptování nějakých animací na webu, dejme tomu, ale aplikační jazyk? Proboha. Už jen to doporučované formátování, dávat bracket na stejný řádek jako function nebo if, to je zjevně něčí zlý úmysl.

Stejné formátování se používá i v Javě. Když takový kód nedokážete číst, tak hledejte chybu na sobě a ne v JS.

Tomáš Roll

Re:Kniha Objektové programování od Čady
« Odpověď #134 kdy: 31. 05. 2017, 11:08:56 »

Stejné formátování se používá i v Javě. Když takový kód nedokážete číst, tak hledejte chybu na sobě a ne v JS.

To je jako vypíchnout svému dítěti oči, aby bylo psychicky silnější.