Zkušenosti s TypeScriptem

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #90 kdy: 29. 03. 2020, 15:15:05 »
No zrovna ten Smalltalk je dobrá ukázka toho, jak dynamické programování může být šikovné. Celé IDE je napsané samo v sobě, a za běhu modifikovatelné. Můžeš debugovat debugger a za běhu ho upravovat. Zeptáš se třídy na všechny její instance a pošleš jim zprávu (zavoláš metodu). Nic se neprogramuje do souborů, které se překládají a spustí, všechno neustále běží, žije, za běhu se přidávají a ubírají třídy, metody, .. Každá věc se dá inspectnout a pracovat s ní, měnit. Prožít si programování v takovém systému je skutečně mind bending zkušenost.
Když nad tím zauvažuješ, myslíš si, že by byl nějaký principielní problém do toho statické typování zavést? Jak by museli být omezené?

Mě se třeba v tomto líbí SQL (přirovnání trochu kulhá, vím). Že ti tam ty constrainty povolí vložit až poté, co ověří jejich funkčnost. Tak nějak si představuju statickému typování u živého systému.

Když vidím Python, Javascript atp., tak mi přijde, že si vzali to nejblbější z dynamického programování - absenci statických typů, což teď horko těžko dohánějí, a ze staticky typovaného programování - absenci pořádného živého explorativního prostředí, což už asi nedoženou nikdy, protože si ani nedovedou představit, co by se dalo dělat.

Jak chceš u statickeho programu měnit dynamicky třídy za běhu programu?


qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #91 kdy: 29. 03. 2020, 15:21:11 »
V souvislosti s tím bych rád upozornil, že jazyk C je dle žebříčku TIOBE stalé druhý nejoblíbenější jazyk. Používá se hodně a používám ho i já. Můžeme se tu bavit i o akademických jazycích, ale mě víc zajímá praxe, jsem pragmatický. Ergo každé platné tvrzení o statických typech musí být v souladu i s druhým nejoblíbenějším jazykem se statickými typy.
Fakt Te nefackuje hanba za takoveto demagogicke kydy?
To nejsou kydy, jen tu někdo nechápe, co to jsou statické typy a co je vlastnost statických typů a co je vlastnost jazyka. V diskusi o statických typech nelze ignorovat dominantní jazyk se statickými typy. Naopak, pomůže ti to rozlišovat vlastnosti typů a jazyka.

Re:Zkušenosti s TypeScriptem
« Odpověď #92 kdy: 29. 03. 2020, 15:28:09 »
Když nad tím zauvažuješ, myslíš si, že by byl nějaký principielní problém do toho statické typování zavést? Jak by museli být omezené?

Nějaké statické typování by šlo určitě:

http://www.strongtalk.org/

http://bracha.org/pluggableTypesPosition.pdf

Nejsem žádný vědec přes programovací jazyky, na otázku "jak by musely být omezené" nedovedu kvalifikovaně odpovědět.

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #93 kdy: 29. 03. 2020, 15:29:01 »
Neplatí  ;) U statických jazyků něco jako neošetřená větev (ideově samozřejmě) neexistuje.
To máš zásadně chybné ideje. Tohle je běžný omyl statických myslících programátorů, že když jim program projde statickou kontrolou, že ho mají ošetřený.
Nemám. Nic takového si nemyslím, nic takové jsem nenapsal.

A jak jinak se dá vykládat tvrzení, že "U statických jazyků něco jako neošetřená větev (ideově samozřejmě) neexistuje."?

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #94 kdy: 29. 03. 2020, 15:35:16 »
Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.
Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.
Když rostou, musí mít nějakou výhodu. Víme o zásadní nevýhodě, jsou méně efektivní, plýtvají zdroji, přesto se prosazují. V globálním měřítku si neumím představit jiné než ekonomické důvody. Násilím je nikdo neprosazuje, právě naopak, je tu spousta militantních statických programátorů.


qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #95 kdy: 29. 03. 2020, 15:40:48 »
Statické typy mají jediný smysl, umožňují výkonovou optimalizaci. Co se týče chybovosti, nejsou zárukou ničeho a to ani u ADY. Naopak typový systém je sám o sobě zdrojem dalších chyb v programu a to tím větší, čím je tento typový systém komplexnější.
Toto je nesmysl. Neodpovídá to mé každodenní zkušenosti.
Vypadlo mi slovo zaručený smysl. Tvá zkušenost je subjektivní a víme, že to neumíš s dynamickými jazyky a nechápeš je. Znovu opakuji, statické typy zaručují jedinou věc, možnost lepší výkonové optimalizace, jinak ti nezaručují vůbec nic.

Re:Zkušenosti s TypeScriptem
« Odpověď #96 kdy: 29. 03. 2020, 16:01:57 »
Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.
Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.
Když rostou, musí mít nějakou výhodu. Víme o zásadní nevýhodě, jsou méně efektivní, plýtvají zdroji, přesto se prosazují. V globálním měřítku si neumím představit jiné než ekonomické důvody. Násilím je nikdo neprosazuje, právě naopak, je tu spousta militantních statických programátorů.

Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.
Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.
Když rostou, musí mít nějakou výhodu. Víme o zásadní nevýhodě, jsou méně efektivní, plýtvají zdroji, přesto se prosazují. V globálním měřítku si neumím představit jiné než ekonomické důvody. Násilím je nikdo neprosazuje, právě naopak, je tu spousta militantních statických programátorů.

Že si neumíš představit jiné důvody je jen omezení tvojí představivosti, žádný důkaz. Co třeba to, že amatérští programátoři se dynamický jazyk snáze naučí? (z čehož nijak nevyplývá, že profesionál se staticky typovaným jazykem nebude ve spoustě projektů produktivnější)?   Nebo to, že každý webař je okamžitě vystaven javascriptu prostě proto, že ho implementují všechny browsery posledních 20 let narozdíl třeba od Elmu? Na to je tvoje fantazie krátká? Dovedeš dokázat, že lepší produktivita je mezi mnoha dalšími faktory (některé jsem právě uvedl) právě ten rozhodující důvod pro popularitu dynamických jazyků?

Nicméně mě tahle debata nepřijde přínosná, je snad evidentní, že každý přístup má svoje, žádný absolutní vítěz ve všech kategoriích není.  Militantním zastáváním dynamicky typovaných jazyků jim děláš medvědí službu.

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #97 kdy: 29. 03. 2020, 16:32:15 »
Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.
Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.
Když rostou, musí mít nějakou výhodu. Víme o zásadní nevýhodě, jsou méně efektivní, plýtvají zdroji, přesto se prosazují. V globálním měřítku si neumím představit jiné než ekonomické důvody. Násilím je nikdo neprosazuje, právě naopak, je tu spousta militantních statických programátorů.

Že je produktivita dynamických jazyků vyšší usuzuji z toho, že jsou globálně stále dominantnější.
Nechápu tvojí odvahu posuzovat produktivitu podle používanosti.
Když rostou, musí mít nějakou výhodu. Víme o zásadní nevýhodě, jsou méně efektivní, plýtvají zdroji, přesto se prosazují. V globálním měřítku si neumím představit jiné než ekonomické důvody. Násilím je nikdo neprosazuje, právě naopak, je tu spousta militantních statických programátorů.

Že si neumíš představit jiné důvody je jen omezení tvojí představivosti, žádný důkaz. Co třeba to, že amatérští programátoři se dynamický jazyk snáze naučí? (z čehož nijak nevyplývá, že profesionál se staticky typovaným jazykem nebude ve spoustě projektů produktivnější)?   Nebo to, že každý webař je okamžitě vystaven javascriptu prostě proto, že ho implementují všechny browsery posledních 20 let narozdíl třeba od Elmu? Na to je tvoje fantazie krátká? Dovedeš dokázat, že lepší produktivita je mezi mnoha dalšími faktory (některé jsem právě uvedl) právě ten rozhodující důvod pro popularitu dynamických jazyků?

Nicméně mě tahle debata nepřijde přínosná, je snad evidentní, že každý přístup má svoje, žádný absolutní vítěz ve všech kategoriích není.  Militantním zastáváním dynamicky typovaných jazyků jim děláš medvědí službu.

Ale ty důvody, které jsi uvedl mají v konečném důsledku své ekonomické důvody a dopady. Například se ekonomicky významně neprosadil žádný browser, který by používal staticky typovaný skriptovací jazyk. Když přišel Javascript, byl fantastický v tom, že jsi měl běžící prostředí prohlížeče plné různých objektů, které jsi mohl za běhu, tedy dynamicky, upravovat přes prototypovou dědičnost. Zamiloval jsem se do něj na první pohled. Dnes už ho můžeš používat i mimo prohlížeče.

A výsledek? Aplikace se dnes čím dál tím více přesouvají na webové prohlížeče. Webové prohlížeče se svým dynamickým Javascriptem vytvořily novou velmi úspěšnou platformu, která prakticky porazila zdánlivě neporazitelného molocha Microsoft, jenž na přelomu tisíciletí pevně držel a ovládal aplikační paltformu windows a zdálo se, že nemá konkurenci.

To se nestalo jen tak náhodně pro nic za nic a bez důvodu. Webové aplikace jsou ekonomicky výhodnější. A nelze přehlédnout, že spolu s tím na straně serveru zazářil další dynamický jazyk, PHP a to navzdory tomu, že byl dost špatně navržený. O dynamické prostředí byl a je nesmírný zájem a to ze strany producentů, protože spotřebitelům je technologické pozadí ukradené.

Jestliže se dynamický jazyk snáze učí, má jasnou ekonomickou výhodu, má nižší náklady. Takže ne, moje fantasie není na to krátká, jenom jsi to nedomyslel do konečných důsledků. Každý takový faktor má své ekonomické dopady a nikdo je nedovede exaktně spočítat. Ale celkový výsledek vidíme na výsledné globální úrovni používání jazyků.
« Poslední změna: 29. 03. 2020, 16:37:31 od qelurg »

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Zkušenosti s TypeScriptem
« Odpověď #98 kdy: 29. 03. 2020, 19:42:46 »
Pochopil jsem spoustu věcí (Prolog, Scheme, Smalltalk, OOP, FP). A když jsem to nepochopil, tak jsem alespoň cítil, že jsem si šáhl na hranice svých schopností (Haskell, závislostní typy).
Co přesně byl problém u závislostních typů?
Zatím se stále trochu ztrácím v té syntaxi a logice toho všeho. Hrubý obrys dejme tomu chápu, ale prostě v tom plavu. Takže ani nedokážu říct co přesně nedávám. Možná by mi pomohlo více praxe. Jaký jazyk by si doporučil?

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #99 kdy: 29. 03. 2020, 20:00:02 »
Pochopil jsem spoustu věcí (Prolog, Scheme, Smalltalk, OOP, FP). A když jsem to nepochopil, tak jsem alespoň cítil, že jsem si šáhl na hranice svých schopností (Haskell, závislostní typy).
Co přesně byl problém u závislostních typů?
Zatím se stále trochu ztrácím v té syntaxi a logice toho všeho. Hrubý obrys dejme tomu chápu, ale prostě v tom plavu. Takže ani nedokážu říct co přesně nedávám. Možná by mi pomohlo více praxe. Jaký jazyk by si doporučil?
Asi Agdu. Něco už má i Haskell, ale to neznám podrobně, takže nemůžu doporučit (nebo odrazovat). On ten aha moment přijde sám, když se člověk prokouše intuicionistickou logikou. Já si vždy závislostní typ překlopím v hlavě do logického výrazu, ten snáze pochopím a pak přejdu zpátky k typům :)

Re:Zkušenosti s TypeScriptem
« Odpověď #100 kdy: 29. 03. 2020, 20:23:49 »
Načo sú dobré tieto debaty? Ako vážne, k čomu to je?

Re:Zkušenosti s TypeScriptem
« Odpověď #101 kdy: 29. 03. 2020, 20:24:26 »
Ale ty důvody, které jsi uvedl mají v konečném důsledku své ekonomické důvody a dopady. Například se ekonomicky významně neprosadil žádný browser, který by používal staticky typovaný skriptovací jazyk. Když přišel Javascript, byl fantastický v tom, že jsi měl běžící prostředí prohlížeče plné různých objektů, které jsi mohl za běhu, tedy dynamicky, upravovat přes prototypovou dědičnost. Zamiloval jsem se do něj na první pohled. Dnes už ho můžeš používat i mimo prohlížeče.

A výsledek? Aplikace se dnes čím dál tím více přesouvají na webové prohlížeče. Webové prohlížeče se svým dynamickým Javascriptem vytvořily novou velmi úspěšnou platformu, která prakticky porazila zdánlivě neporazitelného molocha Microsoft, jenž na přelomu tisíciletí pevně držel a ovládal aplikační paltformu windows a zdálo se, že nemá konkurenci.

To se nestalo jen tak náhodně pro nic za nic a bez důvodu. Webové aplikace jsou ekonomicky výhodnější. A nelze přehlédnout, že spolu s tím na straně serveru zazářil další dynamický jazyk, PHP a to navzdory tomu, že byl dost špatně navržený. O dynamické prostředí byl a je nesmírný zájem a to ze strany producentů, protože spotřebitelům je technologické pozadí ukradené.
Mícháš různé věci dohromady. Webové aplikace jsou populární, protože běží na webu/v prohlížeči, ne protože se programují v Javascriptu. Ostatně přímo v tomto vlákně si dost lidí pochvaluje pro webové aplikace Typescript, tedy jazyk se statickým typovým systémem.

Jestliže se dynamický jazyk snáze učí, má jasnou ekonomickou výhodu, má nižší náklady.
Tenhle názor je stejná blbost jako tvrdit, že krumpáč a lopata mají jasnou ekonomickou výhodu oproti bagru, protože se snáze učí a tím pádem mají nižší náklady.

Takže ne, moje fantasie není na to krátká, jenom jsi to nedomyslel do konečných důsledků. Každý takový faktor má své ekonomické dopady a nikdo je nedovede exaktně spočítat. Ale celkový výsledek vidíme na výsledné globální úrovni používání jazyků.
Že je tvoje fantazie krátká jsem už ukázal, a důsledky evidentně nedomýšlíš ty. Asi jediné s čím z tvého příspěvku souhlasím je, že různé faktory nikdo nedovede exaktně spočítat. A tímto za sebe končím (doufám) tuto debatu, protože je to jak bojovat s logickou Hydrou, člověk ti vyvrátí jeden logický nesmysl a ty vymyslíš dva další, to nemám zapotřebí.

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #102 kdy: 29. 03. 2020, 21:02:05 »
Ale ty důvody, které jsi uvedl mají v konečném důsledku své ekonomické důvody a dopady. Například se ekonomicky významně neprosadil žádný browser, který by používal staticky typovaný skriptovací jazyk. Když přišel Javascript, byl fantastický v tom, že jsi měl běžící prostředí prohlížeče plné různých objektů, které jsi mohl za běhu, tedy dynamicky, upravovat přes prototypovou dědičnost. Zamiloval jsem se do něj na první pohled. Dnes už ho můžeš používat i mimo prohlížeče.

A výsledek? Aplikace se dnes čím dál tím více přesouvají na webové prohlížeče. Webové prohlížeče se svým dynamickým Javascriptem vytvořily novou velmi úspěšnou platformu, která prakticky porazila zdánlivě neporazitelného molocha Microsoft, jenž na přelomu tisíciletí pevně držel a ovládal aplikační paltformu windows a zdálo se, že nemá konkurenci.

To se nestalo jen tak náhodně pro nic za nic a bez důvodu. Webové aplikace jsou ekonomicky výhodnější. A nelze přehlédnout, že spolu s tím na straně serveru zazářil další dynamický jazyk, PHP a to navzdory tomu, že byl dost špatně navržený. O dynamické prostředí byl a je nesmírný zájem a to ze strany producentů, protože spotřebitelům je technologické pozadí ukradené.
Mícháš různé věci dohromady. Webové aplikace jsou populární, protože běží na webu/v prohlížeči, ne protože se programují v Javascriptu. Ostatně přímo v tomto vlákně si dost lidí pochvaluje pro webové aplikace Typescript, tedy jazyk se statickým typovým systémem.

Ty jsi ohromě prostoduchý. Je to Javascript (obecně dynamický jazyk), který umožnil udělat z webového prohlížeče úspěšnou a oblíbenou aplikační platformu. Můžeš také na to pohlížet také obráceně, že princip dynamických jazyků si stvořil úspěšnou platformu ke svému provozu, kde statické jazyky neuspěly, viz java applety.  Ne že by nedokázaly to co javascript, jen byly zkostnatělé, nepohodlné, neproduktivní, omezující - prostě drahé, neuspěly ekonomicky. Poučný je v tomto směru také vývoj html jazyka a souboj xhtml a html 5. Tedy striktního přísného jazyka s jednoduchou validací pro stroje versus uvolněného jazyka nikoliv pro potřeby stoj, ale pro potřeby lidí. TypeScript je jazyk s dynamickým typovým systémem, který má volitelné statické anotace (což má i Python a nedělá to z něj statický jazyk) a který se kompiluje do dynamického javascriptu. V žebříčku TIOBE zaujímá skvělé 43 místo. Dokonce i lisp je úspěšnější.

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Zkušenosti s TypeScriptem
« Odpověď #103 kdy: 29. 03. 2020, 21:14:56 »
Jestliže se dynamický jazyk snáze učí, má jasnou ekonomickou výhodu, má nižší náklady.
Tenhle názor je stejná blbost jako tvrdit, že krumpáč a lopata mají jasnou ekonomickou výhodu oproti bagru, protože se snáze učí a tím pádem mají nižší náklady.
Taky že lopata s krumpáčem mají jasnou ekonomickou výhodu. To jsi konečně něco pochopil i ty. Proto mám na chalupě krumpáč s lopatou a nikoliv bagr. Ale jinak ti to srovnání kulhá, protože dynamické jazyky ti obecně nabízí vyšší produktivitu, což u krumpáče neplatí. Na druhou stranu s krumpáčem můžeš vykopat co bagr byť někdy za cenu velkého úsilí a navíc dostaneš se s ním i na místa, na která se bagr nedostane, kdežto v IT jsou některé domény, na které jsou dynamické jazyky zatím krátké. Moc dobré srovnání jsi nevybral. Ale když už, bagry jsou hadr, já sázím na kolesová rypadla.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Zkušenosti s TypeScriptem
« Odpověď #104 kdy: 29. 03. 2020, 21:16:26 »
Načo sú dobré tieto debaty? Ako vážne, k čomu to je?
Komentáře některých jsou nutným zlem. Chodíme sem pro komentáře jiných.