Here’s a link to Github’s 2017 Open Source Survey.
Information related to computer programming
“Erlang has single-assignment variables. As the name suggests, they can be given a value only once. If you try to change the value of a variable once it has been set, you’ll get an error.”
(“Single-assignment variables” are the same as
val fields in Scala. Using them can make your code more like algebra.)
“In Erlang, processes share no memory and can interact with each other only by sending messages. This is exactly how objects in the real world behave.”
“Processes interact by one method, and one method only, by exchanging messages. Processes share no data with other processes. This is the reason why we can easily distribute Erlang programs over multicores or networks.”
Joe Armstrong, in his book,
Programming Erlang: Software for a Concurrent World
“In Erlang (Akka), it’s OK to mutate state within an individual process (actor), but not for one process to tinker with the state of another process.”
“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.
“Everyday life is like programming, I guess. If you love something, you can put beauty into it.”
~ Donald Knuth
This is a good post from 2014 titled, 44 engineering management lessons.
Tried to use someone’s software library.
Documentation was bad, couldn’t get it to work.
Used someone else’s.
“If testing costs more than not testing, don’t test.”
~ Kent Beck (via this twitter page)