I’ve currently written this document as a “note to self” about how the Android
AsyncTask works. It’s currently incomplete, but if you want to know how an AsyncTask works, most of the answers are generally here. I provide documentation for most aspects of the
AsyncTask, though my coverage of (a) updating progress/status and (b) canceling an
AsyncTask is a little weak atm.
“Two steps are required to write a good piece of code. The first step is to get the algorithm right. The second step is to figure out which sorts of things (types) it works for.”
From the “Deriving a Generic Algorithm” chapter in the book, From Mathematics to Generic Programming.
I like the statement in this image because it says something I’ve always thought: Your design of the data types show that you understand the problem (or not). Every time I start writing code without understanding the problem, I waste a lot of time. (If you don’t understand the problem, exactly what code are you going to write?)
If you’re interested in the details of how Scala works, such as its compiler, this medium.com article by Grzegorz Kossakowski is a good read. In the summary he states:
“I believe the architecture of Hack’s highly parallel and distributed typechecker can be stolen and brought to Scala. Scala’s rich type system poses some challenges that Hack’s typechecker implementators didn’t need to worry about but I don’t see inferred return types or path-depent types as showstoppers.”