Examples of unlearning
I was being interviewed for our college’s software research lab during my masters, and I claimed that my strength is: “… the ability to learn, unlearn, and relearn.”
I knew back then too, that this was an important ability and I try to work on improving it.
It’ll be nice to have a list of what I had to unlearn and replace with a new learning.
Unlearned the behaviour of equals operator (
Learning Elixir made me do it. In Elixir,
= doesn’t do assignment but does pattern matching, hence it is called a match operator.
As Dave Thomas identified, Joe Armstrong, Erlang’s creator compares the equals in Erlang to that used in algebra.
x = a + 1 is not meant to assign the value of
a + 1 to
x, but it asserts that
a + 1 are equal.
So, if you know the value of
a, you can find out the value of the other.
His point is that you had to unlearn the algebraic meaning of = when you first came across assignment in imperative programming languages. Now’s the time to un-unlearn it.
– Dave Thomas, in Programming Elixir