SIMD - neboli Single Instruction, Multiple Data - znamená, že procesor může jednou instrukcí zpracovat více datových prvků najednou. Typicky to znamená, že místo sčítání dvou čísel přičtete dvě sady čísel paralelně. To může přinést výrazné zrychlení například při zpracování obrazu, audia nebo numerických výpočtů. Pokud již SIMD znáte, tato tabulka je vše, co budete potřebovat. A pokud s SIMD teprve začínáte, tabulku pochopíte do konce tohoto článku
Společnost Serif, tvůrce oblíbených programů Affinity Designer, Affinity Photo a Affinity Publisher, oznámila, že celý balík Affinity Studio je nyní zcela zdarma. Krok přichází krátce po převzetí firmou Canva a znamená zásadní obrat v nabídce profesionálního grafického softwaru.
GPUI Component je open-source Rust knihovna rozšiřující framework GPUI o více než 60 moderních, nativních a multiplatformních UI komponent. Staví na deklarativním přístupu, stateless renderování a jednoduchém API inspirovaném Reactem či Yew. Díky optimalizovanému výkonu, podpoře témat a flexibilním layoutům umožňuje rychlý vývoj desktopových aplikací, jako je například trading nástroj Longbridge Pro. Knihovna je licencována pod Apache 2.0 a dostupná na GitHubu.
S mixinem Enumerable se dají v Ruby také dělat podobné a i jiné výborné kousky. Module: Enumerable [ruby-docs.org]
Tohle jde dnes delat skoro v kazdem jazyce, treba i v C#.
Jo, ale v Ruby to není typesafe…
Mám pocit, že o Scale tu čtu čím dál častěji. Nedávno jsem někoho slyšel prorokovat, že Scala je budoucnost :-)
Ano. http://stuffthathappens.com/blog/wp-content/uploads/2008/01/scala-hype.png
[0..10]
|> List.map (fun i -> i * 2)
ešte ma napadlo keď rozšírim typ List o metódu map
type List<‚a> with member l.map (f) = List.map f l
tak sa môžem použiť podobný zápis ako v CoddeScripte
[0..10].map (fun i -> i * 2)
Na jednu stranu, něco na tom je. Javu jsem už nechtěl a do Ruby, Pythonu apod. jsem se nechtěl pouštět kvůli dynamickému typování.
Na druhou stranu, Scala tu přecejen má svoje místo. Napadají mě třeba automatické konverze, které dovedou čistým způsobem nahradit monkey patching. (Prý jsou pro Ruby taky plánovány, ale dají se čekat ztráty výkonu – implementovat to bez ztráty výkonu je se statickým jazykem mnohem jednodušší. A navíc, inovativní je zde Scala…) Taky si vzpomínám na blogpost autora Groovy (takové Ruby pro Javisty), kde Scalu chválil: http://macstrac.blogspot.com/2009/04/scala-as-long-term-replacement-for.html