Principle of Least Power (Scala)
In this video Martin Odersky shares an analogy of using a stapler when you need a stapler (not a power tool). He highly recommends reading Li Haoyi’s article, Principle of Least Power.
In this video Martin Odersky shares an analogy of using a stapler when you need a stapler (not a power tool). He highly recommends reading Li Haoyi’s article, Principle of Least Power.
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.”