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

Stran: 1 [2] 3 4 5
16
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 13. 03. 2020, 07:17:21 »

Dost z těch odkazů nefunguje (hlavně ty na wikipedii, zřejmě chyba paste na root.cz), některé jsou dost staré (https://dl.acm.org/doi/10.1145/97946.97964 z roku 1990 je už skutečně rarita),  ale ať se někam dostaneme, vybral jsem z ANGLICKE Wikipedie (přeci jen českou považuji za méně relevantní) pár populárních dynamických jazyků a vykopíroval z nich Typing discipline:

Python: Typing discipline   Duck, dynamic, gradual (since 3.5)
Perl: Typing discipline   Dynamic
PHP: Typing discipline   Dynamic, weak
Javascript: Typing discipline   Dynamic, duck
Ruby: Typing discipline   Duck, dynamic, strong

U dvou z pěti je uvedené  Weak/Strong. U žádného z těch dvou se už to slovo nevyskytuje kdekoliv jinde v textu, chybí vysvětlení "Proč".
 
Ale OK, podle tvých odkazů to skutečně vypadá, že se pojmy Strong/Weak stále ještě leckde používají, přes veškerou jejich nejednoznačnost (viz https://en.wikipedia.org/wiki/Strong_and_weak_typing). Já se od dynamicky typovaných jazyků přesunul časem spíš ke staticky typovaným jazykům, a v té komunitě se tyhle pojmy prakticky nevyskytují právě pro jejich nepřesnost.

Za sebe doufám, že jejich používání bude postupně opadat, když máme k dispozici slovník přesně popisující konkrétní vlastnosti typových systémů jednotlivých jazyků. Protože když mi teď někdo řekne "X je silně typovaný", tak to pro mě nemá žádnou vypovídací hodnotu vzhledem k tomu, že "strongly" má spoustu různých významů.

17
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 12. 03. 2020, 21:17:50 »
Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.

Citation needed. Mezitím si můžeš přečíst třeba https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed, speciálně odstavec "Strong vs weak" v první odpovědi, která má > 500 upvotes.

Dokonce koukám, že v tom vlákně si někdo (https://stackoverflow.com/a/2690596/3220468) myslí to samé co ty. Jeho názor má 15 upvotes. Tolik asi o tom jak je ten termín "obecně používán a přijímán" v tom smyslu, ve kterém to tvrdíš ty.

a) je to stará diskuse b) že s něčím souhlasí většina neznamená, že je to pravda c) ty odpovědi nebyly dány ve stejný čas, takže to porovnání hlasování nedává smysl d) píše se tam např. nesmysl jako "It is very rare to hear someone talk about a "strong" or "weak" dynamic type system." Už jen to by ti mělo napovědět, že je to dávno překonané.

a) Ukaž novější. Zatím jsi neukázal nic, co by podporovalo to co tvrdíš, narozdíl ode mě.
b) Když tvrdíš, že je něco obecně (tedy většinou) přijímané, a přitom většina tvrdí opak, tak nemáš pravdu ty.
c) srsly? porovnání > 500 upvotes vs 16 upvotes (je milé, že jsi tam jeden přidal) nedává smysl, protože jedna odpověď je stará 3612 dní a jedna 3611 dní? To už je opravdu smutný argument.
d) To, že o tom často slyšíš mluvit sám sebe ještě neznamená, že to není extremely rare.

Zkus předložit nějaká podložená fakta místo dojmologie, která zakopává o realitu na každém kroku.

18
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 12. 03. 2020, 20:04:14 »
Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.

Citation needed. Mezitím si můžeš přečíst třeba https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed, speciálně odstavec "Strong vs weak" v první odpovědi, která má > 500 upvotes.

Dokonce koukám, že v tom vlákně si někdo (https://stackoverflow.com/a/2690596/3220468) myslí to samé co ty. Jeho názor má 15 upvotes. Tolik asi o tom jak je ten termín "obecně používán a přijímán" v tom smyslu, ve kterém to tvrdíš ty.

19
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 12. 03. 2020, 15:27:51 »
Rozdíl je právě v tom, zda při operaci s rozdílnými typy dojde k vyvolání výjímky (silné typy) nebo o automatické konverzi (slabé typy). Python má silné typy, protože v Pythonu hodnoty svůj typ automaticky nemění (s jednou výjimkou u Python 2, konverze int/long). Python je silně typovaný i u uživatelských typů.

Žádná formální definice silného a slabého typování neexistuje, viz https://en.wikipedia.org/wiki/Strong_and_weak_typing. Všude je to samé "colloquially", "generally", "may" a různé všelijak se překrývající definice různých autorů (koneckonců jednu jsi si tady navrhl i ty sám).

Mě přijde zajímavé

 - jestli má jazyk statický typový systém (Java, Haskell, Python s MyPy) a jak je silný (třeba program v Rustu, pokud nepoužívá undefined, zaručuje absenci data races a neplatných přístupů do paměti)
 - jestli má dynamický typový systém, tj. zda si s sebou nesou objekty informaci o svém typu za běhu, a do jaké míry (třeba v C se nedá hodnot za běhu ničeho doptat, v Pythonu mi každý objekt řekne, jakého je typu, v Javě mi může objekt říci, že je Array, ale už ne čeho protože type erasure atp.).
 - někomu dalšímu mohou připadat důležité další vlastnosti ze seznamu na uvedené wikistránce

Pojmy silný a slabý typový systém používám skutečně zřídka a neformálně, když nehrozí nějaké zmatení, rozhodně bych se tím tady neoháněl jako něčím všeobecně uznávaným.

Ta "automatická změna typu" o které tu mluvíš není slabé typování, ale koerce (hledej coercion na https://en.wikipedia.org/wiki/Type_conversion).

20
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 11. 03. 2020, 15:23:18 »
Koukám na to a skutečně máte pravdu. Divil bych se ale, kdyby nikdo do Smalltalku nezkusil  vyžadování a kontrolu kontraktů přidat.

Ono to "přidání kontraktů" vlastně znamená zavést nějakou formu statického typového systému, těch možností jak to udělat je milión a žádná není jednoznačně nejlepší. Jinak se ale něco takového zkoušelo ve Strongtalku, (http://www.strongtalk.org/) a uvažovalo se o tom i v Newspeaku (https://newspeaklanguage.org/)

21
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 10. 03. 2020, 20:53:53 »

Protokoly ve Smalltalku neřeší vcelku nic, je to jen kategorizace selektorů (metod), nic nevynucují (což je trošku škoda).

Dynamic dispatch má i Java, Python, prakticky každý OOP jazyk, to není žádná specialita Smalltalku.

Žil jsem v přesvědčení že protokoly můžou ve Smalltalku implementaci vyžadovat. Protože by mi přišlo ideální mít možnost volné vazby a volitelně vynucené implementace.

Slovo protokol jsem viděl ve Smalltalku používat ve dvou významech, jestli se pamatuju správně:

 - Neformálně např. při popisování (mluvení, čmárání na papír) nějaké objektové hierarchie, tj. "Objekt který se zde předá musí podporovat protokol Foo, tj. implementovat metody #foo a #fooAt:, které se nějak chovají", tedy něco významově podobného kontraktu.
 - Kategorie metod nějakého objektu (Accessors, testing, painting, ...), ta už je u každé metody uvedená, něco trochu podobného jako #region v C#, slouží jen pro zpřehlednění.

Kažopádně se nikde nic nevynucuje..

22
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 10. 03. 2020, 19:23:41 »
Proto má třeba Smalltalk dynamic dispatch a současně protokoly. Což řeší oba požadavky.

Protokoly ve Smalltalku neřeší vcelku nic, je to jen kategorizace selektorů (metod), nic nevynucují (což je trošku škoda).

Dynamic dispatch má i Java, Python, prakticky každý OOP jazyk, to není žádná specialita Smalltalku.

23
Bazar / Re:Prodám mechanickou klávesnici
« kdy: 10. 03. 2020, 17:55:03 »
Nevím jak to napsat abych nerozpoutal nějaký flame, ale vždycky se u takovýchto klávesnic divím, jak lidi tolik řeší taktilní vlastnosti jednotlivých kláves, ale přitom je jim úplně jedno, že klávesnice je hranatá a designovaná pro člověka, kterému zřejmě ruce vyrůstají z pupíku místo z ramen a místo prstů má hrábě. Pro mě je zásadní, aby mohly lokty, zápěstí a prsty při práci s klávesnicí být v co možná přirozené poloze, jak se o to snaží ergonomické klávesnice, k obdélníkové klávesnici už bych se vracet nikdy nechtěl, připadá mi to jak práce ve svěrací kazajce. Hmatová odezva kláves je pro mě taky důležitá, ale většinou nebývá tak katastrofální, abych kvůli tomu rezignoval na celkový tvar klávesnice..

24
Vývoj / Re:Segmentation fault
« kdy: 09. 03. 2020, 10:14:29 »
Užitečná rada: Zkus si to pustit ve Valgrindu, mohl by ti ukázat, kde špatně zacházíš s pamětí nebo máš nějaké race conditions.
Neužitečná rada: Přepiš to do Rustu :-)

25
Windows a jiné systémy / Re:GUI tookit pro Linux a Windows
« kdy: 04. 03. 2020, 11:43:50 »
Nakonec jsme se dohodli na tom Rustu ale zase jsme se rozhádali o tookitu.
Máme zatím 2 kandidáty: Gtk a Qt (zvláštní že kandidáti jsou ti kterým jsem se chtěl vyhnout).
Program chceme udělat pro Linux ale také aby to šlo dobře na Windows.
Docela se mi líbí jak jsem již zmiňoval GNOME aplikace (CSD, jejich návrhy).

Jestli Rust, tak skoro jednoznačně Gtk, bindingy na Qt jsou v bůhvíjakém stavu.
Koukni na crates relm a vgtk.

26
Desktop / Re:Jak použít xrandr v příkazové řádce?
« kdy: 04. 03. 2020, 11:42:44 »
Jen pro zajímavost, arandr (grafické klikátko k xrandr) umí vyexportovat nastavení monitorů jako xrandr skript, docela často to používám když si v arandr-u nastavím nějaký layout monitorů a pak si na to chci udělat klávesovou zkratku.

27
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 02. 03. 2020, 21:53:25 »
Rust

28
Windows a jiné systémy / Re:GUI tookit - jaký
« kdy: 02. 03. 2020, 17:02:39 »
Jak jsem psal v sousedním vlákně, existuje https://www.wxwidgets.org. Nativní widgety pro Windows i Linux, kdysi jsem to používal z  wxPython-u a líbilo se mi to. Dneska by mě vadilo, že jsou bindingy jen pro C++, Python, Perl a Haskell, ale kdyby to pro tebe nebyl problém, může to být dobrá volba.

29
Vývoj / Re:Multiplatformní Python GUI framework
« kdy: 29. 02. 2020, 15:13:00 »
Já mám dobré zkušenosti s wxPythonem (binding wxWidgets), i když už je to pár let dozadu. Bylo to dobře zdokumentované, promyšlené a má to rozsáhlou knihovnu widgetů. Líbí se mi, že to používá nativní widgety pro každou platformu, tj. na Windows to používá Windows widgety, na Linuxu GTK, na MacOs Aqua nebo jak se to tam jmenuje..

30
Vývoj / Re:Vala
« kdy: 27. 02. 2020, 21:04:18 »
Souhlasím s Ondrou, pokud by to mělo být v GTK (proč ne), udělal bych to v Go, Pythonu, Rustu apod. podle osobních preferencí, Vala je používaná marginálně.

Stran: 1 [2] 3 4 5