Typový system versus unittesty

Gődel

Re:Typový system versus unittesty
« Odpověď #285 kdy: 21. 06. 2018, 14:16:46 »
Ano, teď se čeká, až SB a Kit dodají důkazy svých tvrzení. Trochu to začíná připomínat debatu Čada vs. Virius, kde prvně jmenovaný přestal se snahou dokládat svá uhozená tvrzení.
Které z mých tvrzení potřebuješ doložit?
Třeba toto: "Jenže s implicitním typováním si vystačím jen u primitivních funkcí. Jakmile budu vytvářet cokoli složitějšího, musím si nadefinovat vlastní typy." Ani ne doložit, spíš objasnit. Implicitní typování nevylučuje vlastní typy, takže můžeme zůstat u první věty.


v

Re:Typový system versus unittesty
« Odpověď #286 kdy: 21. 06. 2018, 14:24:37 »
Implicitní typování
co to vlastně je? implicitní přetypování? jako "implicit type cast"/"implicit type conversion"?

Kit

Re:Typový system versus unittesty
« Odpověď #287 kdy: 21. 06. 2018, 14:26:22 »
Které z mých tvrzení potřebuješ doložit?
Třeba toto: "Jenže s implicitním typováním si vystačím jen u primitivních funkcí. Jakmile budu vytvářet cokoli složitějšího, musím si nadefinovat vlastní typy." Ani ne doložit, spíš objasnit. Implicitní typování nevylučuje vlastní typy, takže můžeme zůstat u první věty.

Měl jsem za to, že signatury funkcí jsou například v Haskellu povinné nebo přinejmenším doporučené.

Gődel

Re:Typový system versus unittesty
« Odpověď #288 kdy: 21. 06. 2018, 14:27:32 »
Jinak čistě pragmaticky - v případě Swiftu proběhla diskuse, jestli podporovat HKT, protože "jsou moc složité a málokdo jim rozumí" (což je určitě pravda). Úplně stejnou věc debatovali tvůrci Rustu ("skoro nikdo to není schopen pochopit, takže se to nebude používat"). Haskellisti si tuto otázku nějak moc nekladli, pročež má teď Haskell nálepku esoterického a akademického jazyka, protože naučit se jej nad rámec povrchního seznámení se syntaxí zvládne jen zlomek lidí, co se považují za programátory (i když určitě by to dalo 100% teoretických fyziků například). V tomto vlákně se opět manifestuje staré známé "nejsem-li něco schopen pochopit, je to k ničemu". Aneb na co používat bagr, když mám lopatu...

Gődel

Re:Typový system versus unittesty
« Odpověď #289 kdy: 21. 06. 2018, 14:28:36 »
Které z mých tvrzení potřebuješ doložit?
Třeba toto: "Jenže s implicitním typováním si vystačím jen u primitivních funkcí. Jakmile budu vytvářet cokoli složitějšího, musím si nadefinovat vlastní typy." Ani ne doložit, spíš objasnit. Implicitní typování nevylučuje vlastní typy, takže můžeme zůstat u první věty.

Měl jsem za to, že signatury funkcí jsou například v Haskellu povinné nebo přinejmenším doporučené.
nejsou povinné


Gődel

Re:Typový system versus unittesty
« Odpověď #290 kdy: 21. 06. 2018, 14:30:33 »
Implicitní typování
co to vlastně je? implicitní přetypování? jako "implicit type cast"/"implicit type conversion"?
Ne, jde o deklarace. Nezná-li někdo definici, Google napoví ("implicit typing").

SB

Re:Typový system versus unittesty
« Odpověď #291 kdy: 21. 06. 2018, 14:37:17 »
Ano, teď se čeká, až SB a Kit dodají důkazy svých tvrzení...

Které tvrzení potřebujete dokázat ode mě?

v

Re:Typový system versus unittesty
« Odpověď #292 kdy: 21. 06. 2018, 14:41:15 »
Měl jsem za to, že signatury funkcí jsou například v Haskellu povinné nebo přinejmenším doporučené.
povinné nejsou, jsou nutné u některých zvláštních případů (co vím tak teba pattern matching na některých GADTs) a silně se doporučují u funkcí exportovaných z modulu

v

Re:Typový system versus unittesty
« Odpověď #293 kdy: 21. 06. 2018, 14:41:49 »
Implicitní typování
co to vlastně je? implicitní přetypování? jako "implicit type cast"/"implicit type conversion"?
Ne, jde o deklarace. Nezná-li někdo definici, Google napoví ("implicit typing").
děkuji

Gődel

Re:Typový system versus unittesty
« Odpověď #294 kdy: 21. 06. 2018, 14:48:51 »
Implicitní typování
co to vlastně je? implicitní přetypování? jako "implicit type cast"/"implicit type conversion"?
Ne, jde o deklarace. Nezná-li někdo definici, Google napoví ("implicit typing").
děkuji
Není samozřejmě zač. Jinak implicitní přetypování (nebo jen typová aserce) se toho také výslovně týká. Nicméně pořád zůstává, že dynamické typování a kontrola typů při překladu se nijak nevylučují. Na druhou stranu je-li k dispozici ta aserce, nepotřebuju "čistý" OO runtime, protože obecně čím pozdnější vazba, tím hůře (krom oprávněných případů pochopitelně, těch je ale jak šafránu). Někdy mám pocit, že lidi zkazilo C++ a dorazila to Java.

Gődel

Re:Typový system versus unittesty
« Odpověď #295 kdy: 21. 06. 2018, 14:50:32 »
Měl jsem za to, že signatury funkcí jsou například v Haskellu povinné nebo přinejmenším doporučené.
silně se doporučují u funkcí exportovaných z modulu
To mi přijde jako samozřejmé, protože jsou součástí dokumentace. Ale možná jsem jen v tomto ohledu naivní a programátoři nad sebou potřebují bič 24/7...

Gődel

Re:Typový system versus unittesty
« Odpověď #296 kdy: 21. 06. 2018, 14:50:58 »
Ano, teď se čeká, až SB a Kit dodají důkazy svých tvrzení...
Které tvrzení potřebujete dokázat ode mě?
Radši nic.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Typový system versus unittesty
« Odpověď #297 kdy: 21. 06. 2018, 14:51:41 »
Jinak čistě pragmaticky - v případě Swiftu proběhla diskuse, jestli podporovat HKT, protože "jsou moc složité a málokdo jim rozumí" (což je určitě pravda). Úplně stejnou věc debatovali tvůrci Rustu ("skoro nikdo to není schopen pochopit, takže se to nebude používat"). Haskellisti si tuto otázku nějak moc nekladli, pročež má teď Haskell nálepku esoterického a akademického jazyka, protože naučit se jej nad rámec povrchního seznámení se syntaxí zvládne jen zlomek lidí, co se považují za programátory (i když určitě by to dalo 100% teoretických fyziků například). V tomto vlákně se opět manifestuje staré známé "nejsem-li něco schopen pochopit, je to k ničemu". Aneb na co používat bagr, když mám lopatu...
No tak nemusím být ani nijak zvlášť inteligentní. Tak tomu prostě dám pár hodin navíc no.

Pamatuju si, jak jsem kolegovi vysvětloval, proč je jako docela fajn v konstruktoru testovat vstupní hodnoty; že jinak to balit do třídy nemá smysl. Strašně se kroutil. Je docela chytrý, ale celou svou inteligenci vyčerpal na to, aby mi dokázalmě uhádal, že to tak není.

Gődel

Re:Typový system versus unittesty
« Odpověď #298 kdy: 21. 06. 2018, 14:53:56 »
Jinak čistě pragmaticky - v případě Swiftu proběhla diskuse, jestli podporovat HKT, protože "jsou moc složité a málokdo jim rozumí" (což je určitě pravda). Úplně stejnou věc debatovali tvůrci Rustu ("skoro nikdo to není schopen pochopit, takže se to nebude používat"). Haskellisti si tuto otázku nějak moc nekladli, pročež má teď Haskell nálepku esoterického a akademického jazyka, protože naučit se jej nad rámec povrchního seznámení se syntaxí zvládne jen zlomek lidí, co se považují za programátory (i když určitě by to dalo 100% teoretických fyziků například). V tomto vlákně se opět manifestuje staré známé "nejsem-li něco schopen pochopit, je to k ničemu". Aneb na co používat bagr, když mám lopatu...
No tak nemusím být ani nijak zvlášť inteligentní. Tak tomu prostě dám pár hodin navíc no.
Jen jsem volně citoval, nicméně asi skutečně existují lidé, co nechápou třeba jen funkce vyššího řádu. A i ti píšou komerční kód.

Gődel

Re:Typový system versus unittesty
« Odpověď #299 kdy: 21. 06. 2018, 14:58:03 »
[...]
P.S. Jinak to není jen v IT, divil byste se, jak málo lidí je schopno pochopit například podvojné účetnictví.