After some time away after writing Seven More Languages, I spent some time with @JeffBezanson, a co-creator of @JuliaLanguage and could immediately see some of the reasons the language was successful.
Read this thread. Where am I right? What am I missing?
more ->
The team has a firm grasp on what it takes to make a language successful, especially understanding the core audience. It's here where #JuliaLang shines. Here are four things that @JeffBezanson, @Viral_B_Shah, @StefanKarpinski, and @JuliaComputing (Alan Edelman) got right:
Jul 29, 2020 • 5 tweets • 2 min read
Today I am working through the final written chapters for #ProgrammerPassport LiveView. Some of you have asked why we're covering so much Elixir in a program for programming language exploration
more >
Programmer Passport exists to help developers accelerate their careers by guiding them to make intellectual breakthroughs in computer science.
Call it guided curiosity.
Developers who hunger to learn progress faster. We nurture that.
Services separate a functional core (schema(s) and pure-ish module(s) in a context directory)
boundary is in a *context*.
Changesets get created in an ecto *schema* and applied in a *context*.
Nov 2, 2019 • 9 tweets • 2 min read
Goose bumps.
I am preparing my talk for India's FP conf and ran across some quotes from Joe Armstrong passage. I read them avidly. Bear with me as I list a few of them. Tweaked slightly to fit the twitter format.
“The next programmer we hire must read all of ‘A la recherche du temps perdu.”’
“All seven volumes?”
“Yes.”
“Will it make them better at punctuation and make them get their quotes right?”
“Not necessarily, but it will make them a better programmer. It’s a Zen thing....”
1. The shorthand sigil syntax is great for structs.
defmodule User do
destruct ~w[name email]a
end
The ~w is a sigil with an array of words; the trailing a makes these atoms; the [] instead of () is a valid use of delimiters.
2. Structs are maps, with one extra key:
u = %User{}
-> %User{email: nil, name: nil}
Map.keys u
-> [:__struct__, :email, :name]
u.__struct__
-> User